4pane-5.0/ 0000755 0001750 0001750 00000000000 13130460752 007367 5 0000000 0000000 4pane-5.0/Tools.cpp 0000644 0001750 0001750 00000554361 13107333621 011127 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Tools.cpp
// Purpose: Find/Grep/Locate, Terminal Emulator
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h"
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/app.h"
#include "wx/frame.h"
#include "wx/xrc/xmlres.h"
#include "wx/spinctrl.h"
#include "wx/splitter.h"
#include
#include "wx/dragimag.h"
#include "wx/config.h"
#include
#include
#include "Externs.h"
#include "Tools.h"
#include "MyDirs.h"
#include "MyFiles.h"
#include "MyGenericDirCtrl.h"
#include "MyFrame.h"
#include "Filetypes.h"
#include "Accelerators.h"
#include "Misc.h"
#include
#include
#if defined __WXGTK__
#include
#endif
bool CreateLink(const wxString& oldname, const wxString& newname, bool MakeHardlink) // Encapsulates creating a link. Used also in rename, move etc
{
wxCHECK_MSG(!oldname.empty() && !newname.empty(), false, wxT("An empty name passed"));
FileData stat(newname);
if (stat.IsValid()) // First check there isn't already a filepath of this name
{ wxMessageBox(_("There is already a file with this name in the destination path. Sorry"), wxT("4Pane"), wxOK | wxCENTRE, MyFrame::mainframe->GetActivePane()); return false; }
wxString dpath(newname.BeforeLast(wxFILE_SEP_PATH)); // Now check for permission to write to the destination dir
if (dpath.empty()) dpath = wxT("/"); // This would happen if trying to create a link in '/'
FileData destpath(dpath);
if (!destpath.CanTHISUserWriteExec())
{ wxMessageBox(_("I'm afraid you lack permission to write to the destination directory. Sorry"), wxT("4Pane"), wxOK | wxCENTRE, MyFrame::mainframe->GetActivePane()); return false; }
if (MakeHardlink) // There are a couple of constraints on hardlink creation
{ bool failed = false; wxString msg;
FileData originfd(oldname);
if (originfd.IsDir()) { failed = true; msg = _("You cannot make a hardlink to a directory."); }
if (originfd.GetDeviceID() != destpath.GetDeviceID()) { failed = true; msg = _("You cannot make a hardlink to a different device or partition."); }
if (failed)
{ wxMessageDialog ask(MyFrame::mainframe->GetActivePane(), msg+_("\nWould you like to make a symlink instead?"), wxString(_("No can do")), wxYES_NO | wxICON_QUESTION );
if (ask.ShowModal() != wxID_YES) return false;
else MakeHardlink = false;
}
}
int answer;
if (!MakeHardlink) answer = symlink(oldname.mb_str(wxConvUTF8), newname.mb_str(wxConvUTF8)); // Makes the link. If successful returns false, otherwise -1
else answer = link(oldname.mb_str(wxConvUTF8), newname.mb_str(wxConvUTF8));
return (answer==0);
}
bool CreateSymlinkWithParameter(wxString oldname, wxString newname, enum changerelative rel) // CreateSymlink() with the option of changing from abs<->relative
{
if (rel == nochange) return CreateSymlink(oldname, newname); // No change, so just relay to CreateSymlink()
wxString path = newname.BeforeLast(wxFILE_SEP_PATH);
wxFileName fn(oldname);
if (rel == makerelative && fn.IsAbsolute()) // Otherwise make any necessary alterations, then do so
if (fn.MakeRelativeTo(path)==false) return false;
if (rel == makeabsolute && fn.IsRelative())
if (fn.MakeAbsolute(path)==false) return false;
return CreateSymlink(fn.GetFullPath(), newname);
}
bool CreateSymlink(wxString oldname, wxString newname) // Encapsulates creating a symlink
{
return CreateLink(oldname, newname, false);
}
bool CreateHardlink(wxString oldname, wxString newname) // Encapsulates creating a Hardlink
{
return CreateLink(oldname, newname, true);
}
int _CheckForSu(const wxString& command) // Used by TerminalEm::CheckForSu and LaunchMiscTools::Run
{
if (command.IsEmpty()) return 0;
// Returns 0 for 'su', so the caller should abort; 1 for a standard command; 2 for su -c or sudo, which requires ExecuteInPty()
wxString cmd(command); cmd.Trim().Trim(false);
if ((cmd == wxT("su")) || (cmd == wxT("sudo su")) || (cmd == wxT("sudo bash")))
return 0;
if ((cmd.Left(3) == wxT("su ") && (cmd.Mid(3).Trim(false).Left(3) == wxT("-c ")) && (!cmd.Mid(3).Trim(false).Left(3).Trim(false).empty()))
|| cmd.Left(5) == (wxT("sudo ")))
{ return 2; } // It's a su -c or a sudo command
return 1; // If we're here, it's a standard command
}
//-----------------------------------------------------------------------------------------------------------------------
void MyPipedProcess::SendOutput() // Sends user input from the terminal to a running process
{
if (InputString.IsEmpty()) return;
InputString += '\n'; // The \n was swallowed by the textctrl, so add it back here (otherwise the stream blocks)
wxTextOutputStream os(*GetOutputStream()); // Make a text-stream & send it the string
os.WriteString(InputString);
InputString.Clear(); // Clear the string ready for more input
}
bool MyPipedProcess::HasInput() // The following methods are adapted from the exec sample. This one manages the stream redirection
{
char c;
bool hasInput = false;
// The original used wxTextInputStream to read a line at a time. Fine, except when there was no \n, whereupon the thing would hang
// Instead, read the stream (which may occasionally contain non-ascii bytes e.g. from g++) into a memorybuffer, then to a wxString
while (IsInputAvailable()) // If there's std input
{ wxMemoryBuffer buf;
do
{ c = GetInputStream()->GetC(); // Get a char from the input
if (GetInputStream()->Eof()) break; // Check we've not just overrun
buf.AppendByte(c);
if (c==wxT('\n')) break; // If \n, break to print the line
}
while (IsInputAvailable()); // Unless \n, loop to get another char
wxString line((const char*)buf.GetData(), wxConvUTF8, buf.GetDataLen()); // Convert the line to utf8
text->AddInput(line); // Either there's a full line in 'line', or we've run out of input. Either way, print it
matches = true;
hasInput = true;
}
while (IsErrorAvailable()) // Ditto with std error
{ wxMemoryBuffer buf;
do
{ c = GetErrorStream()->GetC();
if (GetErrorStream()->Eof()) break;
buf.AppendByte(c);
if (c==wxT('\n')) break;
}
while (IsErrorAvailable());
wxString line((const char*)buf.GetData(), wxConvUTF8, buf.GetDataLen());
text->AddInput(line);
matches = true;
hasInput = true;
}
return hasInput;
}
void MyPipedProcess::OnTerminate(int pid, int status) // When the subprocess has finished, show the rest of the output
{
while (HasInput()) ;
if (!matches && DisplayMessage) // If there was no other output, emit a polite message if this is appropriate ie from find, not terminal
{ (*text) << _("Sorry, no match found.");
if (!(rand() % 10))
(*text) << _(" Have a nice day!\n");
else (*text) << wxT("\n");
}
text->OnProcessTerminated(this);
}
void MyPipedProcess::OnKillProcess()
{
if (!m_pid) return;
// Take the pid we stored earlier & kill it. SIGTERM seems to work now we use wxEXEC_MAKE_GROUP_LEADER and wxKILL_CHILDREN
wxKillError result = Kill(m_pid, wxSIGTERM, wxKILL_CHILDREN);
if (result == wxKILL_OK)
{ while (HasInput()); // Flush out any outstanding results before we boast
(*text) << _("Process successfully aborted\n");
}
else
{ (*text) << _("SIGTERM failed\nTrying SIGKILL\n"); // If we could be bothered, result holds the index in an enum that'd tell us why it failed
result = Kill(m_pid, wxSIGKILL, wxKILL_CHILDREN); // Fight dirty
if (result == wxKILL_OK)
{ while (HasInput());
(*text) << _("Process successfully killed\n");
}
else
{ (*text) << _("Sorry, Cancel failed\n"); }
}
}
void MyBottomPanel::OnButtonPressed(wxCommandEvent& event)
{
int id = event.GetId();
if (id == XRCID("DoItBtn"))
{ switch(tool->WhichTool)
{ case locate: tool->Locate(); return;
case find: tool->DoFind(); return;//tool->FindOrGrep(wxT("find")); return;
case grep: tool->DoGrep(); return;
default: return;
}
}
if (id == XRCID("Clear")) { tool->Clear(); tool->text->SetFocus(); return; }
if (id == XRCID("Close")) { tool->Close(); return; }
if (id == XRCID("Cancel")) { tool->text->OnCancel(); tool->text->SetFocus(); return; }
}
IMPLEMENT_DYNAMIC_CLASS(MyBottomPanel,wxPanel)
BEGIN_EVENT_TABLE(MyBottomPanel,wxPanel)
EVT_BUTTON(wxID_ANY, MyBottomPanel::OnButtonPressed)
END_EVENT_TABLE()
void ReplaceMenuitemLabel(int menu_id, const wxString& oldstring, const wxString& newstring)
{
wxCHECK_RET(!(oldstring.IsEmpty() || newstring.IsEmpty()), wxT("Invalid string parameter"));
// I'd originally tried to use wxMenu::GetLabel to get the current label
// However in AccelList->GetEntry(menu_id);
wxCHECK_RET(entry, wxT("The menuitem id wasn't found"));
wxString label = entry->GetLabel();
wxCHECK_RET(!label.IsEmpty(), wxT("No label??"));
label.Replace(oldstring, newstring, false);
// Don't check that a replacement occurred; it won't if we're returning to the original situation
label = AcceleratorList::ConstructLabel(entry, label); // Add the shortcut
MyFrame::mainframe->GetMenuBar()->SetLabel(menu_id, label);
}
const wxChar* Tools::FindSubpathArray[] = { wxT("PathCombo"), wxT("name"), wxT("NewerFile"), wxT("ExecCmd"),
wxT("ExcludePattern"), wxT("IncludePattern"), wxT("SearchPattern"), wxT("PathGrep") };
Tools::Tools(LayoutWindows* layout) : Layout(layout)
{
WhichTool = null; // Reset WhichTool here, so we can use its nullness as a test for current tool existence
ToolNamesArray.Add(wxT("locate"));
ToolTipsArray.Add(_("Run the 'locate' dialog"));
ToolNamesArray.Add(wxT("find"));
ToolTipsArray.Add(_("Run the 'find' dialog"));
ToolNamesArray.Add(wxT("grep"));
ToolTipsArray.Add(_("Run the 'grep' dialog"));
historylist[0] = &Paths; // Load the historylist array, to facilitate use in loops
historylist[1] = &Name;
historylist[2] = &NewerFile;
historylist[3] = &ExecCmd;
historylist[4] = &ExcludePattern;
historylist[5] = &IncludePattern;
historylist[6] = &Pattern;
historylist[7] = &PathGrep;
}
Tools::~Tools()
{
SaveHistory();
}
void Tools::Init(enum toolchoice toolindex)
{
if (WhichTool != toolindex) // First check to ensure we're not trying to load the already-loaded panel!
{ if (WhichTool != null) // If !null, there's a different one currently loaded. So remove it
{ SaveHistory(); History.Clear(); // Save then clear the current history to avoid cross-contamination
Layout->bottompanel->GetSizer()->Detach(bottom);
}
// Load the control-panel to go onto the bottompanel pane
bottom = (MyBottomPanel*)wxXmlResource::Get()->LoadPanel(Layout->bottompanel, wxT("Locate"));
bottom->Init(this);
Layout->bottompanel->GetSizer()->Add(bottom, 1, wxEXPAND);
Layout->bottompanel->GetSizer()->Layout();
text = (TerminalEm*)(bottom->FindWindow(wxT("text")));
text->multiline = true; text->Init(); // We want this to be the multiline version. Xrc doesn't call the real ctor, so do it here. Ditto Init
wxWindow* Cancel = bottom->FindWindow(XRCID("Cancel"));
if (Cancel) Cancel->Disable(); // Start with the Cancel button disabled
WhichTool = toolindex; // Save toolindex in case of re-entry
LoadHistory(); // Load the relevant command history into the array
Layout->EmulatorShowing = true; // Flag to parent that there's an emulator here to receive cd.s
ReplaceMenuitemLabel(SHCUT_TERMINAL_EMULATOR, _("Show"), _("Hide")); // Change the menuitem from Show to Hide
}
switch(toolindex)
{ case locate: (bottom->FindWindow(wxT("DoItBtn")))->SetLabel(ToolNamesArray[toolindex]); // Rename the button to 'locate'
(bottom->FindWindow(wxT("DoItBtn")))->SetToolTip(ToolTipsArray[toolindex]);
Locate(); return;
case find: (bottom->FindWindow(wxT("DoItBtn")))->SetLabel(ToolNamesArray[toolindex]); // Rename the button to 'find'
(bottom->FindWindow(wxT("DoItBtn")))->SetToolTip(ToolTipsArray[toolindex]);
DoFind(); return;
case grep: (bottom->FindWindow(wxT("DoItBtn")))->SetLabel(ToolNamesArray[toolindex]); // Rename the button to 'grep'
(bottom->FindWindow(wxT("DoItBtn")))->SetToolTip(ToolTipsArray[toolindex]);
DoGrep(); return; // This does either QuickGrep or ordinary Grep
case terminalem: (bottom->FindWindow(wxT("DoItBtn")))->Show(false);
text->SetFocus();
return;
case cmdline: (bottom->FindWindow(wxT("DoItBtn")))->Show(false); // Hide the button
CommandLine(); // Set up the command-line
Layout->commandline->SetOutput(text); // Tell it where its output should go
Layout->commandline->SetFocus();
return;
default: return;
}
}
void Tools::LoadHistory() // Load the relevant history into the stringarray & combobox
{
if (WhichTool > grep) return; // as the terminal/commandline history is dealt with separately
config = wxConfigBase::Get(); // Find the config data
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
wxString subpath = ToolNamesArray[WhichTool]; // Use this name to create the config path eg /History/Locate
config->SetPath(wxT("/History/") + subpath + wxT("/"));
size_t count = config->GetNumberOfEntries();
if (!count) { config->SetPath(wxT("/")); return; }
wxString item, key, histprefix(wxT("hist_"));
for (size_t n=0; n < count; ++n) // Create the key for every item, from hist_a to hist_('a'+count-1)
{ wxLogNull PreventWarningsAboutFailedEnvironmentExpansion; // which can happen from wxExpandEnvVars() with unusual grep strings
key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Read(histprefix+key, &item); // Load the entry
if (item.IsEmpty()) continue;
History.Add(item); // Store it in the array
}
LoadSubHistories();
config->SetPath(wxT("/"));
}
void Tools::LoadSubHistories() // Load histories for Find & Grep comboboxes
{
for (size_t i=0; i < 4; ++i)
{ wxString name = FindSubpathArray[i]; // The 'XRCID' string of the combobox to load eg PathCombo
config->SetPath(wxT("/History/Find/") + name); // Use this name to create the config path eg /History/Find/PathCombo
historylist[i]->Clear(); // This is where the data will be stored. Clear in case this is a reload
size_t count = config->GetNumberOfEntries();
if (!count) continue;
wxString item, key, histprefix(wxT("hist_"));
for (size_t n=0; n < count; ++n) // Create the key for every item, from hist_a to hist_('a'+count-1)
{ wxLogNull PreventWarningsAboutFailedEnvironmentExpansion; // which can happen from wxExpandEnvVars() with unusual grep strings
key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Read(histprefix+key, &item);
if (item.IsEmpty()) continue;
historylist[i]->Add(item); // Store it in correct array
}
}
for (size_t i=4; i < 8; ++i)
{ wxString name = FindSubpathArray[i]; // The 'XRCID' string of the combobox to load eg PathCombo
config->SetPath(wxT("/History/Grep/") + name); // Use this name to create the config path eg /History/Find/PathCombo
historylist[i]->Clear(); // This is where the data will be stored. Clear in case this is a reload
size_t count = config->GetNumberOfEntries();
if (!count) continue;
wxString item, key, histprefix(wxT("hist_"));
for (size_t n=0; n < count; ++n)
{ wxLogNull PreventWarningsAboutFailedEnvironmentExpansion; // which can happen from wxExpandEnvVars() with unusual grep strings
key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Read(histprefix+key, &item);
if (item.IsEmpty()) continue;
historylist[i]->Add(item);
}
}
}
void Tools::SaveHistory() // Save the relevant command history
{
if (WhichTool > grep) return; // as their histories are dealt with separately
config = wxConfigBase::Get();
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
wxString subpath = ToolNamesArray[ WhichTool ]; // Use this name to create the config path eg /History/Locate
config->DeleteGroup(wxT("/History/") + subpath); // Delete current info, otherwise we'll end up with duplicates or worse
subpath += wxT("/"); // Now we can add a '/'. DeleteGroup would have failed if it was there
config->SetPath(wxT("/History/") + subpath);
size_t count = wxMin(History.GetCount(), MAX_COMMAND_HISTORY); // Count the entries to be saved: not TOO many
if (!count) { config->SetPath(wxT("/")); return; }
wxString item, key, histprefix(wxT("hist_")); // Create the key for every item, from hist_a to hist_('a'+count-1)
for (size_t n=0; n < count; ++n) // The newest command is stored at the beginning of the array
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Write(histprefix+key, History[n]); // Save the entry
}
SaveSubHistories(); // Save histories for Find & Grep comboboxes
config->Flush();
config->SetPath(wxT("/"));
}
void Tools::SaveSubHistories() // Save histories for Find & Grep comboboxes
{
for (size_t i=0; i < 4; ++i) // Find
{ wxString name = FindSubpathArray[i]; // The 'XRCID' string of the combobox to load eg PathCombo
config->SetPath(wxT("/History/Find/") + name); // Use this name to create the config path eg /History/Find/PathCombo
size_t count = wxMin(historylist[i]->GetCount(), MAX_COMMAND_HISTORY); // Count the entries to be saved: not TOO many
if (!count) continue;
wxString item, key, histprefix(wxT("hist_"));
for (size_t n=0; n < count; ++n) // Create the key for every item, from hist_a to hist_('a'+count-1)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Write(histprefix+key,(*historylist[i])[n]); // Save the entry
}
}
for (size_t i=4; i < 8; ++i) // Grep
{ wxString name = FindSubpathArray[i];
config->SetPath(wxT("/History/Grep/") + name);
size_t count = wxMin(historylist[i]->GetCount(), MAX_COMMAND_HISTORY); // Count the entries to be saved: not TOO many
if (!count) continue;
wxString item, key, histprefix(wxT("hist_"));
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Write(histprefix+key,(*historylist[i])[n]);
}
}
}
void Tools::Close()
{
text->OnCancel(); // In case we were doing a lengthy Locate etc, this cancels it, avoiding leaving it chugging away in the background
Layout->EmulatorShowing = false; // Tell parent that there's no point sending more cd.s
ReplaceMenuitemLabel(SHCUT_TERMINAL_EMULATOR, _("Hide"), _("Show")); // Change the menuitem to Hide from Show
if (Layout->CommandlineShowing) // If there's a command-line, this needs to be removed, otherwise repeated entry will create duplicates
{ Layout->ShowHideCommandLine();
if (Layout->commandlinepane->GetSizer()->Detach(Layout->commandline))
{ Layout->commandline->Destroy(); Layout->commandline = NULL; }
ReplaceMenuitemLabel(SHCUT_COMMANDLINE, _("Hide"), _("Show")); // Change the menuitem to Hide from Show
}
wxGetApp().GetFocusController().Invalidate(text);
Layout->bottompanel->GetSizer()->Detach(bottom); // Remove the tool panel
Layout->CloseBottom(); // Tell parent to shut up shop. This also saves the command history
// If the terminalem had keyboard focus, it was retaining it even when shut, -> rare segfaults. So return it to the active pane, or somewhere else that still exists
MyFrame::mainframe->SetSensibleFocus();
}
void Tools::Clear()
{
text->OnClear();
}
void Tools::Locate()
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe, wxT("LocateDlg"));
LoadPreviousSize(&dlg, wxT("LocateDlg"));
combo = ((wxComboBox*)dlg.FindWindow(wxT("searchstring")));
for (size_t n=0; n < History.GetCount(); ++n) // Fill combobox from the command history array
combo->Append(History[n]);
combo->SetSelection(History.GetCount()-1); // Needed to make the Down key call up the 1st history item
combo->SetValue(wxT("")); // We don't want at history entry showing, so clear the textctrl
HelpContext = HCsearch;
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("LocateDlg"));
if (result != wxID_OK) { HelpContext = HCunknown; return; }
HelpContext = HCunknown;
wxString selection = combo->GetValue();
if (selection.IsEmpty()) return;
int index = History.Index(selection, false); // See if this command already exists in the history array
if (index != wxNOT_FOUND)
History.RemoveAt(index); // If so, remove it. We'll add it back into position zero
History.Insert(selection, 0); // Either way, insert into position zero
combo->Clear(); // We want to add it to the front of the combobox too. Since there isn't an Insert() method, we have to redo from scratch
for (size_t n=0; n < History.GetCount(); ++n) combo->Append(History[n]);
combo->SetValue(wxT("")); // We don't want the 1st history entry showing, so clear the textctrl
wxString options; // See if any options were checked
if (((wxCheckBox*)dlg.FindWindow(wxT("Existing")))->IsChecked()) options << wxT("-e ");
if (((wxCheckBox*)dlg.FindWindow(wxT("Ignore")))->IsChecked()) options << wxT("-i ");
if (((wxCheckBox*)dlg.FindWindow(wxT("Basename")))->IsChecked()) options << wxT("-b ");
if (((wxCheckBox*)dlg.FindWindow(wxT("Regex")))->IsChecked()) options << wxT("-r ");
wxString command(wxT("locate ")); command << options ; // Construct the command
command << wxT('"') << selection << wxT('"');
text->HistoryAdd(command);
text->RunCommand(command);
text->SetFocus();
}
void Tools::DoFind()
{
bool quicktype = (WHICHFIND == PREFER_QUICKFIND);
while (1) // There are now 2 find alternatives: Quickfind for everyday use, and the original full find for special occasions
if (quicktype)
{ HelpContext = HCsearch;
QuickFindDlg dlg;
{
wxLogNull NoLogErrorWithStaleXrcFile;
if (!wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe, wxT("QuickFindDlg")))
{ quicktype = false; continue; } // If the dialog didn't load we may be using a pre-5.0 xrc file. Revert to the standard FullFind
}
LoadPreviousSize(&dlg, wxT("QuickFindDlg"));
dlg.Init(this);// dlg.Centre();
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("QuickFindDlg"));
if (result == XRCID("FullFind"))
{ quicktype = false; continue; } // If the FullFind button was pressed, try again with this
HelpContext = HCunknown; return; // Otherwise something must have gone right, so return
}
else
{ if (FindOrGrep(wxT("find")) == XRCID("QuickFind"))
{ quicktype = true; continue; } // If the QuickFind button was pressed, try again with this
return;
}
}
void Tools::DoGrep()
{
bool quicktype = (WHICHGREP == PREFER_QUICKGREP);
while (1) // There are now 2 grep alternatives: Quickgrep for everyday use, and the original full grep for special occasions
if (quicktype)
{ HelpContext = HCsearch;
QuickGrepDlg dlg; wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe, wxT("QuickGrepDlg"));
LoadPreviousSize(&dlg, wxT("QuickGrepDlg"));
dlg.Init(this);// dlg.Centre();
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("QuickGrepDlg"));
if (result == XRCID("FullGrep"))
{ quicktype = false; continue; } // If the FullGrep button was pressed, try again with this
HelpContext = HCunknown; return; // Otherwise something must have gone right, so return
}
else
{ if (FindOrGrep(wxT("grep")) == XRCID("QuickGrep"))
{ quicktype = true; continue; } // If the QuickGrep button was pressed, try again with this
return;
}
}
int Tools::FindOrGrep(const wxString commandstart)
{
MyFindDialog dlg;
if (commandstart == wxT("find"))
{ wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe, wxT("FindDialog")); // Use the frame as parent, otherwise in 2.8.0 the dialog position is wrong
LoadPreviousSize(&dlg, wxT("FindDialog"));
}
else
{ wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe,wxT("GrepDialog")); // Use the frame as parent, also as otherwise after the RegEx help dialog the focus window is wrong. ?Why
LoadPreviousSize(&dlg, wxT("GrepDialog"));
}
dlg.Init(this, commandstart);
combo = (wxComboBox*)dlg.FindWindow(wxT("searchstring"));
dlg.Show(); // After 2.5.3, the new method of wxWindow sizing means that a long history string in a combobox will expand the box outside the notebook! So Show() it before adding the data
if (commandstart == wxT("find"))
((MyFindNotebook*)dlg.FindWindow(wxT("Nbk")))->Init(this, combo);
else
((MyGrepNotebook*)dlg.FindWindow(wxT("Nbk")))->Init(this, combo);
#if ! defined(__WXGTK20__)
combo->Append(commandstart); // We don't want the 1st history entry showing, so (inelegantly) insert a 'blank' entry 1st, to be followed by user input (this stopped happening after 2.7.0)
#endif
for (size_t n=0; n < History.GetCount(); ++n) // Fill combobox from the command history array
combo->Append(History[n]);
#if (defined(__WXGTK20__) || defined(__WXX11__))
combo->SetValue(commandstart); // >2.7.0 needs "find" (or "grep") to be specifically entered
#endif
HelpContext = HCsearch;
int ans = dlg.ShowModal();
if (commandstart == wxT("find")) SaveCurrentSize(&dlg, wxT("FindDialog"));
else SaveCurrentSize(&dlg, wxT("GrepDialog"));
HelpContext = HCunknown;
if (ans != wxID_OK) { return ans; }
wxString selection = combo->GetValue();
if (selection == commandstart) return -1;
int index = History.Index(selection, false); // See if this command already exists in the history array
if (index != wxNOT_FOUND)
History.RemoveAt(index); // If so, remove it. We'll add it back into position zero
History.Insert(selection, 0); // Either way, insert into position zero
combo->Clear(); // We want to add it to the front of the combobox too. Since there isn't an Insert() method, we have to redo from scratch
combo->Append(commandstart); // See above
for (size_t n=0; n < History.GetCount(); ++n) combo->Append(History[n]);
if (commandstart == wxT("grep")) // Grep can't expand its own filepaths with wildcards, so run it with a shell
{ selection = wxT("sh -c \"") + selection; selection += wxT('\"'); }
text->HistoryAdd(selection);
text->RunCommand(selection);
text->SetFocus();
return -1; // We don't care about the return value here: it's only read for the Quick-Grep button
}
void Tools::CommandLine()
{
Layout->commandline = new TerminalEm(Layout->commandlinepane,-1,wxT(""), false);
Layout->commandlinepane->GetSizer()->Add(Layout->commandline, 1, wxEXPAND);
Layout->commandlinepane->GetSizer()->Layout();
ReplaceMenuitemLabel(SHCUT_COMMANDLINE, _("Show"), _("Hide")); // Change the menuitem from Show to Hide
}
//-----------------------------------------------------------------------------------------------------------------------
void MyFindDialog::OnClearButtonPressed(wxCommandEvent& event)
{
parent->combo->SetValue(commandstart);
}
BEGIN_EVENT_TABLE(MyFindDialog, wxDialog)
EVT_BUTTON(XRCID("Clear"), MyFindDialog::OnClearButtonPressed)
EVT_BUTTON(XRCID("QuickFind"), MyFindDialog::OnQuickGrep) // sic
EVT_BUTTON(XRCID("QuickGrep"), MyFindDialog::OnQuickGrep)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
#if wxVERSION_NUMBER < 2900
DEFINE_EVENT_TYPE(MyFindGrepEvent) // An eventtype to post when a delayed SetFocus is needed
#else
wxDEFINE_EVENT(MyFindGrepEvent, wxCommandEvent);
#endif
IMPLEMENT_DYNAMIC_CLASS(MyFindNotebook, wxNotebook)
IMPLEMENT_DYNAMIC_CLASS(MyGrepNotebook, wxNotebook)
const wxChar* MyFindNotebook::OptionsStrings[] = { wxT("-daystart"), wxT("-depth"), wxT("-follow"), wxT("-noleaf"), wxT("-xdev"), wxT("-help") };
const wxChar* MyFindNotebook::OperatorStrings[] = { wxT("-a"), wxT("-o"), wxT("-not"), wxT("\\("), wxT("\\)"), wxT(",") };
const wxChar* MyFindNotebook::NameStrings4[] = { wxT("-name "), wxT("-iname "), wxT("-lname "), wxT("-ilname "), wxT("-path "), /* The pre-5.0 order */
wxT("-ipath "), wxT("-regex "), wxT("-iregex ") };
const wxChar* MyFindNotebook::NameStrings5[] = { wxT("-name "), wxT("-iname "), wxT("-path "), wxT("-ipath "),
wxT("-regex "), wxT("-iregex "), wxT("-lname "), wxT("-ilname ") };
const wxChar* MyFindNotebook::SizeStrings[] = { wxT("-empty") };
const wxChar* MyFindNotebook::OwnerStrings[] = { wxT("-nouser"), wxT("-nogroup") };
const wxChar* MyFindNotebook::OwnerStaticStrings[] = { wxT("PermStatic1"), wxT("PermStatic2"), wxT("PermStatic3"), wxT("PermStatic4"), wxT("PermStatic5"), wxT("PermStatic6"), wxT("PermStatic7"), wxT("PermStatic8") };
const wxChar* MyFindNotebook::OwnerPermissionStrings[] = { wxT("UserRead"), wxT("GroupRead"), wxT("OtherRead"), wxT("UserWrite"), wxT("GroupWrite"), wxT("OtherWrite"),
wxT("UserExec"), wxT("GroupExec"), wxT("OtherExec"), wxT("Suid"), wxT("Sguid"), wxT("Sticky") };
unsigned int MyFindNotebook::OwnerPermissionOctal[] = { 0400,040,04, 0200,020,02, 0100,010,01, 04000,02000,01000 };
const wxChar* MyFindNotebook::ActionStrings[] = { wxT("-print"), wxT("-print0"), wxT("-ls"), wxT("-exec %s \\{\\} \\;"), wxT("-ok %s \\{\\} \\;"),
wxT("-printf"), wxT("-fls"), wxT("-fprint"), wxT("-fprint0"), wxT("-fprintf") };
void MyFindNotebook::Init(Tools* dad, wxComboBox* searchcombo)
{
parent = dad;
combo = searchcombo;
GetXRCIDsIntoArrays();
int n = (int)Path;
do ClearPage((enum pagename)n++);
while ((n+1) <= (int)Actions);
LoadCombosHistory();
currentpage = Path;
DataToAdd = false;
Connect(wxID_ANY, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, (wxObjectEventFunction)&MyFindNotebook::OnPageChanging);
}
void MyFindNotebook::GetXRCIDsIntoArrays() // Life becomes easier if we can access the XRCID values by looping thru an array
{
PathArray.Add(XRCID("PathCurrentDir"));
PathArray.Add(XRCID("PathHome"));
PathArray.Add(XRCID("PathRoot"));
OptionsArray.Add(XRCID("Daystart"));
OptionsArray.Add(XRCID("Depth"));
OptionsArray.Add(XRCID("Follow"));
OptionsArray.Add(XRCID("Noleaf"));
OptionsArray.Add(XRCID("Xdev"));
OptionsArray.Add(XRCID("Help"));
OptionsArray.Add(XRCID("Maxdepth"));
OptionsArray.Add(XRCID("Mindepth"));
OperatorArray.Add(XRCID("And"));
OperatorArray.Add(XRCID("Or"));
OperatorArray.Add(XRCID("Not"));
OperatorArray.Add(XRCID("OpenBracket"));
OperatorArray.Add(XRCID("CloseBracket"));
OperatorArray.Add(XRCID("List"));
TimeArray.Add(XRCID("TimePlain"));
TimeArray.Add(XRCID("Newer"));
TimeArray.Add(XRCID("LastAccess"));
SizeArray.Add(XRCID("SizeEmpty"));
SizeArray.Add(XRCID("Size"));
SizeArray.Add(XRCID("Filetype"));
OwnerArray.Add(XRCID("NoUser"));
OwnerArray.Add(XRCID("NoGroup"));
OwnerArray.Add(XRCID("Owner"));
OwnerArray.Add(XRCID("Permissions"));
ActionArray.Add(XRCID("Print"));
ActionArray.Add(XRCID("Print0"));
ActionArray.Add(XRCID("ls"));
ActionArray.Add(XRCID("Exec"));
ActionArray.Add(XRCID("ok"));
ActionArray.Add(XRCID("Printf"));
ActionArray.Add(XRCID("Fls"));
ActionArray.Add(XRCID("Fprint"));
ActionArray.Add(XRCID("Fprint0"));
ActionArray.Add(XRCID("Fprintf"));
}
void MyFindNotebook::LoadCombosHistory() // Load the relevant history-arrays into comboboxes
{
wxComboBox* cbox;
for (size_t c=0; c < 4; ++c) // For every combobox in the array-list
{ cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[c]);
wxArrayString* History = parent->historylist[c];// The history-array that goes with this combobox
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) // Fill combobox from the corresponding history array
cbox->Append((*History)[n]);
}
}
void MyFindNotebook::SaveCombosHistory(int which) // Save the relevant command history into their arrays
{
wxComboBox* cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[which]);
wxArrayString* History = parent->historylist[which];// The history-array that goes with this combobox
wxString string = cbox->GetValue(); // Get the visible string
if (string.IsEmpty()) return;
int index = History->Index(string, false); // See if this entry already exists in the history array
if (index != wxNOT_FOUND)
History->RemoveAt(index); // If so, remove it. We'll add it back into position zero
History->Insert(string, 0); // Either way, insert into position zero
// Lastly, reload cbox. This adds the new item in the correct position
cbox->Clear();
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) cbox->Append((*History)[n]);
}
void MyFindNotebook::ClearPage(enum pagename page, int exceptthisitem /*=-1*/)
{
switch(page)
{ case Path: for (int n=0; n < (int)PathArray.GetCount(); ++n) // For every checkbox
if (PathArray[n] != exceptthisitem) // (if it's not one we want to ignore)
((wxCheckBox*)FindWindow(PathArray[n]))->SetValue(false); // disable.
((wxComboBox*)FindWindow(wxT("PathCombo")))->SetValue(wxT("")); // Clear the combo textctrl
return;
case Options:for (int n=0; n < (int)OptionsArray.GetCount(); ++n) // For every checkbox
((wxCheckBox*)FindWindow(OptionsArray[n]))->SetValue(false); // disable.
((wxSpinCtrl*)FindWindow(wxT("maxdepthspin")))->Enable(false); // Disable the spinctrls
((wxSpinCtrl*)FindWindow(wxT("mindepthspin")))->Enable(false);
return;
case Operators: for (int n=0; n < (int)OperatorArray.GetCount(); ++n)
if (OperatorArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(OperatorArray[n]))->SetValue(false);
return;
case Name: ((wxComboBox*)FindWindow(wxT("name")))->SetValue(wxT(""));
((wxRadioBox*)FindWindow(wxT("Nametype")))->SetSelection(0);
((wxRadioButton*)FindWindow(wxT("PruneReturn")))->SetValue(true);
((wxCheckBox*)FindWindow(wxT("IgnoreCase")))->SetValue(false);
return;
case Time: for (int n=0; n < (int)TimeArray.GetCount(); ++n)
if (TimeArray[n] != exceptthisitem) ((wxCheckBox*)FindWindow(TimeArray[n]))->SetValue(false);
((wxRadioButton*)FindWindow(wxT("TimeAccessMod")))->SetValue(true);
((wxRadioButton*)FindWindow(wxT("TimeMore")))->SetValue(true);
((wxSpinCtrl*)FindWindow(wxT("TimeSpin")))->SetValue(0);
((wxRadioButton*)FindWindow(wxT("TimeDays")))->SetValue(true);
((wxRadioButton*)FindWindow(wxT("NewerMod")))->SetValue(true);
((wxComboBox*)FindWindow(wxT("NewerFile")))->SetValue(wxT(""));
((wxRadioButton*)FindWindow(wxT("LastMore")))->SetValue(true);
((wxSpinCtrl*)FindWindow(wxT("LastSpin")))->SetValue(0);
return;
case Size: for (int n=0; n < (int)SizeArray.GetCount(); ++n)
if (SizeArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(SizeArray[n]))->SetValue(false);
((wxRadioButton*)FindWindow(wxT("SizeMore")))->SetValue(true);
((wxSpinCtrl*)FindWindow(wxT("SizeSpin")))->SetValue(0);
((wxRadioButton*)FindWindow(wxT("DimensionKB")))->SetValue(true);
((wxRadioBox*)FindWindow(wxT("FiletypeType")))->SetSelection(0);
return;
case Owner: for (int n=0; n < (int)OwnerArray.GetCount(); ++n)
if (OwnerArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(OwnerArray[n]))->SetValue(false);
((wxRadioButton*)FindWindow(wxT("WhoUser")))->SetValue(true);
((wxRadioButton*)FindWindow(wxT("SpecifyName")))->SetValue(0);
((wxTextCtrl*)FindWindow(wxT("OwnerName")))->SetValue(wxT(""));
((wxRadioButton*)FindWindow(wxT("IDMore")))->SetValue(true);
((wxRadioButton*)FindWindow(wxT("SpecifyID")))->SetValue(0);
((wxSpinCtrl*)FindWindow(wxT("IDSpin")))->SetValue(0);
for (int n=0; n < 12; ++n) // There are oodles of checkboxes for Permissions. Do in a loop
((wxCheckBox*)FindWindow(OwnerPermissionStrings[n]))->SetValue(false);
((wxTextCtrl*)FindWindow(wxT("Octal")))->SetValue(wxT(""));
((wxRadioButton*)FindWindow(wxT("PermAny")))->SetValue(true);
return;
case Actions: for (int n=0; n < 10; ++n)
if (ActionArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(ActionArray[n]))->SetValue(false);
return;
default: return;
}
}
void MyFindNotebook::OnCheckBox(wxCommandEvent& event)
{
switch(currentpage)
{ case Path: OnCheckBoxPath(event); return;
case Time:
case Actions:
case Size:
case Operators: if (!event.IsChecked()) return; // We're not interested in UNchecking events
ClearPage(currentpage, event.GetId()); return; // Reset all but this one
case Owner: if (event.IsChecked())
for (int n=0; n < (int)OwnerArray.GetCount(); ++n)
{ if (OwnerArray[n] == event.GetId()) // We don't want to do this for the Permissions checkboxes!
{ ClearPage(currentpage, event.GetId()); return; } // Reset all but this one
}
CalculatePermissions(); return; // If we're here, it must've been a Permissions checkbox, so recalculate
default: return;
}
}
void MyFindNotebook::OnCheckBoxPath(wxCommandEvent& event)
{
if (!event.IsChecked()) return; // We're not interested in UNchecking events
wxString entry;
int id = event.GetId();
// Depending on which checkbox was checked, store an appropriate string in entry
if ((id == XRCID("PathCurrentDir")) && MyFrame::mainframe->GetActivePane())
entry = MyFrame::mainframe->GetActivePane()->GetActiveDirPath();
else if (id == XRCID("PathHome")) entry = wxGetApp().GetHOME();
else if (id == XRCID("PathRoot")) entry = wxT("/");
else return;
ClearPage(currentpage, event.GetId()); // Reset the other checkboxes
((wxComboBox*)FindWindow(wxT("PathCombo")))->SetValue(entry); // Place the result in the combobox
}
void MyFindNotebook::OnAddCommand(wxCommandEvent& event)
{
wxString answer;
switch(currentpage)
{ case Path: answer = ((wxComboBox*)FindWindow(wxT("PathCombo")))->GetValue(); // Get the data from the combobox
if (answer.IsEmpty()) return;
answer = wxT('\"') + answer; answer += wxT('\"');
SaveCombosHistory(0); break;
case Options: answer = OnAddCommandOptions(); break; // Too complicated to fit here in comfort
case Operators: answer = OnAddCommandOperators(); break;
case Name: answer = OnAddCommandName(); break;
case Time: answer = OnAddCommandTime(); break;
case Size: answer = OnAddCommandSize(); break;
case Owner: answer = OnAddCommandOwner(); break;
case Actions: answer = OnAddCommandAction(); break;
case NotSelected: return;
}
AddString(answer); // Add the new data to the dlg command string
ClearPage(currentpage); // & reset the current page
DataToAdd = false; // & the bool
}
wxString MyFindNotebook::OnAddCommandOptions() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
// Check each checkbox. If one is checked, add the appropriate string to the end of entry.
for (int n=0; n < 6; ++n) // For the first 6 checkboxes (the ones without spinctrls)
if (((wxCheckBox*)FindWindow(OptionsArray[n]))->IsChecked())
entry += OptionsStrings[n]; // If it's checked, add the corresponding command to the string
// It's easier to do the other 2 by hand
if (((wxCheckBox*)FindWindow(wxT("Maxdepth")))->IsChecked())
{ wxString str; str.Printf(wxT("-maxdepth %u"), ((wxSpinCtrl*)FindWindow(wxT("maxdepthspin")))->GetValue()); entry += str; }
if (((wxCheckBox*)FindWindow(wxT("Mindepth")))->IsChecked())
{ wxString str; str.Printf(wxT("-mindepth %u"), ((wxSpinCtrl*)FindWindow(wxT("mindepthspin")))->GetValue()); entry += str; }
return entry; // Return the accumulated data
}
wxString MyFindNotebook::OnAddCommandOperators() // Depending on which checkboxes were checked, return an appropriate string
{
// Check each checkbox. If one is checked, add the appropriate string to the end of entry.
for (int n=0; n < (int)OperatorArray.GetCount(); ++n) // For every checkbox
if (((wxCheckBox*)FindWindow(OperatorArray[n]))->IsChecked()) // If it's checked, this is the one
return OperatorStrings[n]; // so return the associated string
return wxEmptyString; // Shouldn't happen
}
wxString MyFindNotebook::OnAddCommandTime() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
if (((wxCheckBox*)FindWindow(wxT("TimePlain")))->IsChecked())
{ unsigned int spin = ((wxSpinCtrl*)FindWindow(wxT("TimeSpin")))->GetValue();
if (!spin) return wxEmptyString; // Time 0 makes no sense
wxString len; len.Printf(wxT("%u"), spin); // Get the figure into string form
if (((wxRadioButton*)FindWindow(wxT("TimeAccessAcc")))->GetValue()) entry = wxT("-a");
else if (((wxRadioButton*)FindWindow(wxT("TimeAccessMod")))->GetValue()) entry = wxT("-m");
else entry = wxT("-c");
// Add min or time, for minutes or days
if (((wxRadioButton*)FindWindow(wxT("TimeMins")))->GetValue()) entry += wxT("min ");
else entry += wxT("time ");
if (((wxRadioButton*)FindWindow(wxT("TimeMore")))->GetValue()) entry += wxT("+"); // Time may be + (more than), - (less than), or exact (no prefix)
else if (((wxRadioButton*)FindWindow(wxT("TimeLess")))->GetValue()) entry += wxT("-");
entry += len; return entry; // Finally add the time
}
if (((wxCheckBox*)FindWindow(wxT("Newer")))->IsChecked())
{ wxString name = ((wxComboBox*)FindWindow(wxT("NewerFile")))->GetValue();
if (name.IsEmpty()) return name;
SaveCombosHistory(2); // Save the new command history into array
if (((wxRadioButton*)FindWindow(wxT("NewerAcc")))->GetValue()) entry = wxT("-anewer \'");
else if (((wxRadioButton*)FindWindow(wxT("NewerMod")))->GetValue()) entry = wxT("-mnewer \'");
else entry = wxT("-cnewer \'");
entry += name; entry += wxT('\''); return entry;
}
if (((wxCheckBox*)FindWindow(wxT("LastAccess")))->IsChecked())
{ unsigned int spin = ((wxSpinCtrl*)FindWindow(wxT("LastSpin")))->GetValue();
if (!spin) return wxEmptyString; // Time 0 makes no sense
wxString len; len.Printf(wxT("%u"), spin); // Get the figure into string form
entry = wxT("-used ");
if (((wxRadioButton*)FindWindow(wxT("LastMore")))->GetValue()) entry += wxT("+"); // Time may be + (more than), - (less than), or exact (no prefix)
else if (((wxRadioButton*)FindWindow(wxT("LastLess")))->GetValue()) entry += wxT("-");
entry += len; return entry; // Finally add the time
}
return wxEmptyString; // Shouldn't happen
}
wxString MyFindNotebook::OnAddCommandSize() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
for (int n=0; n < 1; ++n) // For the first checkbox in the array (the one without extras)
if (((wxCheckBox*)FindWindow(SizeArray[n]))->IsChecked())
{ entry = SizeStrings[n]; return entry; } // If it's checked, add the corresponding command to the string
if (((wxCheckBox*)FindWindow(wxT("Size")))->IsChecked())
{ unsigned int spin = ((wxSpinCtrl*)FindWindow(wxT("SizeSpin")))->GetValue();
wxString len; len.Printf(wxT("%u"), spin); // Get the figure into string form
entry = wxT("-size ");
if (((wxRadioButton*)FindWindow(wxT("SizeMore")))->GetValue()) entry += wxT("+"); // Size may be + (more than), - (less than), or exact (no prefix)
else if (((wxRadioButton*)FindWindow(wxT("SizeLess")))->GetValue()) entry += wxT("-");
entry += len;
if (((wxRadioButton*)FindWindow(wxT("DimensionBytes")))->GetValue()) entry += wxT("c"); // Bytes, 512-byte blocks, or KB
else if (((wxRadioButton*)FindWindow(wxT("DimensionBlocks")))->GetValue()) entry += wxT("b");
else if (((wxRadioButton*)FindWindow(wxT("DimensionKB")))->GetValue()) entry += wxT("k");
return entry;
}
if (((wxCheckBox*)FindWindow(wxT("Filetype")))->IsChecked())
{ entry = wxT("-type ");
int type = ((wxRadioBox*)FindWindow(wxT("FiletypeType")))->GetSelection();
switch(type)
{ case 0: entry += wxT("d"); break; case 1: entry += wxT("f"); break; case 2: entry += wxT("l"); break; case 3: entry += wxT("p"); break;
case 4: entry += wxT("s"); break; case 5: entry += wxT("b"); break; case 6: entry += wxT("c");
}
return entry;
}
return wxEmptyString; // Shouldn't happen
}
wxString MyFindNotebook::OnAddCommandOwner() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
for (int n=0; n < 2; ++n) // For the first 2 checkboxes in the array (the ones without extras)
if (((wxCheckBox*)FindWindow(OwnerArray[n]))->IsChecked())
{ entry = OwnerStrings[n]; return entry; } // If it's checked, add the corresponding command to the string
if (((wxCheckBox*)FindWindow(wxT("Owner")))->IsChecked())
{ bool group = ((wxRadioButton*)FindWindow(wxT("WhoGroup")))->GetValue(); // Find if we're dealing with user or group
// There are 2 sections: for name and for value
if (((wxRadioButton*)FindWindow(wxT("SpecifyName")))->GetValue())
{ wxString name = ((wxTextCtrl*)FindWindow(wxT("OwnerName")))->GetValue();
if (name.IsEmpty()) return name;
entry = group ? wxT("-group ") : wxT("-user ");
entry += name; return entry;
}
else
{ entry = group ? wxT("-gid ") : wxT("-uid ");
if (((wxRadioButton*)FindWindow(wxT("IDMore")))->GetValue()) entry += wxT("+"); // ID may be + (more than), - (less than), or exact (no prefix)
else if (((wxRadioButton*)FindWindow(wxT("IDLess")))->GetValue()) entry += wxT("-");
unsigned int spin = ((wxSpinCtrl*)FindWindow(wxT("IDSpin")))->GetValue();
wxString len; len.Printf(wxT("%u"), spin); // Get the figure into string form
entry += len; return entry;
}
}
if (((wxCheckBox*)FindWindow(wxT("Permissions")))->IsChecked())
{ entry = wxT("-perm ");
// May be / (Match Any (i.e. if any matches are found), - (Match Each Specified (ignoring unspecified ones)), or no prefix (Exact Match only)
if (((wxRadioButton*)FindWindow(wxT("PermAny")))->GetValue()) entry << wxT("/"); // NB it used to be '+' instead of '/' but that's now deprecated
else
{ if (((wxRadioButton*)FindWindow(wxT("PermEach")))->GetValue()) entry << wxT("-"); }
entry << ((wxTextCtrl*)FindWindow(wxT("Octal")))->GetValue();
return entry;
}
return wxEmptyString; // Shouldn't happen
}
wxString MyFindNotebook::OnAddCommandName()
{
wxString name = ((wxComboBox*)FindWindow(wxT("name")))->GetValue();
if (name.IsEmpty()) return name;
int ignorecase = ((wxCheckBox*)FindWindow(wxT("IgnoreCase")))->IsChecked(); // This will be 0 or 1
wxString entry(wxT("-name ")); // Least-bad default
wxRadioBox* rb = ((wxRadioBox*)FindWindow(wxT("Nametype")));
if (rb) // I changed the radiobox order after 4.0. Protect against using a stale XRC file
{ int radio = rb->GetSelection();
if (rb->FindString(wxT("Filename")) != wxNOT_FOUND)
entry = NameStrings4[ (2*radio) + ignorecase ]; // *2 as there are 2 entries for each type, case-sens & ignorecase
else
entry = NameStrings5[ (2*radio) + ignorecase ];
}
entry += wxT('\"'); entry += (name + wxT('\"')); // Add the name, quoted
if (((wxRadioButton*)FindWindow(wxT("PruneIgnore")))->GetValue()) // If the prune control is set, add prune
entry += wxT(" -prune -or"); // (The -or says 'Only do the following statements if the prune statement was false'
SaveCombosHistory(1);
return entry;
}
wxString MyFindNotebook::OnAddCommandAction() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
// Check each checkbox. If one is checked, add the appropriate string to entry.
for (int n=0; n < 3; ++n) // For the first 3 checkboxes (the ones without extras)
if (((wxCheckBox*)FindWindow(ActionArray[n]))->IsChecked())
{ entry = ActionStrings[n]; return entry; } // If it's checked, add the corresponding command to the string
for (int n=3; n < 5; ++n) // For the next 2, read the associated combobox
if (((wxCheckBox*)FindWindow(ActionArray[n]))->IsChecked())
{ wxString execstr = ActionStrings[n];
wxString prog = ((wxComboBox*)FindWindow(wxT("ExecCmd")))->GetValue(); // Get the data from the combobox
if (prog.IsEmpty()) return prog;
SaveCombosHistory(3);
entry.Printf(execstr.c_str(), prog.c_str()); // execstr holds the command including a %s. Printf replaces this with prog
return entry;
}
// The rest is complex. There may be 1 active textctrl or 2, out of 4. I'm using the content of the active ones, without checking which they are.
wxString format, file;
if (FindWindow(wxT("PrintfFormat"))->IsEnabled())
format = ((wxTextCtrl*)FindWindow(wxT("PrintfFormat")))->GetValue(); // Get the data from the printf format textctrl
if (FindWindow(wxT("FprintfFormat"))->IsEnabled())
format = ((wxTextCtrl*)FindWindow(wxT("FprintfFormat")))->GetValue(); // or the fprintf one
if (FindWindow(wxT("FilePlain"))->IsEnabled())
file = ((wxTextCtrl*)FindWindow(wxT("FilePlain")))->GetValue(); // Similarly with the file textctrls
if (FindWindow(wxT("FprintfFile"))->IsEnabled())
file = ((wxTextCtrl*)FindWindow(wxT("FprintfFile")))->GetValue();
if (!format.IsEmpty()) { format = wxT(" \'") + format; format += wxT('\''); } // Doesn't work all in one assignation
if (!file.IsEmpty()) file = wxT(' ') + file;
for (int n=5; n < 10; ++n)
if (((wxCheckBox*)FindWindow(ActionArray[n]))->IsChecked())
{ if (n==5 || n==9) if (format.IsEmpty()) return format; // If no format info when it's required, abort
if (n > 5) if (file.IsEmpty()) return file; // Similarly if no file info
entry = ActionStrings[n] + file + format; return entry; // This should return the relevant strings, with the empty ones doing no harm
}
return wxEmptyString;
}
void MyFindNotebook::AddString(wxString& addition)
{
wxString command = combo->GetValue(); // Extract the current textctrl contents
combo->SetValue(command + wxT(" ") + addition); // & replace with that plus the new addition
}
void MyFindNotebook::CalculatePermissions() // Parses the arrays of checkboxes, putting the result as octal string in textctrl
{
int octal = 0;
for (int n=0; n < 12; ++n) // For each permission checkbox
if (((wxCheckBox*)FindWindow(OwnerPermissionStrings[n]))->IsChecked())
octal += OwnerPermissionOctal[n]; // If the nth one is checked, add the corresponding value to total
wxString string; string.Printf(wxT("%o"), octal); // Format the result as a string
((wxTextCtrl*)FindWindow(wxT("Octal")))->SetValue(string); // & insert into textctrl
}
void MyFindNotebook::OnPageChange(wxNotebookEvent& event)
{
enum pagename page = (pagename)event.GetSelection();
if (page != NotSelected) currentpage = page;
if (page == Path)
{ wxCommandEvent myevent(MyFindGrepEvent, MyFindGrepEvent_PathCombo); wxPostEvent(this,myevent); } // We want to SetFocus to PathCombo, but doing it here gets overridden soon after
if (page == Name)
{ wxCommandEvent myevent(MyFindGrepEvent, MyFindGrepEvent_name); wxPostEvent(this,myevent); }
}
void MyFindNotebook::OnSetFocusEvent(wxCommandEvent& event) // We get here via wxPostEvent, by which time SetFocus will stick
{
if (event.GetId() == MyFindGrepEvent_PathCombo)
FindWindow(wxT("PathCombo"))->SetFocus();
if (event.GetId() == MyFindGrepEvent_name)
FindWindow(wxT("name"))->SetFocus();
}
void MyFindNotebook::OnPageChanging(wxNotebookEvent& event)
{
if (!DataToAdd) return; // There's no outstanding data to add to the Command, so allow the change
wxMessageDialog dialog(this, _("You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\nIgnore the choices?"),
_("Are you sure?"), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) event.Veto();
}
void MyFindNotebook::OnUpdateUI(wxUpdateUIEvent& event)
{
if (!ActionArray.GetCount()) return; // Prevent premature entry
int id = event.GetId();
if (id == XRCID("AddToCommand"))
{ AddCommandUpdateUI(); event.Enable(DataToAdd); return; }
switch(currentpage)
{ case Options: if (id == XRCID("Maxdepth"))
FindWindow(wxT("maxdepthspin"))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
else if (id == XRCID("Mindepth"))
FindWindow(wxT("mindepthspin"))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
return;
case Path: if (id == XRCID("QuickFindDefault")
&& ((wxCheckBox*)event.GetEventObject())->IsChecked()) WHICHFIND = PREFER_QUICKFIND;
return;
case Name: return;
case Time: if (id == XRCID("TimePlain"))
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("TimeAccessAcc"))->Enable(enabled);
FindWindow(wxT("TimeAccessMod"))->Enable(enabled);
FindWindow(wxT("TimeAccessCh"))->Enable(enabled);
FindWindow(wxT("TimeMore"))->Enable(enabled);
FindWindow(wxT("TimeEqual"))->Enable(enabled);
FindWindow(wxT("TimeLess"))->Enable(enabled);
FindWindow(wxT("TimeSpin"))->Enable(enabled);
FindWindow(wxT("TimeMins"))->Enable(enabled);
FindWindow(wxT("TimeDays"))->Enable(enabled);
}
if (id == XRCID("Newer"))
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("NewerAcc"))->Enable(enabled);
FindWindow(wxT("NewerMod"))->Enable(enabled);
FindWindow(wxT("NewerCh"))->Enable(enabled);
FindWindow(wxT("NewerStatic"))->Enable(enabled);
FindWindow(wxT("NewerFile"))->Enable(enabled);
}
if (id == XRCID("LastAccess"))
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("LastMore"))->Enable(enabled);
FindWindow(wxT("LastEqual"))->Enable(enabled);
FindWindow(wxT("LastLess"))->Enable(enabled);
FindWindow(wxT("LastSpin"))->Enable(enabled);
FindWindow(wxT("LastStatic"))->Enable(enabled);
}
return;
case Size: if (id == XRCID("Size"))
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("SizeMore"))->Enable(enabled);
FindWindow(wxT("SizeEqual"))->Enable(enabled);
FindWindow(wxT("SizeLess"))->Enable(enabled);
FindWindow(wxT("SizeSpin"))->Enable(enabled);
FindWindow(wxT("DimensionBytes"))->Enable(enabled);
FindWindow(wxT("DimensionBlocks"))->Enable(enabled);
FindWindow(wxT("DimensionKB"))->Enable(enabled);
}
if (id == XRCID("Filetype"))
((wxRadioBox*)FindWindow(wxT("FiletypeType")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
return;
case Owner: if (id == XRCID("Owner"))
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("WhoUser"))->Enable(enabled);
FindWindow(wxT("WhoGroup"))->Enable(enabled);
FindWindow(wxT("SpecifyName"))->Enable(enabled);
FindWindow(wxT("OwnerName"))->Enable(enabled && // We only want enabled if we're choosing by name
((wxRadioButton*)FindWindow(wxT("SpecifyName")))->GetValue());
FindWindow(wxT("SpecifyID"))->Enable(enabled);
bool ID = ((wxRadioButton*)FindWindow(wxT("SpecifyID")))->GetValue(); // We only want these enabled if we're choosing by ID
FindWindow(wxT("IDMore"))->Enable(enabled && ID);
FindWindow(wxT("IDEqual"))->Enable(enabled && ID);
FindWindow(wxT("IDLess"))->Enable(enabled && ID);
FindWindow(wxT("IDSpin"))->Enable(enabled && ID);
}
if (id == XRCID("Permissions"))
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
for (int n=0; n < 12; ++n) // There are oodles of checkboxes for Permissions. Do in a loop
FindWindow(OwnerPermissionStrings[n])->Enable(enabled);
for (int n=0; n < 8; ++n) // Similarly statics
FindWindow(OwnerStaticStrings[n])->Enable(enabled);
FindWindow(wxT("Octal"))->Enable(enabled);
FindWindow(wxT("PermAny"))->Enable(enabled);
FindWindow(wxT("PermExact"))->Enable(enabled);
FindWindow(wxT("PermEach"))->Enable(enabled);
}
return;
case Actions: if (id == XRCID("ExecCmd"))
{ bool enabled = ((wxCheckBox*)FindWindow(wxT("Exec")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("ok")))->IsChecked();
FindWindow(wxT("ExecCmd"))->Enable(enabled);
FindWindow(wxT("ExecStatic"))->Enable(enabled);
}
if (id == XRCID("PrintfFormat"))
{ FindWindow(wxT("PrintfFormat"))->Enable(((wxCheckBox*)FindWindow(wxT("Printf")))->IsChecked());
FindWindow(wxT("FormatStatic"))->Enable(((wxCheckBox*)FindWindow(wxT("Printf")))->IsChecked());
}
if (id == XRCID("FilePlain")) // This one's shared by 3 checkboxes
{ bool enabled = ((wxCheckBox*)FindWindow(wxT("Fls")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("Fprint")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("Fprint0")))->IsChecked();
FindWindow(wxT("FilePlain"))->Enable(enabled);
FindWindow(wxT("FilePlainStatic"))->Enable(enabled);
}
if (id == XRCID("Fprintf")) // This checkbox controls 2 textboxes
{ bool enabled = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("FprintfFormat"))->Enable(enabled);
FindWindow(wxT("FprintfFile"))->Enable(enabled);
FindWindow(wxT("FprintfFormatStatic"))->Enable(enabled);
FindWindow(wxT("FprintfFileStatic"))->Enable(enabled);
}
return;
default: return;
}
}
void MyFindNotebook::AddCommandUpdateUI()
{
DataToAdd = false; // It's easier to disprove the null hypothesis
switch(currentpage)
{ case Path: DataToAdd = ! ((wxComboBox*)FindWindow(wxT("PathCombo")))->GetValue().IsEmpty(); return; // The only data is in the combobox
case Options: for (int n=0; n < 6; ++n) // For the first 6 checkboxes (the ones without spinctrls)
if (((wxCheckBox*)FindWindow(OptionsArray[n]))->IsChecked())
{ DataToAdd = true; return; }
DataToAdd = (((wxCheckBox*)FindWindow(wxT("Maxdepth")))->IsChecked() || ((wxCheckBox*)FindWindow(wxT("Mindepth")))->IsChecked());
return;
case Operators: for (int n=0; n < (int)OperatorArray.GetCount(); ++n) // For every checkbox
if (((wxCheckBox*)FindWindow(OperatorArray[n]))->IsChecked()) // If any are checked, there's data
{ DataToAdd = true; return; }
return;
case Name: DataToAdd = ! ((wxComboBox*)FindWindow(wxT("name")))->GetValue().IsEmpty(); return;
case Time: if (((wxCheckBox*)FindWindow(wxT("TimePlain")))->IsChecked() && ((wxSpinCtrl*)FindWindow(wxT("TimeSpin")))->GetValue() != 0)
{ DataToAdd = true; return; }
if (((wxCheckBox*)FindWindow(wxT("Newer")))->IsChecked() && ! ((wxComboBox*)FindWindow(wxT("NewerFile")))->GetValue().IsEmpty())
{ DataToAdd = true; return; }
if (((wxCheckBox*)FindWindow(wxT("LastAccess")))->IsChecked() && ((wxSpinCtrl*)FindWindow(wxT("LastSpin")))->GetValue() != 0)
{ DataToAdd = true; return; }
return;
case Size: for (int n=0; n < 1; ++n) // For the first checkboxes in the array (the one without extras)
if (((wxCheckBox*)FindWindow(SizeArray[n]))->IsChecked())
{ DataToAdd = true; return; }
if ((((wxCheckBox*)FindWindow(wxT("Size")))->IsChecked() && ((wxSpinCtrl*)FindWindow(wxT("SizeSpin")))->GetValue() != 0)
|| (((wxCheckBox*)FindWindow(wxT("Filetype")))->IsChecked()))
{ DataToAdd = true; return; }
return;
case Owner: for (int n=0; n < 2; ++n) // For the first 2 checkboxes in the array (the ones without extras)
if (((wxCheckBox*)FindWindow(OwnerArray[n]))->IsChecked())
{ DataToAdd = true; return; }
if (((wxCheckBox*)FindWindow(wxT("Owner")))->IsChecked()
&& (((wxRadioButton*)FindWindow(wxT("SpecifyID")))->GetValue() // If SpecifyId, zero is a valid answer
|| ! ((wxTextCtrl*)FindWindow(wxT("OwnerName")))->GetValue().IsEmpty())) // otherwise a name must be provided
{ DataToAdd = true; return; }
if (((wxCheckBox*)FindWindow(wxT("Permissions")))->IsChecked() && ! ((wxTextCtrl*)FindWindow(wxT("Octal")))->GetValue().IsEmpty())
DataToAdd = true;
return;
case Actions: for (int n=0; n < 3; ++n) // For the first 3 checkboxes (the ones without extras)
if (((wxCheckBox*)FindWindow(ActionArray[n]))->IsChecked())
{ DataToAdd = true; return; }
for (int n=3; n < 5; ++n) // For the next 2, read the associated combobox
if (((wxCheckBox*)FindWindow(ActionArray[n]))->IsChecked() && ! ((wxComboBox*)FindWindow(wxT("ExecCmd")))->GetValue().IsEmpty())
{ DataToAdd = true; return; }
if ((FindWindow(wxT("PrintfFormat"))->IsEnabled() && ! ((wxTextCtrl*)FindWindow(wxT("PrintfFormat")))->GetValue().IsEmpty())
|| (FindWindow(wxT("FprintfFormat"))->IsEnabled() && ! ((wxTextCtrl*)FindWindow(wxT("FprintfFormat")))->GetValue().IsEmpty())
|| (FindWindow(wxT("FilePlain"))->IsEnabled() && ! ((wxTextCtrl*)FindWindow(wxT("FilePlain")))->GetValue().IsEmpty())
|| (FindWindow(wxT("FprintfFile"))->IsEnabled() && ! ((wxTextCtrl*)FindWindow(wxT("FprintfFile")))->GetValue().IsEmpty()))
DataToAdd = true;
return;
case NotSelected: return;
}
}
BEGIN_EVENT_TABLE(MyFindNotebook, wxNotebook)
EVT_CHECKBOX(-1, MyFindNotebook::OnCheckBox)
EVT_NOTEBOOK_PAGE_CHANGED(-1, MyFindNotebook::OnPageChange)
EVT_BUTTON(XRCID("AddToCommand"), MyFindNotebook::OnAddCommand)
EVT_COMMAND(wxID_ANY, MyFindGrepEvent, MyFindNotebook::OnSetFocusEvent)
EVT_UPDATE_UI(-1, MyFindNotebook::OnUpdateUI)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
const wxChar* MyGrepNotebook::MainStrings[] = { wxT("w"), wxT("i"), wxT("x"), wxT("v") };
const wxChar* MyGrepNotebook::OutputStrings[] = { wxT("c"), wxT("l"), wxT("H"), wxT("n"), wxT("s"), wxT("o"), wxT("L"), wxT("h"), wxT("b"), wxT("q") };
const wxChar* MyGrepNotebook::PatternStrings[] = { wxT("F"), wxT("P"), wxT("e") };
void MyGrepNotebook::Init(Tools* dad, wxComboBox* searchcombo)
{
parent = dad;
combo = searchcombo;
GetXRCIDsIntoArrays();
int n = (int)Main;
do ClearPage((enum pagename)n++);
while ((n+1) <= (int)Path);
LoadCombosHistory();
currentpage = Main;
DataToAdd = false;
Connect(wxID_ANY, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, (wxObjectEventFunction)&MyGrepNotebook::OnPageChanging);
}
void MyGrepNotebook::GetXRCIDsIntoArrays() // Life becomes easier if we can access the XRCID values by looping thru an array
{
MainArray.Add(XRCID("Whole"));
MainArray.Add(XRCID("IgnoreCase"));
MainArray.Add(XRCID("WholeLines"));
MainArray.Add(XRCID("InvertMatch"));
FileArray.Add(XRCID("MaxMatches"));
FileArray.Add(XRCID("Binaries"));
FileArray.Add(XRCID("Devices"));
FileArray.Add(XRCID("ExcludeFiles"));
FileArray.Add(XRCID("IncludeFiles"));
OutputArray.Add(XRCID("OnlyCount"));
OutputArray.Add(XRCID("PrintFilename"));
OutputArray.Add(XRCID("EachFilename"));
OutputArray.Add(XRCID("PrefixLineno"));
OutputArray.Add(XRCID("Silent"));
OutputArray.Add(XRCID("PrintPatternMatch"));
OutputArray.Add(XRCID("FilenameNoMatch"));
OutputArray.Add(XRCID("NoFilenameMultiple"));
OutputArray.Add(XRCID("PrefixOffset"));
OutputArray.Add(XRCID("Quiet"));
OutputArray.Add(XRCID("ContextLeading"));
OutputArray.Add(XRCID("ContextTrailing"));
OutputArray.Add(XRCID("ContextBoth"));
OutputArray.Add(XRCID("LabelDisplay"));
PatternArray.Add(XRCID("Fgrep"));
PatternArray.Add(XRCID("Perl"));
PatternArray.Add(XRCID("ProtectPattern"));
PatternArray.Add(XRCID("FromFile"));
PathArray.Add(XRCID("PathCurrentDir"));
PathArray.Add(XRCID("PathHome"));
PathArray.Add(XRCID("PathRoot"));
}
void MyGrepNotebook::LoadCombosHistory() // Load the relevant history-arrays into comboboxes
{
wxComboBox* cbox;
for (size_t c=4; c < 8; ++c) // For every combobox in the array-list 4-7 as Find came first
{ cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[c]);
wxArrayString* History = parent->historylist[c]; // The history-array that goes with this combobox
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) // Fill combobox from the corresponding history array
cbox->Append((*History)[n]);
}
}
void MyGrepNotebook::SaveCombosHistory(int which) // Save the relevant command history into their arrays
{
wxComboBox* cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[which]);
wxArrayString* History = parent->historylist[which]; // The history-array that goes with this combobox
wxString string = cbox->GetValue(); // Get the visible string
if (string.IsEmpty()) return;
int index = History->Index(string, false); // See if this entry already exists in the history array
if (index != wxNOT_FOUND)
History->RemoveAt(index); // If so, remove it. We'll add it back into position zero
History->Insert(string, 0); // Either way, insert into position zero
// Lastly, reload cbox. This adds the new item in the correct position
cbox->Clear();
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) cbox->Append((*History)[n]);
}
void MyGrepNotebook::ClearPage(enum pagename page, int exceptthisitem /*=-1*/)
{
switch(page)
{ case Main: for (int n=0; n < (int)MainArray.GetCount(); ++n) // For every checkbox
if (MainArray[n] != exceptthisitem) // (if it's not one we want to ignore)
((wxCheckBox*)FindWindow(MainArray[n]))->SetValue(false); // disable.
case Dir: ((wxCheckBox*)FindWindow( XRCID("Directories")))->SetValue(false);
case File: for (int n=0; n < (int)FileArray.GetCount(); ++n)
((wxCheckBox*)FindWindow(FileArray[n]))->SetValue(false);
case Output: for (int n=0; n < (int)OutputArray.GetCount(); ++n)
if (OutputArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(OutputArray[n]))->SetValue(false);
return;
case Pattern: for (int n=0; n < (int)PatternArray.GetCount(); ++n)
if (PatternArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(PatternArray[n]))->SetValue(false);
((wxComboBox*)FindWindow(wxT("SearchPattern")))->SetValue(wxT(""));
return;
case Path: for (int n=0; n < (int)PathArray.GetCount(); ++n)
if (PathArray[n] != exceptthisitem)
((wxCheckBox*)FindWindow(PathArray[n]))->SetValue(false);
((wxComboBox*)FindWindow(wxT("PathGrep")))->SetValue(wxT("")); return;
default: return;
}
}
void MyGrepNotebook::OnCheckBox(wxCommandEvent& event)
{
switch(currentpage)
{ case Path: OnCheckBoxPath(event); return;
case Main: // Nothing needed for all the rest, as UpdateUI will cope
case Dir:
case File:
case Output:
case Pattern:
default: return;
}
}
void MyGrepNotebook::OnCheckBoxPath(wxCommandEvent& event)
{
if (!event.IsChecked()) return; // We're not interested in UNchecking events
wxString entry;
int id = event.GetId();
// Depending on which checkbox was checked, store an appropriate string in entry
if ((id == XRCID("PathCurrentDir")) && MyFrame::mainframe->GetActivePane())
entry = MyFrame::mainframe->GetActivePane()->GetActiveDirPath();
else if (id == XRCID("PathHome")) entry = wxGetApp().GetHOME();
else if (id == XRCID("PathRoot")) entry = wxT("/");
else return;
ClearPage(currentpage, event.GetId()); // Reset the other checkboxes
((wxComboBox*)FindWindow(wxT("PathGrep")))->SetValue(entry); // Place the result in the combobox
}
void MyGrepNotebook::OnAddCommand(wxCommandEvent& event)
{
wxString answer;
switch(currentpage)
{ case Path: answer = ((wxComboBox*)FindWindow(wxT("PathGrep")))->GetValue(); // Get the data from the combobox
if (answer.IsEmpty()) return;
QuoteExcludingWildcards(answer); // Try to cope with spaces etc in the filepath, without switching off globbing
SaveCombosHistory(7); break;
case Dir: if (((wxCheckBox*)FindWindow(wxT("Directories")))->IsChecked())
{ if (((wxRadioButton*)FindWindow(wxT("DirMatchName")))->GetValue()) answer = wxT("-d read");
else if (((wxRadioButton*)FindWindow(wxT("DirRecurse")))->GetValue()) answer = wxT("-r");
else answer = wxT("-d skip");
}
break;
case Main: answer = OnAddCommandMain(); break; // Too complicated to fit here in comfort
case File: answer = OnAddCommandFile(); break;
case Output: answer = OnAddCommandOutput(); break;
case Pattern: answer = OnAddCommandPattern(); break;
default: return;
}
AddString(answer); // Add the new data to the dlg command string
ClearPage(currentpage); // & reset the current page
DataToAdd = false; // & the bool
}
wxString MyGrepNotebook::OnAddCommandMain() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
// Check each checkbox. If one is checked, add the appropriate string to the end of entry.
for (int n=0; n < 4; ++n) // For each checkbox
if (((wxCheckBox*)FindWindow(MainArray[n]))->IsChecked())
entry += MainStrings[n]; // If it's checked, add the corresponding command to the string
if (!entry.IsEmpty()) entry = wxT("-") + entry; // Because grep can't cope with -n-w, but wants either -nw or -n -w, prefix just 1 - here
return entry;
}
wxString MyGrepNotebook::OnAddCommandFile() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
if (((wxCheckBox*)FindWindow(wxT("MaxMatches")))->IsChecked())
{ wxString thisentry; thisentry.Printf(wxT(" -m %u"), ((wxSpinCtrl*)FindWindow(wxT("MatchNo")))->GetValue());
entry += thisentry;
}
if (((wxCheckBox*)FindWindow(wxT("Binaries")))->IsChecked())
{ if (((wxRadioButton*)FindWindow(wxT("BinaryName")))->GetValue()) entry += wxT(" --binary-files=binary");
else if (((wxRadioButton*)FindWindow(wxT("BinaryRead")))->GetValue()) entry += wxT(" --binary-files=text");
else entry += wxT(" -I");
}
if (((wxCheckBox*)FindWindow(wxT("Devices")))->IsChecked())
entry += wxT(" -D skip");
if (((wxCheckBox*)FindWindow(wxT("ExcludeFiles")))->IsChecked())
{ wxString name = ((wxComboBox*)FindWindow(wxT("ExcludePattern")))->GetValue();
if (!name.IsEmpty())
{ entry += wxT(" --exclude="); entry += name;
SaveCombosHistory(4); // Save the new command history into array
}
}
if (((wxCheckBox*)FindWindow(wxT("IncludeFiles")))->IsChecked())
{ wxString name = ((wxComboBox*)FindWindow(wxT("IncludePattern")))->GetValue();
if (!name.IsEmpty())
{ entry += wxT(" --include="); entry += name;
SaveCombosHistory(5); // Save the new command history into array
}
}
entry.Trim(false); // Remove initial space as it will be added later
return entry;
}
wxString MyGrepNotebook::OnAddCommandOutput() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
for (int n=0; n < 10; ++n) // 1st 10 checkboxes are easy
if (((wxCheckBox*)FindWindow(OutputArray[n]))->IsChecked())
entry += OutputStrings[n]; // If it's checked, add the corresponding command to the string
if (!entry.IsEmpty()) entry = wxT("-") + entry; // Because grep can't cope with -n-w, but wants either -nw or -n -w, prefix just 1 - here
// It's easier to do the rest by hand
if (((wxCheckBox*)FindWindow(wxT("ContextLeading")))->IsChecked())
{ wxString thisentry; thisentry.Printf(wxT(" -B %u"), ((wxSpinCtrl*)FindWindow(wxT("LeadingNo")))->GetValue());
entry += thisentry;
}
if (((wxCheckBox*)FindWindow(wxT("ContextTrailing")))->IsChecked())
{ wxString thisentry; thisentry.Printf(wxT(" -A %u"), ((wxSpinCtrl*)FindWindow(wxT("TrailingNo")))->GetValue());
entry += thisentry;
}
if (((wxCheckBox*)FindWindow(wxT("ContextBoth")))->IsChecked())
{ wxString thisentry; thisentry.Printf(wxT(" -C %u"), ((wxSpinCtrl*)FindWindow(XRCID("BothNo")))->GetValue());
entry += thisentry;
}
if (((wxCheckBox*)FindWindow(wxT("LabelDisplay")))->IsChecked())
{ wxString name = ((wxTextCtrl*)FindWindow(wxT("FileLabel")))->GetValue();
if (!name.IsEmpty())
{ entry += wxT(" --label="); entry += name; }
}
entry.Trim(false);
return entry;
}
wxString MyGrepNotebook::OnAddCommandPattern() // Depending on which checkboxes were checked, return an appropriate string
{
wxString entry;
for (int n=0; n < 3; ++n)
if (((wxCheckBox*)FindWindow(PatternArray[n]))->IsChecked())
entry += PatternStrings[n];
if (!entry.IsEmpty()) entry = wxT("-") + entry; // Because grep can't cope with -n-w, but wants either -nw or -n -w, prefix just 1 - here
// Either there's a file to take the pattern from, or a pattern was entered direct (or neither?)
if (((wxCheckBox*)FindWindow(PatternArray[3]))->IsChecked()) // If so, there's a file
{ wxString name = ((wxTextCtrl*)FindWindow(wxT("FileFrom")))->GetValue();
if (!name.IsEmpty())
{ entry += wxT(" -f "); entry += name; // Add the filename and return
entry.Trim(false);
return entry;
}
}
// If we're still here, either that checkbox wasn't, or the filename was empty. Either way, see if there's a direct-entry
wxString name = ((wxComboBox*)FindWindow(wxT("SearchPattern")))->GetValue();
if (!name.IsEmpty())
{ entry += wxT("\\\""); entry += name; entry += wxT("\\\""); // Grep runs in a shell, so we have to escape the quotes
SaveCombosHistory(6);
}
entry.Trim(false);
return entry;
}
void MyGrepNotebook::AddString(wxString& addition)
{
wxString command = combo->GetValue(); // Extract the current textctrl contents
combo->SetValue(command + wxT(" ") + addition); // & replace with that plus the new addition
}
void MyGrepNotebook::OnPageChanging(wxNotebookEvent& event)
{
if (!DataToAdd) return; // There's no outstanding data to add to the Command, so allow the change
wxMessageDialog dialog(this, _("You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\nIgnore the choices?"),
_("Are you sure?"), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) event.Veto();
}
void MyGrepNotebook::OnPageChange(wxNotebookEvent& event)
{
enum pagename page = (pagename)event.GetSelection();
if (page != NotSelected) currentpage = page;
if (page == Pattern)
{ wxCommandEvent myevent(MyFindGrepEvent); wxPostEvent(this,myevent); } // We want to SetFocus to SearchPattern, but doing it here gets overridden soon after
}
void MyGrepNotebook::OnPatternPage(wxCommandEvent& WXUNUSED(event)) // We get here via wxPostEvent, by which time SetFocus will stick
{
FindWindow(wxT("SearchPattern"))->SetFocus();
}
void MyGrepNotebook::OnUpdateUI(wxUpdateUIEvent& event)
{
if (!PathArray.GetCount()) return; // Prevent premature entry
int id = event.GetId();
if (id == XRCID("AddToCommand"))
{ AddCommandUpdateUI(); event.Enable(DataToAdd); return; }
switch(currentpage)
{ case Path: return;
case Main: if (id == XRCID("QuickGrepDefault"))
if (((wxCheckBox*)event.GetEventObject())->IsChecked()) WHICHGREP = PREFER_QUICKGREP;
return;
case Dir: if (id == XRCID("Directories"))
{ bool ifchecked = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("DirMatchName"))->Enable(ifchecked);
FindWindow(wxT("DirRecurse"))->Enable(ifchecked);
FindWindow(wxT("DirIgnore"))->Enable(ifchecked);
}
return;
case File: if (id == XRCID("MaxMatches"))
((wxSpinCtrl*)FindWindow(wxT("MatchNo")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
if (id == XRCID("Binaries"))
{ bool ifchecked = ((wxCheckBox*)(event.GetEventObject()))->IsChecked();
FindWindow(wxT("BinaryName"))->Enable(ifchecked);
FindWindow(wxT("BinaryRead"))->Enable(ifchecked);
FindWindow(wxT("BinaryIgnore"))->Enable(ifchecked);
}
if (id == XRCID("ExcludeFiles"))
((wxComboBox*)FindWindow(wxT("ExcludePattern")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
if (id == XRCID("IncludeFiles"))
((wxComboBox*)FindWindow(wxT("IncludePattern")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
return;
case Output: if (id == XRCID("ContextLeading"))
((wxSpinCtrl*)FindWindow(wxT("LeadingNo")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
if (id == XRCID("ContextTrailing"))
((wxSpinCtrl*)FindWindow(wxT("TrailingNo")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
if (id == XRCID("ContextBoth"))
((wxSpinCtrl*)FindWindow(wxT("BothNo")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
if (id == XRCID("LabelDisplay"))
((wxTextCtrl*)FindWindow(wxT("FileLabel")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
return;
case Pattern: if (id == XRCID("FromFile"))
((wxTextCtrl*)FindWindow(wxT("FileFrom")))->Enable(((wxCheckBox*)(event.GetEventObject()))->IsChecked());
return;
default: return;
}
}
void MyGrepNotebook::AddCommandUpdateUI()
{
DataToAdd = false; // It's easier to disprove the null hypothesis
switch(currentpage)
{ case Path: DataToAdd = ! ((wxComboBox*)FindWindow(wxT("PathGrep")))->GetValue().IsEmpty(); return; // The only data is in the combobox
case Main: for (int n=0; n < 4; ++n)
if (((wxCheckBox*)FindWindow(MainArray[n]))->IsChecked())
{ DataToAdd = true; return; }
case Dir: DataToAdd = ((wxCheckBox*)FindWindow(wxT("Directories")))->IsChecked(); return;
case File: if (((wxCheckBox*)FindWindow(wxT("MaxMatches")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("Binaries")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("Devices")))->IsChecked())
{ DataToAdd = true; return; }
if ((((wxCheckBox*)FindWindow(wxT("ExcludeFiles")))->IsChecked() && ! ((wxComboBox*)FindWindow(wxT("ExcludePattern")))->GetValue().IsEmpty())
|| (((wxCheckBox*)FindWindow(wxT("IncludeFiles")))->IsChecked() && ! ((wxComboBox*)FindWindow(wxT("IncludePattern")))->GetValue().IsEmpty()))
DataToAdd = true;
return;
case Output: for (int n=0; n < 10; ++n)
if (((wxCheckBox*)FindWindow(OutputArray[n]))->IsChecked())
{ DataToAdd = true; return; }
if (((wxCheckBox*)FindWindow(wxT("ContextLeading")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("ContextTrailing")))->IsChecked()
|| ((wxCheckBox*)FindWindow(wxT("ContextBoth")))->IsChecked())
{ DataToAdd = true; return; }
if (((wxCheckBox*)FindWindow(wxT("LabelDisplay")))->IsChecked() && ! ((wxTextCtrl*)FindWindow(wxT("FileLabel")))->GetValue().IsEmpty())
DataToAdd = true;
return;
case Pattern: for (int n=0; n < 3; ++n)
if (((wxCheckBox*)FindWindow(PatternArray[n]))->IsChecked())
{ DataToAdd = true; return; }
if (!((wxComboBox*)FindWindow(wxT("SearchPattern")))->GetValue().IsEmpty()
|| (((wxCheckBox*)FindWindow(PatternArray[3]))->IsChecked() && ! ((wxTextCtrl*)FindWindow(wxT("FileFrom")))->GetValue().IsEmpty()))
DataToAdd = true;
return;
default: return;
}
}
void MyGrepNotebook::OnRegexCrib(wxCommandEvent& event)
{
if (HELPDIR.IsEmpty()) return;
HtmlDialog(_("RegEx Help"), HELPDIR + wxT("/RegExpHelp.htm"), wxT("RegExpHelp"), GetPage(GetSelection()));
}
BEGIN_EVENT_TABLE(MyGrepNotebook, wxNotebook)
EVT_COMMAND(wxID_ANY, MyFindGrepEvent, MyGrepNotebook::OnPatternPage)
EVT_CHECKBOX(-1, MyGrepNotebook::OnCheckBox)
EVT_NOTEBOOK_PAGE_CHANGED(-1, MyGrepNotebook::OnPageChange)
EVT_BUTTON(XRCID("AddToCommand"), MyGrepNotebook::OnAddCommand)
EVT_BUTTON(XRCID("RegexCrib"), MyGrepNotebook::OnRegexCrib)
EVT_UPDATE_UI(-1, MyGrepNotebook::OnUpdateUI)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(QuickFindDlg, wxDialog)
void QuickFindDlg::Init(Tools* dad)
{
parent = dad;
SearchPattern = ((wxComboBox*)FindWindow(wxT("name")));
PathFind = ((wxComboBox*)FindWindow(wxT("PathCombo")));
PathCurrentDir = ((wxCheckBox*)FindWindow(wxT("PathCurrentDir")));
PathHome = ((wxCheckBox*)FindWindow(wxT("PathHome")));
PathRoot = ((wxCheckBox*)FindWindow(wxT("PathRoot")));
RBName = ((wxRadioButton*)FindWindow(wxT("RBName")));
RBPath = ((wxRadioButton*)FindWindow(wxT("RBPath")));
RBRegex = ((wxRadioButton*)FindWindow(wxT("RBRegex")));
IgnoreCase = ((wxCheckBox*)FindWindow(wxT("IgnoreCase")));
LoadCheckboxState();
// If one of the path checkboxes is now ticked, sync PathFind
if (PathCurrentDir->IsChecked() && MyFrame::mainframe->GetActivePane()) PathFind->SetValue(MyFrame::mainframe->GetActivePane()->GetActiveDirPath());
if (PathHome->IsChecked()) PathFind->SetValue(wxGetApp().GetHOME());
if (PathRoot->IsChecked()) PathFind->SetValue(wxT("/"));
Show(); // After 2.5.3, the new method of wxWindow sizing means that a long history string in a combobox will expand the box outside the dialog! So Show() it before adding the data
LoadCombosHistory();
}
void QuickFindDlg::LoadCheckboxState() // Load the last-used which-boxes-were-checked state, + directories radio
{
long state;
wxConfigBase::Get()->Read(wxT("/Misc/QuickFindCheckState"), &state, 0x0);
PathCurrentDir->SetValue(state & 0x01);
PathHome->SetValue(state & 0x02);
PathRoot->SetValue(state & 0x04);
IgnoreCase->SetValue(state & 0x10);
}
void QuickFindDlg::SaveCheckboxState() // Save the current which-boxes-are-checked state, + directories radio
{
long state = 0;
if (PathCurrentDir->IsChecked()) state |= 0x01;
if (PathHome->IsChecked()) state |= 0x02;
if (PathRoot->IsChecked()) state |= 0x04;
if (IgnoreCase->IsChecked()) state |= 0x10;
wxConfigBase::Get()->Write(wxT("/Misc/QuickFindCheckState"), state);
}
void QuickFindDlg::LoadCombosHistory() // Load the relevant history-arrays into comboboxes
{
wxComboBox* cbox;
for (size_t c=0; c < 2; ++c) // For the 1st 2 comboboxes (used also by FullFind)
{ cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[c]);
wxArrayString* History = parent->historylist[c]; // The history-array that goes with this combobox
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
if (History)
for (size_t n=0; n < History->GetCount(); ++n) // Fill combobox from the corresponding history array
cbox->Append((*History)[n]);
}
}
void QuickFindDlg::SaveCombosHistory(int which) // Save the relevant command history into their arrays
{
wxComboBox* cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[which]);
wxArrayString* History = parent->historylist[which]; // The history-array that goes with this combobox
wxString string = cbox->GetValue(); // Get the visible string
if (string.IsEmpty()) return;
int index = History->Index(string, false); // See if this entry already exists in the history array
if (index != wxNOT_FOUND)
History->RemoveAt(index); // If so, remove it. We'll add it back into position zero
History->Insert(string, 0); // Either way, insert into position zero
// Lastly, reload cbox. This adds the new item in the correct position
cbox->Clear();
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) cbox->Append((*History)[n]);
}
void QuickFindDlg::OnCheck(wxCommandEvent& event)
{
int id = event.GetId();
if (id == XRCID("PathCurrentDir"))
{ PathFind->SetValue((event.IsChecked() && MyFrame::mainframe->GetActivePane()) ? MyFrame::mainframe->GetActivePane()->GetActiveDirPath() : wxT(""));
PathHome->SetValue(false); PathRoot->SetValue(false); // Clear the other path boxes
}
if (id == XRCID("PathHome"))
{ PathFind->SetValue(event.IsChecked() ? wxGetApp().GetHOME() : wxT(""));
PathCurrentDir->SetValue(false); PathRoot->SetValue(false);
}
if (id == XRCID("PathRoot"))
{ PathFind->SetValue(event.IsChecked() ? wxT("/") : wxT(""));
PathHome->SetValue(false); PathCurrentDir->SetValue(false);
}
}
void QuickFindDlg::OnButton(wxCommandEvent& event)
{
int id = event.GetId();
if (id == XRCID("wxID_OK"))
{ wxString next, cmd(wxT("find "));
next = PathFind->GetValue();
if ( next.IsEmpty()) { BriefMessageBox bmb(wxT("You need to provide a Path to Search in"), -1, wxT("O_o")); return; }
cmd << next << wxT(' '); next.Empty();
int searchtype = (RBPath->GetValue() ? 2:0) + (RBRegex->GetValue() ? 4:0) + IgnoreCase->IsChecked();
next = MyFindNotebook::NameStrings5[searchtype]; // We can piggyback on the fullfind strings; we just don't use the last pair (symlinks)
cmd << next;
next = SearchPattern->GetValue();
if ( next.IsEmpty()) { BriefMessageBox bmb(wxT("You need to provide a pattern to Search for"), -1, wxT("O_o")); return; }
cmd << wxT("\\\"") << next << wxT("\\\" "); SaveCombosHistory(1); // Find runs in a shell, so we have to escape the quotes
SaveCombosHistory(0); SaveCheckboxState();
// Even though quickfind has no history combo, we must add the command to Tools::History, otherwise the combobox subhistories aren't saved
int index = parent->History.Index(cmd, false); // See if this command already exists in the history array
if (index != wxNOT_FOUND)
parent->History.RemoveAt(index); // If so, remove it. We'll add it back into position zero
parent->History.Insert(cmd, 0); // Either way, insert into position zero
cmd = wxT("sh -c \"") + cmd; cmd << wxT('\"');
parent->text->HistoryAdd(cmd); parent->text->RunCommand(cmd); parent->text->SetFocus(); // Run the command in the terminalem
}
EndModal(id); // Return the id, because we must anyway, and it might be XRCID("FullFind")
}
void QuickFindDlg::OnUpdateUI(wxUpdateUIEvent& event)
{
if (RBName == NULL) return; // Protection against too-early updateui events
int id = event.GetId();
if (id == XRCID("FullFindDefault"))
if (((wxCheckBox*)event.GetEventObject())->IsChecked()) WHICHFIND = PREFER_FULLFIND;
}
BEGIN_EVENT_TABLE(QuickFindDlg, wxDialog)
EVT_BUTTON(wxID_ANY, QuickFindDlg::OnButton)
EVT_CHECKBOX(wxID_ANY, QuickFindDlg::OnCheck)
EVT_KEY_DOWN(QuickFindDlg::OnKeyDown)
EVT_UPDATE_UI(wxID_ANY, QuickFindDlg::OnUpdateUI)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(QuickGrepDlg, wxDialog)
void QuickGrepDlg::Init(Tools* dad)
{
parent = dad;
SearchPattern = ((wxComboBox*)FindWindow(wxT("SearchPattern")));
PathGrep = ((wxComboBox*)FindWindow(wxT("PathGrep")));
PathCurrentDir = ((wxCheckBox*)FindWindow(wxT("PathCurrentDir")));
PathHome = ((wxCheckBox*)FindWindow(wxT("PathHome")));
PathRoot = ((wxCheckBox*)FindWindow(wxT("PathRoot")));
WholeWord = ((wxCheckBox*)FindWindow(wxT("WholeWord")));
IgnoreCase = ((wxCheckBox*)FindWindow(wxT("IgnoreCase")));
PrefixLineno = ((wxCheckBox*)FindWindow(wxT("PrefixLineno")));
Binaries = ((wxCheckBox*)FindWindow(wxT("Binaries")));
Devices = ((wxCheckBox*)FindWindow(wxT("Devices")));
DirectoriesRadio = ((wxRadioBox*)FindWindow(wxT("DirectoriesRadio")));
LoadCheckboxState();
// If one of the path checkboxes is now ticked, sync PathGrep
if (PathCurrentDir->IsChecked() && MyFrame::mainframe->GetActivePane()) PathGrep->SetValue(MyFrame::mainframe->GetActivePane()->GetActiveDirPath());
if (PathHome->IsChecked()) PathGrep->SetValue(wxGetApp().GetHOME());
if (PathRoot->IsChecked()) PathGrep->SetValue(wxT("/"));
Show(); // After 2.5.3, the new method of wxWindow sizing means that a long history string in a combobox will expand the box outside the dialog! So Show() it before adding the data
LoadCombosHistory();
}
void QuickGrepDlg::LoadCheckboxState() // Load the last-used which-boxes-were-checked state, + directories radio
{
long state;
wxConfigBase::Get()->Read(wxT("/Misc/QuickGrepCheckState"), &state, 0x60); // 0x60 means have the ignore binaries/devices boxes checked by default
PathCurrentDir->SetValue(state & 0x01);
PathHome->SetValue(state & 0x02);
PathRoot->SetValue(state & 0x04);
WholeWord->SetValue(state & 0x08);
IgnoreCase->SetValue(state & 0x10);
PrefixLineno->SetValue(state & 0x80);
Binaries->SetValue(state & 0x20);
Devices->SetValue(state & 0x40);
DirectoriesRadio->SetSelection((int)wxConfigBase::Get()->Read(wxT("/Misc/QuickGrepRadioState"), 1l) & 3);
}
void QuickGrepDlg::SaveCheckboxState() // Save the current which-boxes-are-checked state, + directories radio
{
long state = 0;
if (PathCurrentDir->IsChecked()) state |= 0x01;
if (PathHome->IsChecked()) state |= 0x02;
if (PathRoot->IsChecked()) state |= 0x04;
if (WholeWord->IsChecked()) state |= 0x08;
if (IgnoreCase->IsChecked()) state |= 0x10;
if (PrefixLineno->IsChecked()) state |= 0x80;
if (Binaries->IsChecked()) state |= 0x20;
if (Devices->IsChecked()) state |= 0x40;
wxConfigBase::Get()->Write(wxT("/Misc/QuickGrepCheckState"), state);
wxConfigBase::Get()->Write(wxT("/Misc/QuickGrepRadioState"), (long)DirectoriesRadio->GetSelection());
}
void QuickGrepDlg::LoadCombosHistory() // Load the relevant history-arrays into comboboxes
{
wxComboBox* cbox;
for (size_t c=6; c < 8; ++c) // For every combobox in the array-list 6-7 as Find came first, then irrelevant full-grep ones
{ cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[c]);
wxArrayString* History = parent->historylist[c]; // The history-array that goes with this combobox
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) // Fill combobox from the corresponding history array
cbox->Append((*History)[n]);
}
}
void QuickGrepDlg::SaveCombosHistory(int which) // Save the relevant command history into their arrays
{
wxComboBox* cbox = (wxComboBox*)FindWindow(parent->FindSubpathArray[which]);
wxArrayString* History = parent->historylist[which]; // The history-array that goes with this combobox
wxString string = cbox->GetValue(); // Get the visible string
if (string.IsEmpty()) return;
int index = History->Index(string, false); // See if this entry already exists in the history array
if (index != wxNOT_FOUND)
History->RemoveAt(index); // If so, remove it. We'll add it back into position zero
History->Insert(string, 0); // Either way, insert into position zero
// Lastly, reload cbox. This adds the new item in the correct position
cbox->Clear();
#if ! defined(__WXGTK20__)
cbox->Append(wxT("")); // This used to be needed to give a blank entry to display in the textbox
#endif
for (size_t n=0; n < History->GetCount(); ++n) cbox->Append((*History)[n]);
}
void QuickGrepDlg::OnCheck(wxCommandEvent& event)
{
int id = event.GetId();
if (id == XRCID("PathCurrentDir"))
{ PathGrep->SetValue((event.IsChecked() && MyFrame::mainframe->GetActivePane()) ? MyFrame::mainframe->GetActivePane()->GetActiveDirPath() : wxT(""));
PathHome->SetValue(false); PathRoot->SetValue(false); // Clear the other path boxes
}
if (id == XRCID("PathHome"))
{ PathGrep->SetValue(event.IsChecked() ? wxGetApp().GetHOME() : wxT(""));
PathCurrentDir->SetValue(false); PathRoot->SetValue(false);
}
if (id == XRCID("PathRoot"))
{ PathGrep->SetValue(event.IsChecked() ? wxT("/") : wxT(""));
PathHome->SetValue(false); PathCurrentDir->SetValue(false);
}
}
void QuickGrepDlg::OnButton(wxCommandEvent& event)
{
int id = event.GetId();
if (id == XRCID("RegexCrib"))
{ if (!HELPDIR.IsEmpty()) HtmlDialog(_("RegEx Help"), HELPDIR + wxT("/RegExpHelp.htm"), wxT("RegExpHelp"), this); return; }
bool dir_recurse = false;
if (id == XRCID("wxID_OK"))
{ wxString next, cmd(wxT("grep "));
switch(DirectoriesRadio->GetSelection())
{ case 0: next = wxT("-d read "); break; // Try to match dirnames
case 1: next = wxT("-r "); dir_recurse = true; break; // Recurse into dirs. Flag this, we use it below
case 2: next = wxT("-d skip "); break; // Ignore
}
cmd << next; next.Empty();
if (WholeWord->IsChecked()) next << wxT("-w ");
if (IgnoreCase->IsChecked()) next << wxT("-i ");
if (PrefixLineno->IsChecked()) next << wxT("-n ");
if (Binaries->IsChecked()) next << wxT("-I ");
if (Devices->IsChecked()) next << wxT("-D skip ");
cmd << next;
next = SearchPattern->GetValue();
if ( next.IsEmpty()) { BriefMessageBox bmb(wxT("You need to provide a pattern to Search for"), -1, wxT("O_o")); return; }
cmd << wxT("\\\"") << next << wxT("\\\" "); SaveCombosHistory(6); // Grep runs in a shell, so we have to escape the quotes
next = PathGrep->GetValue();
if ( next.IsEmpty()) { BriefMessageBox bmb(wxT("You need to provide a Path to Search in"), -1, wxT("O_o")); return; }
// If the -r option isn't 2b used, we need to ensure that any dir Path is wildcarded: otherwise nothing will be searched. So add a * if it's a dir
if (wxDirExists(next)) AddWildcardIfNeeded(dir_recurse, next); // '~/filefoo' is OK anyway. '~/dirbar/ ~/dirbaz/' will fail: too bad
QuoteExcludingWildcards(next);
cmd << next;
SaveCombosHistory(7); SaveCheckboxState();
// Even though quickgrep has no history combo, we must add the command to Tools::History, otherwise the combobox subhistories aren't saved
int index = parent->History.Index(cmd, false); // See if this command already exists in the history array
if (index != wxNOT_FOUND)
parent->History.RemoveAt(index); // If so, remove it. We'll add it back into position zero
parent->History.Insert(cmd, 0); // Either way, insert into position zero
cmd = wxT("sh -c \"") + cmd; cmd << wxT('\"');
parent->text->HistoryAdd(cmd); parent->text->RunCommand(cmd); parent->text->SetFocus(); // Run the command in the terminalem
}
EndModal(id); // Return the id, because we must anyway, and it might be XRCID("FullGrep")
}
void QuickGrepDlg::AddWildcardIfNeeded(const bool dir_recurse, wxString& path) const // Adds a * to the path if appropriate
{
if (dir_recurse || path.IsEmpty()) return; // If -r, we don't need an asterix anyway
if (path.Right(1) != wxFILE_SEP_PATH) path << wxFILE_SEP_PATH;
path << wxT('*');
}
void QuickGrepDlg::OnUpdateUI(wxUpdateUIEvent& event)
{
if (DirectoriesRadio == NULL) return; // Protection against too-early updateui events
int id = event.GetId();
if (id == XRCID("FullGrepDefault"))
if (((wxCheckBox*)event.GetEventObject())->IsChecked()) WHICHGREP = PREFER_FULLGREP;
}
BEGIN_EVENT_TABLE(QuickGrepDlg, wxDialog)
EVT_BUTTON(wxID_ANY, QuickGrepDlg::OnButton)
EVT_CHECKBOX(wxID_ANY, QuickGrepDlg::OnCheck)
EVT_KEY_DOWN(QuickGrepDlg::OnKeyDown)
EVT_UPDATE_UI(wxID_ANY, QuickGrepDlg::OnUpdateUI)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
wxArrayString TerminalEm::History;
int TerminalEm::HistoryCount = -1; // But will be overwritten in LoadHistory() if there's any previous
bool TerminalEm::historyloaded = false;
int TerminalEm::QuerySuperuser = -1;
TerminalEm::~TerminalEm()
{
SaveHistory();
if (multiline) SetWorkingDirectory(originaldir); // If we originally changed to cwd, revert it
}
void TerminalEm::Init() // Do the ctor work here, as otherwise wouldn't be done under xrc
{
int fontsize;
m_running = NULL; m_ExecInPty = NULL; // Null to show there isn't currently a running process or pty
m_timerIdleWakeUp.SetOwner(this); // Initialise the timer
SetName(wxT("TerminalEm")); // Distinctive name for DnD
if (TERMINAL_FONT.Ok())
{
#if (defined(__WXGTK__) && ! defined(__WXGTK20__) && ! defined(__WXGTK3__))
if (multiline) // Incomprehensibly, setting the commandline font in gtk1 > 2.4.2 gives a totally wrong font. OK in gtk2, X11; and OK with the same code in the TerminalEm :/
#endif
{ SetFont(TERMINAL_FONT);
#if wxVERSION_NUMBER >= 3000 && defined(__WXGTK3__) && !GTK_CHECK_VERSION(3,10,0)
SetDefaultStyle(wxTextAttr(wxNullColour, wxNullColour, TERMINAL_FONT)); // See the comment in GetSaneColour() for the explanation
#else
SetDefaultStyle(wxTextAttr(wxNullColour, wxNullColour, TERMINAL_FONT));
#endif
}
}
else
{
#ifdef __WXGTK20__
wxFont font = GetFont(); fontsize = font.GetPointSize() - 2; // GTK2 gives a font-size that is c.2 points larger than GTK1.2
font.SetPointSize(fontsize); SetFont(font); // This changes it only for the INPUT of the textctrl. See a few lines down for output
#else
wxFont font = GetFont(); fontsize = font.GetPointSize();
#endif
#if wxVERSION_NUMBER >= 3000 && defined(__WXGTK3__) && !GTK_CHECK_VERSION(3,10,0)
SetDefaultStyle(wxTextAttr(wxNullColour, wxNullColour, wxFont(fontsize, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL)));
#else
SetDefaultStyle(wxTextAttr(wxNullColour, wxNullColour, wxFont(fontsize, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL)));
#endif
}
CommandStart = 0;
busy = false;
PromptFormat = TERMEM_PROMPTFORMAT;
display = this; // The default display destination is ourselves. This won't work for commandlines, which will reset it later
if (multiline && MyFrame::mainframe->GetActivePane())
{ originaldir = GetCwd(); // If this is the terminal emulator, not the commandline, save the original cwd
SetWorkingDirectory(MyFrame::mainframe->GetActivePane()->GetActiveDirPath()); // & then set it to the currently-selected path
}
LoadHistory();
WritePrompt(); // Writes the chosen prompt
}
void TerminalEm::LoadHistory()
{
if (historyloaded) // It's already been loaded by another instance
{ HistoryCount = History.GetCount() - 1; return; } // So just set the index to the correct place & return
wxConfigBase *config = wxConfigBase::Get();
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
config->SetPath(wxT("/History/Terminal/"));
size_t count = config->GetNumberOfEntries();
if (count)
{ wxString item, key, histprefix(wxT("hist_"));
for (size_t n=0; n < count; ++n) // Create the key for every item, from hist_a to hist_('a'+count-1)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Read(histprefix+key, &item); // Load the entry
if (item.IsEmpty()) continue;
History.Add(item); // Store it in the array
}
}
HistoryCount = History.GetCount() - 1; // Set the index to the correct place
historyloaded = true;
config->SetPath(wxT("/"));
}
void TerminalEm::SaveHistory()
{
wxConfigBase *config = wxConfigBase::Get();
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
config->DeleteGroup(wxT("/History/Terminal")); // Delete current info, otherwise we'll end up with duplicates or worse
config->SetPath(wxT("/History/Terminal/"));
size_t count = wxMin(History.GetCount(), MAX_COMMAND_HISTORY); // Count the entries to be saved: not TOO many
size_t first = History.GetCount() - count; // The newest commands are stored at the end of the array, so save the last 'count' of them
if (!count) { config->SetPath(wxT("/")); return; }
wxString item, key, histprefix(wxT("hist_")); // Create the key for every item, from hist_a to hist_('a'+count-1)
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Write(histprefix+key, History[first+n]); // Save the entry
}
config->Flush();
config->SetPath(wxT("/"));
}
inline void TerminalEm::FixInsertionPoint(void)
{
CommandStart = GetInsertionPoint();
}
void TerminalEm::WritePrompt()
{
wxString prompt;
promptdir = false; // This turns off changing the prompt with changes of dirview selection
// %h=hostname %H=hostname_up_to_dot %u=username %w=cwd %W=cwd basename only %$= either $, or # if root
if (PromptFormat.IsEmpty()) PromptFormat = wxT("%u@%h: %W %$>");
for (size_t n=0; n < PromptFormat.Len(); ++n)
{ wxChar c = PromptFormat[n];
if (c != wxT('%')) prompt += c; // If this is a standard character, add it to the string
else
{ c = PromptFormat[++n]; // If it was '%', the next char determines what to do
if (c==wxT('%')) { prompt += c; continue; } // %% really means it
if (c==wxT('H')) { prompt += wxGetFullHostName(); continue; } // Full host-name
if (c==wxT('h')) { prompt += wxGetHostName(); continue; } // Less-full host-name
if (c==wxT('u')) { prompt += wxGetUserId(); continue; } // Add user-name to prompt
if (c==wxT('w')) { prompt += GetCwd(); promptdir = true; continue; } // Add Current Working Dir
if (c==wxT('W')) { prompt += GetCwd().AfterLast(wxFILE_SEP_PATH); promptdir = true; continue; } // Filename-bit only of cwd
if (c==wxT('$')) // If user is root, add '#'. Otherwise add '$'
{ // The next bit works out if the user is root or otherwise, & sets a bit of the command-prompt accordingly
// It's static so done once only as su doesn't work anyway, so the answer shouldn't change!
if (QuerySuperuser == -1) // If we haven't done this already
QuerySuperuser = (getuid()==0);
if (QuerySuperuser == 1) prompt += wxT('#');
else prompt += wxT('$');
continue;
}
}
}
if (multiline) // We have to be a bit careful here. If there's any text Selected, we'll overwrite it, however many times we SetInsertionPointEnd()
{ long from, to; GetSelection(&from, &to); // Save any selection
SetSelection(GetLastPosition(), GetLastPosition()); // Cancel it, whether there's a valid one or not: even an old selection interferes
AppendText(prompt); // write the prompt,
if (from < to) SetSelection(from, to); // then reinstate any valid selection
}
else SetValue(prompt); // Set the command-line to the desired prompt
SetInsertionPointEnd();
FixInsertionPoint();
}
void TerminalEm::OnMouseDClick(wxMouseEvent& event)
{
static bool flag = false; // This flags whether we've already dealt with the original event
if (!flag) // False means it's the 1st time thru
{ event.Skip(); // Let the wxTextCtrl do its thing, to highlight the nearest word
wxMouseEvent clonedevent(wxEVT_LEFT_DCLICK); // Now make a duplicate event so that we can re-enter & do the things below
clonedevent.m_x = event.m_x; clonedevent.m_y = event.m_y;// We can't just continue downwards: it takes so long for the selection to occur
clonedevent.m_controlDown = event.m_controlDown;
wxPostEvent(this, clonedevent); // Action the new event, & set the flag so that when it appears, we'll know
flag = true; return;
}
flag = false; // Reset the flag, as we're about to deal with the clone event
wxString sel = ExtendSelection(); // Select the whole (presumed) filepath; the dclick itself stops at . and /
DoOpenOrGoTo(event.m_controlDown, sel); // & use another method to deal with it
}
wxString TerminalEm::ExtendSelection(long f, long t) // Extend selected text to encompass the whole contiguous word
{
long from, to;
if (f != -1 && t != -1)
{ from = f; to = t; }
else GetSelection(&from, &to); // Get the coords of the word selected
wxString OriginalSel = GetStringSelection();
if (OriginalSel.IsEmpty())
OriginalSel = GetRange(from, to);
// Now extend the selection backwards & forwards until we hit white-space: the dclick itself stops at . and /
long x, y; PositionToXY(from, &x, &y); // Find what line we're on
wxString wholeline = GetLineText(y);
int index2 = (int)x; int index1 = index2; // x should index the start of the highlit string
if (!wxIsspace(wholeline.at(index1))) // Just in case the dclick was at the end of the line
{ --index1; // index1 now indexes the char before the selection
while (index1 >=0) // Stop if we overreach the beginning of the line
{ if (wholeline.at(index1) == wxT(':') // Stop at the ':' that separates the matching text from the grep filepath. ofc this will break filepaths that contain ':'...
|| (wholeline.at(index1) == wxT('>') && (index1 > 0) && (wholeline.at(index1 - 1) == wxT('$') || wholeline.at(index1 - 1) == wxT('#'))))
{ ++index1; break; } // Stop if we reach $>, as this is the prompt
--index1; --from; // It's a valid char, so incorporate it into the selection and loop
}
}
// Now do the same thing to the end of the selection
index2 += OriginalSel.length() - 1; // index2 should now index the end of the highlit string
if (!wxIsspace(wholeline.at(index2))) // Just in case the dclick was at the end of the line
{ ++index2;
while (index2 < (int)wholeline.length())
{ if (wholeline.at(index2) == wxT(':'))
break; // Stop at the ':' that separates the grep filepath from the matching text. ofc this will break filepaths that contain ':'...
++index2; ++to;
}
}
SetSelection(from, to); // Select the whole contiguous word
if (index1 < 0) index1 = 0; // Unless we stop early for the prompt, index1 will be -1
return wholeline.Mid(index1, index2 - index1);
}
#ifdef __WXX11__
void TerminalEm::OnRightUp(wxMouseEvent& event) // EVT_CONTEXT_MENU doesn't seem to work in X11
{
wxContextMenuEvent evt(wxEVT_CONTEXT_MENU, 0, ClientToScreen(event.GetPosition()));
ShowContextMenu(evt);
}
#endif
void TerminalEm::ShowContextMenu(wxContextMenuEvent& event)
{
long from, to;
wxTextCoord x, y;
wxString Sel = GetStringSelection();
if (Sel.IsEmpty())
{ if (HitTest(ScreenToClient(wxGetMousePosition()), &x, &y) != wxTE_HT_UNKNOWN)
from = to = XYToPosition(x, y);
else GetSelection(&from, &to); // Failing that, default to the cursor position
int len = GetLineLength(y);
if (x < len) ++to; // If we're not at the end of a line, extend the 'selection' by 1
else if (x) --from; // Otherwise, assuming there's any text at all, dec by 1
else return; // No text so abort. Shouldn't happen as there'll always be a prompt
}
else
{ if (HitTest(ScreenToClient(wxGetMousePosition()), &x, &y) != wxTE_HT_UNKNOWN)
{ from = to = XYToPosition(x, y);
int len = GetLineLength(y);
if (x < len) ++to;
else if (x) --from;
else return; // No text so abort. Really shouldn't happen here as there was a selection!
}
else return;
}
SetSelection(from, to);
Sel = ExtendSelection(from, to);
if (Sel.Left(1) != wxFILE_SEP_PATH) Sel = GetCwd() + wxFILE_SEP_PATH + Sel; // If the selection can't be a valid absolute path, see if it's a relative one
FileData fd(Sel);
if (fd.IsValid()) { if (!(fd.IsRegularFile() || fd.IsSymlink())) return; } // If valid, see if it's an openable filepath. If not, abort
else
{ Sel = Sel.BeforeFirst( wxT(':')); // If not, see if it's a filepath followed by ':', as Grep results start with the filepath + ':'
FileData fd1(Sel);
if (!fd1.IsValid() || ! (fd.IsRegularFile() || fd.IsSymlink())) return; // If it still isn't an openable filepath, abort
}
wxMenu menu(wxT(""));
menu.Append(SHCUT_TERMINALEM_GOTO, _("GoTo selected filepath"));
wxMenuItem* open = menu.Append(wxID_ANY, _("Open selected file")); // Trying to use SHCUT_OPEN here fails as the frame insists on disabling it in UpdateUI
Connect(open->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(TerminalEm::OnOpenOrGoTo));
wxPoint pt = event.GetPosition();
ScreenToClient(&pt.x, &pt.y);
PopupMenu(&menu, pt.x, pt.y);
}
void TerminalEm::OnOpenOrGoTo(wxCommandEvent& event)
{
DoOpenOrGoTo(event.GetId() == SHCUT_TERMINALEM_GOTO); // The event could be Open or GoTo
}
void TerminalEm::DoOpenOrGoTo(bool GoTo, const wxString& selection /*=wxT("")*/) // Used by OnMouseDClick() & Context Menu
{
wxString Sel = selection;
if (Sel.empty())
Sel = GetStringSelection();
if (Sel.Left(1) != wxFILE_SEP_PATH) Sel = GetCwd() + wxFILE_SEP_PATH + Sel; // If the selection can't be a valid absolute path, see if it's a relative one
FileData* fd = new FileData(Sel);
if (!fd->IsValid())
{ delete fd;
Sel = Sel.BeforeFirst( wxT(':')); // If it isn't valid, see if it's a filepath followed by ':', as Grep results start with the filepath + ':'
fd = new FileData(Sel);
if (!fd->IsValid())
{ delete fd; return; } // If it still isn't a filepath, abort
}
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane();
if (!active) { delete fd; return; }
if (GoTo) // DClick uses the control key as signifying GoTo
{ active->OnOutsideSelect(Sel); // Select the path
if (fd->IsValid() && !fd->IsDir())
{ if (active->fileview == ISLEFT) active->partner->SetPath(fd->GetFilepath()); // & any filename
else active->SetPath(fd->GetFilepath());
}
delete fd; return;
}
delete fd;
if (active->fileview == ISLEFT) active = active->partner; // Otherwise find the active fileview & DoOpen()
((FileGenericDirCtrl*)active)->DoOpen(Sel);
}
void TerminalEm::OnKey(wxKeyEvent &event)
{
wxString command;
switch(event.GetKeyCode())
{
case WXK_PAGEUP:
if (!event.ControlDown()) { event.Skip(); return; } // If this is plain PageUp, we don't want to know
// If Ctrl-PageUp, go to the first history entry
if (HistoryCount < 0) return; // Already there
if (HistoryCount == (int)(History.GetCount() - 1)) // If this is the 1st step into History
UnenteredCommand = GetRange(CommandStart, GetLastPosition()); // save any partially-entered command, lest it's wanted later
HistoryCount = 0; // Go to the first history entry
Remove(CommandStart, GetLastPosition());
SetSelection(GetLastPosition(), GetLastPosition()); // Cancel any selection, which otherwise would grab the AppendText: even an old selection interferes
AppendText(GetPreviousCommand());
SetInsertionPointEnd();
return;
case WXK_UP: if (HistoryCount == (int)(History.GetCount() - 1)) // If this is the 1st step into History
UnenteredCommand = GetRange(CommandStart, GetLastPosition()); // save any partially-entered command, lest it's wanted later
command = GetPreviousCommand(); // Get the previous command
if (command.IsEmpty()) return; // If empty, we're out of them so abort
Remove(CommandStart, GetLastPosition()); // Clear the textctrl (except for the cursor)
SetSelection(GetLastPosition(), GetLastPosition()); // Cancel any selection, which otherwise would grab the AppendText: even an old selection interferes
AppendText(command); // Insert the previous command
SetInsertionPointEnd();
return;
case WXK_PAGEDOWN:
if (!event.ControlDown()) { event.Skip(); return; } // If this is plain PageDown, we don't want to know
// If Ctrl-PageDown, go to the UnenteredCommand if it exists, else blank
HistoryCount = (int)(History.GetCount() - 2); // This sets up for GetNextCommand(), into which we fall
case WXK_DOWN: Remove(CommandStart, GetLastPosition());
SetSelection(GetLastPosition(), GetLastPosition()); // Cancel any selection, which otherwise would grab the AppendText: even an old selection interferes
AppendText(GetNextCommand()); // Don't check for empty this time, as a blank is useful
SetInsertionPointEnd();
return;
case WXK_NUMPAD_ENTER:
case WXK_RETURN: command = GetRange(CommandStart, GetLastPosition());
command.Trim(false);
command.Trim(true);
// Using 'display->' below ensures that commandline commands are passed to terminal
display->AppendText(wxT("\n")); // Run the command on a new line
if (!multiline) OnClear(); // If not multiline, clear the text
if (CheckForCD(command)) // If this is just a request to change dir, do it & abort.
{ HistoryAdd(command); return; }
// If there's already a process running, the string is user input into it
if (m_running != NULL) m_running->InputString = command;
else if (m_ExecInPty != NULL) m_ExecInPty->AddInputString(command);
else // Otherwise it must be a command to be run
{ HistoryAdd(command); // Store the command first, as it may be altered in Process()
QueryWrapWithShell(command); // Searches command for e.g. '>'. If found, wraps command with sh -c
busy = true;
display->RunCommand(command, false); // False says this is internally generated, not from eg Find
busy = false;
}
return;
case WXK_DELETE:
case WXK_BACK: long from, to; GetSelection(&from, &to);
if (to > from) // If there's a valid selection, delete it
{ if (to > CommandStart) Remove(wxMax(from,CommandStart), to); }
else // Otherwise do a normal Del/Backspace
{ if (event.GetKeyCode() == WXK_BACK)
{ long IP; IP = GetInsertionPoint(); if (IP > CommandStart) Remove(IP-1, IP); }
else
{ long IP; IP = GetInsertionPoint(); if (IP >= CommandStart && IP < GetLastPosition()) Remove(wxMax(IP,CommandStart), IP+1); }
}
return;
case WXK_LEFT: if (GetInsertionPoint() > CommandStart) event.Skip();
return;
case WXK_HOME: SetInsertionPoint(CommandStart);
return;
}
// We need to do this here, as otherwise wxTextCtrl swallows Ctrl-F. NB in gtk2, we can't use the event to get the flags, so:
int flags = 0; if (wxGetKeyState(WXK_CONTROL)) flags |= wxACCEL_CTRL; if (wxGetKeyState(WXK_ALT)) flags |= wxACCEL_ALT; if (wxGetKeyState(WXK_SHIFT)) flags |= wxACCEL_SHIFT;
AccelEntry* accel = MyFrame::mainframe->AccelList->GetEntry(SHCUT_TOOL_FIND);
if (event.GetKeyCode() == 'F' && accel->GetKeyCode() == 'F' && accel->GetFlags() == flags) // Of course we have to check that the shortcut hasn't been changed
{ MyFrame::mainframe->Layout->DoTool(find); return; }
#ifdef __WXX11__
accel = MyFrame::mainframe->AccelList->GetEntry(SHCUT_SELECTALL);
if (event.GetKeyCode() == accel->GetKeyCode() && accel->GetFlags() == flags) { OnCtrlA(); return; } // X11 doesn't seem to do Ctrl-A, & I couldn't get an accel table to work
#endif
// If it wasn't any of these exciting keys, just ensure a sane cursor position, then pass the buck to base-class
long from, to; GetSelection(&from, &to); // but we do need to prevent the prompt being deleted accidentally if part of it is selected, then a key pressed
if (to > from) // If there is a selection,
{ if (to < CommandStart) return; // Abort if it's only the prompt that's selected
if (from < CommandStart) SetSelection(CommandStart, to); // Otherwise move the selection start to the deletable bit
}
if (GetInsertionPoint() < CommandStart) SetInsertionPointEnd();
event.Skip();
}
void TerminalEm::HistoryAdd(wxString& command)
{
if (command.IsEmpty()) return;
// Append the command to History, but only if it doesn't duplicate the previous entry
size_t count = History.GetCount();
if (count && (History[count-1] == command)) ; // If identical commands, don't do anything
else History.Add(command);
UnenteredCommand.Empty(); // If we've been hoarding a partially-entered command, we can stop now
// HistoryCount might have been indexing anywhere in History, due to previous retrievals. Reset it to the top
HistoryCount = History.GetCount() - 1;
}
wxString TerminalEm::GetPreviousCommand() // Retrieve the 'Previous' command from History
{
if (!History.GetCount()) { wxBell(); return wxEmptyString; } // Not a lot to retrieve!
if (HistoryCount < 0) { wxBell(); return wxEmptyString; } // We've already retrieved all the available history
wxString command = History[HistoryCount--]; // HistoryCount points to the item to be returned by a Previous request. Dec it after, for the future
return command;
}
wxString TerminalEm::GetNextCommand() // Retrieve the 'Next' command from History ie move towards the current 'entry'
{
if (!History.GetCount()) return wxEmptyString; // Not a lot to unretrieve!
if (HistoryCount == (int)(History.GetCount() - 2)) // Already unretrieved all the genuine history
{ ++HistoryCount; return UnenteredCommand; } // so inc HistoryCount ready for a 'Previous', & return the carefully preserved UnenteredCommand
if (HistoryCount >= (int)(History.GetCount() - 1)) // Already unretrieved all the genuine history AND the UnenteredCommand
return wxEmptyString; // so return blank, to give a clean sheet if desired
wxString command = History[++HistoryCount + 1]; // HistoryCount points to the last item returned by a Next request, so inc it first
return command;
}
void TerminalEm::OnClear()
{
Clear();
WritePrompt();
}
void TerminalEm::OnChangeDir(const wxString& newdir, bool ReusePrompt) // Change the cwd, this being the only way to cd in the terminal/commandline
{
wxLogNull NoCantFindDirMessagesThanks;
// The 'if' part of this is to protect against being inside an archive: you can't SetWorkingDirectory there!
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane();
if (active && active->arcman && active->arcman->IsWithinArchive(newdir))
{ SetWorkingDirectory(active->arcman->GetPathOutsideArchive()); }
else
{ FileData fd(newdir); // SetWorkingDirectory() can't cope with filepaths, only paths, so amputate any filename bit
if (!fd.IsValid()) { return; }
if (fd.IsSymlinktargetADir())
SetWorkingDirectory(fd.GetUltimateDestination());
else
SetWorkingDirectory(fd.IsDir() ? newdir : fd.GetPath());
}
if (!ReusePrompt) { WritePrompt(); return; } // If this is a from a terminal cd, we need to rewrite the prompt properly
// Otherwise this must be from a change of dirview selection
if (!promptdir) return; // If the prompt doesn't contain the dir, no point changing it!
if (busy) return; // If we're in the middle of a command, don't redo the prompt
// Redraw the prompt rather than redo it on a new line. This allows any user input to be conserved
wxString temp = GetRange(CommandStart, GetLastPosition()); // Save any recently-entered text
int len = GetLineLength(GetNumberOfLines() - 1); // We need to find the start-of-line position. The only way is to find the line & its length, then start = end-len
Remove(GetLastPosition() - len, GetLastPosition()); // Delete the current line
SetInsertionPointEnd(); // Make sure we're actually on the last line, & haven't been scrolling up the screen!
WritePrompt();
SetSelection(GetLastPosition(), GetLastPosition()); // Cancel any selection, which otherwise would grab the AppendText; even an old selection interferes
AppendText(temp);
}
int TerminalEm::CheckForSu(const wxString& command) // su fails and probably hangs, so check and abort here. su -c and sudo need different treatment
{
if (command.IsEmpty()) return 0;
// Returns 0 for 'su', so the caller should abort; 1 for a standard command; 2 for su -c or sudo, which requires 4Pane's builtin su
int ret = _CheckForSu(command); // Use a function, as the code is shared with LaunchMiscTools::Run
if (ret == 0)
{ wxString msg(_("Sorry, becoming superuser like this isn't possible here.\n"));
if (USE_SUDO) msg << _("You need to start each command with 'sudo'");
else msg << _("You can instead do: su -c \"\"");
wxMessageBox(msg, wxT("4Pane"), wxICON_ERROR | wxOK, this);
Remove(CommandStart, GetLastPosition());
}
return ret;
}
bool TerminalEm::CheckForCD(wxString command) // cd refuses to work, so intercept attempts & do it here
{
if (command.IsEmpty()) return true; // Returning true tells caller there's nothing else to do
if (command.Left(2) != wxT("cd")) return false; // Not a cd attempt so return false so that RunCommand takes over
if (wxIsalpha(command.GetChar(2))) return false; // This must be a real command beginning with cd???
if (command == wxT("cd.") || command == wxT("cd .")) return true; // Not a lot to do
if (command == wxT("cd") || command == wxT("cd~") || command == wxT("cd ~")) // Go home
command = wxGetHomeDir();
else // Otherwise it should be a real dir. Remove the initial cd, plus any white-space
{ command = command.Mid(2); command.Trim(false); }
MyFrame::mainframe->Layout->OnChangeDir(command, false); // The residue should be a valid dir to change to
return true;
}
void TerminalEm::ClearHistory()
{
History.Clear();
}
void TerminalEm::RunCommand(wxString& command, bool external /*= true*/) // Do the Process/Execute things to run the command
{
if (command.IsEmpty()) return;
if (external) // If this is an externally generated command eg locate, grep
{ AppendText(command); AppendText(wxT("\n")); } // write the command into the terminal, then CR
int chk_for_su = CheckForSu(command);
if (chk_for_su == 0) return; // A 'su' attempt
if (chk_for_su == 2) // 'su -c ' or 'sudo ', so ExecuteInPty()
{ m_ExecInPty = new ExecInPty(this);
/*long ret =*/ m_ExecInPty->ExecuteInPty(command);
/* if (ret > 0)
{ if (!errors.GetCount()) { wxLogError(wxT("Execution of '%s' failed."), command.c_str()); } // If there's no message, fire a dialog
for (size_t n=0; n < errors.GetCount(); ++n) *this << errors.Item(n);
}
else
{ for (size_t n=0; n < output.GetCount(); ++n) *this << output.Item(n); }
WritePrompt(); return;*/
}
else // The standard, non-super way
{ MyPipedProcess* process = new MyPipedProcess(this, external); // Make a new Process, the sort with built-in redirection
long pid = wxExecute(command, wxEXEC_ASYNC | wxEXEC_MAKE_GROUP_LEADER, process); // Try & run the command. pid of 0 means failed
if (!pid)
{ wxLogError(wxT("Execution of '%s' failed."), command.c_str());
delete process; return;
}
process->m_pid = pid; // Store the pid in case Cancel is pressed
AddAsyncProcess(process); // Start the timer to poll for output
}
wxWindow* Cancel = MyFrame::mainframe->Layout->bottompanel->FindWindow(XRCID("Cancel"));
if (Cancel) { Cancel->Enable(); Cancel->Update(); }
}
void TerminalEm::AddInput(wxString input) // Displays input received from the running Process
{
if (input.IsEmpty()) return;
display->AppendText(input); // Add string to textctrl. See above for explanation of display
SetInsertionPointEnd(); // If we don't, the above text is added to any future user input and passed to the command!
FixInsertionPoint();
}
void TerminalEm::OnEndDrag() // Drops filenames into the prompt-line, either of the terminal em or commandline
{
wxString command;
enum myDragResult dragtype = MyFrame::mainframe->ParseMetakeys(); // First find out if any metakeys were pressed
for (size_t count=0; count < MyGenericDirCtrl::DnDfilecount; ++count)
switch (dragtype) // I'm reusing the ParseMetakeys answers, even though they're nothing to do with TerminalEm
{
case myDragHardLink: // Ctrl+Sh pressed, so add the whole filepath to the string
command += MyGenericDirCtrl::DnDfilearray[count] + wxT(' '); continue;
case myDragCopy: command += wxT("./"); // Just Ctrl pressed, so add "./" to the string, then fall thru to add the filename
default: wxString filename = MyGenericDirCtrl::DnDfilearray[count].AfterLast(wxFILE_SEP_PATH); // Treat anything else as none pressed
if (filename.IsEmpty()) filename = (MyGenericDirCtrl::DnDfilearray[count].BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH);
command += filename + wxT(' ');
}
AppendText(command); // Insert at the command prompt
SetInsertionPointEnd();
SetFocus(); // Without this, adding a filepath by drag to e.g. rm -f leaves the focus on the treectrl, so pressing Enter tries to launch the file
MyFrame::mainframe->m_TreeDragMutex.Unlock(); // Finally, release the tree-mutex lock
}
void TerminalEm::OnCancel()
{
if (m_running) m_running->OnKillProcess(); // If there's a running process, murder it
wxWindow* Cancel = MyFrame::mainframe->Layout->bottompanel->FindWindow(XRCID("Cancel"));
if (Cancel) Cancel->Disable(); // We don't need the Cancel button for a while
}
void TerminalEm::OnSetFocus(wxFocusEvent& WXUNUSED(event))
{
HelpContext = HCterminalEm;
}
void TerminalEm::AddAsyncProcess(MyPipedProcess* process /*= NULL*/) // Starts up the timer that generates wake-ups for OnIdle
{
if (!process) // If it's an ExecInPty instance, just start the timer
{ m_timerIdleWakeUp.Start(100); return; }
if (m_running==NULL) // If it's not null, there's already a running process
{ m_timerIdleWakeUp.Start(100); // Tell the timer to create idle events every 1/10th sec
m_running = process;
}
}
void TerminalEm::RemoveAsyncProcess(MyPipedProcess* process /*= NULL*/) // Stops everything, whether we were using a process or an ExecInPty
{
m_timerIdleWakeUp.Stop();
delete process;
delete m_ExecInPty;
m_running = NULL; m_ExecInPty = NULL;
}
void TerminalEm::OnProcessTerminated(MyPipedProcess* process /*= NULL*/)
{
RemoveAsyncProcess(process); // Shut down the process
wxWindow* Cancel = MyFrame::mainframe->Layout->bottompanel->FindWindow(XRCID("Cancel"));
if (Cancel) Cancel->Disable(); // We don't need the Cancel button for a while
wxLogNull NoCantFindDirMessagesThanks; // Just in case the Process was "rm -rf ."
WritePrompt();
}
void TerminalEm::OnTimer(wxTimerEvent& WXUNUSED(event)) // When the timer fires, it wakes up the OnIdle method
{
wxWakeUpIdle();
}
void TerminalEm::OnIdle(wxIdleEvent& event) // Made to happen by the timer firing, runs HasInput() while there is more to come
{
if (m_running)
{ m_running->SendOutput(); // Send any user-output to the process
m_running->HasInput(); // Check for input from the process
}
else if (m_ExecInPty)
m_ExecInPty->WriteOutputToTextctrl(); // Get any input from the pty
}
IMPLEMENT_DYNAMIC_CLASS(TerminalEm, TextCtrlBase)
BEGIN_EVENT_TABLE(TerminalEm, TextCtrlBase)
EVT_MENU(SHCUT_TERMINALEM_GOTO, TerminalEm::OnOpenOrGoTo)
EVT_SET_FOCUS(TerminalEm::OnSetFocus)
EVT_LEFT_DCLICK(TerminalEm::OnMouseDClick)
EVT_CONTEXT_MENU(TerminalEm::ShowContextMenu)
#ifdef __WXX11__
EVT_RIGHT_UP(TerminalEm::OnRightUp) // EVT_CONTEXT_MENU doesn't seem to work in X11
#endif
EVT_KEY_DOWN(TerminalEm::OnKey)
EVT_IDLE(TerminalEm::OnIdle)
EVT_TIMER(-1, TerminalEm::OnTimer)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
MyBriefLogStatusTimer* BriefLogStatus::BriefLogStatusTimer = NULL;
BriefLogStatus::BriefLogStatus(wxString Message, int secondsdisplayed /*= -1*/, int whichstatuspane /*= 1*/)
{
if (!BriefLogStatusTimer)
BriefLogStatusTimer = new MyBriefLogStatusTimer;
//wxString olddisplay = MyFrame::mainframe->GetStatusBar()->GetStatusText(whichstatuspane); // Save the current display for this statusbar pane
wxString olddisplay; // This was a good idea, but as I don't currently use pane 0 for any 'permanent' display, it's unnecessary, and causes confusion if the last display was itself meant 2b brief
BriefLogStatusTimer->Stop(); // In case another message is already displayed
BriefLogStatusTimer->Init(MyFrame::mainframe, olddisplay, whichstatuspane);
MyFrame::mainframe->SetStatusText(Message, whichstatuspane);
int length;
if (secondsdisplayed == 0) return; // Zero signifies indefinite
if (secondsdisplayed < 0) // Minus number means default
length = DEFAULT_BRIEFLOGSTATUS_TIME;
else length = secondsdisplayed;
BriefLogStatusTimer->Start(length * 1000, wxTIMER_ONE_SHOT);
}
void DoBriefLogStatus(int no, wxString msgA, wxString msgB) // A convenience function, to call BriefLogStatus with the commonest requirements
{
wxString msg; msg << no;
if (msgA.IsEmpty()) // If nothing different was supplied, call the things item(s)
{ wxString item = (no > 1 ? _(" items ") : _(" item "));
msgA << item;
}
if (msgA.GetChar(0) != wxT(' ')) msg << wxT(' ');
BriefLogStatus bls(msg + msgA + msgB);
}
//-----------------------------------------------------------------------------------------------------------------------
int LaunchMiscTools::m_menuindex = -1;
void LaunchMiscTools::ClearData()
{
for (int n = (int)ToolArray.GetCount(); n > 0; --n) { UserDefinedTool* item = ToolArray.Item(n-1); delete item; ToolArray.RemoveAt(n-1); }
for (int n = (int)FolderArray.GetCount(); n > 0; --n) { UDToolFolder* item = FolderArray.Item(n-1); delete item; FolderArray.RemoveAt(n-1); }
}
void LaunchMiscTools::LoadMenu(wxMenu* tools /*=NULL*/)
{
bool FromContextmenu = (tools != NULL);
LoadArrays();
if (!FolderArray.GetCount()) return; // No data, not event the "Run a Program" menu
if (tools == NULL) // If so, we're loading the menubar menu, so find it
{ wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Tools menu index not set")); // Should have been set when the bar was loaded
tools = MyFrame::mainframe->GetMenuBar()->GetMenu(m_menuindex);
wxCHECK_RET(tools, wxT("Couldn't find the Tools menu"));
static bool alreadyloaded=false; if (!alreadyloaded) { tools->AppendSeparator(); alreadyloaded=true; } // We don't want multiple separators due to reloads
}
FillMenu(tools); // Do everything else in recursive submethod
if (FromContextmenu) // If were filling the context menu
{ if (LastCommandNo != (size_t)-1) // and there *was* a last command
{ wxString lastlabel(_("Repeat: ")); // Alter the Repeat Last Command menu entry to display the actual command
lastlabel += ToolArray[ LastCommandNo-SHCUT_TOOLS_LAUNCH ]->Label;
tools->Append(SHCUT_TOOLS_REPEAT, lastlabel);
}
}
else
tools->Append(SHCUT_TOOLS_REPEAT, _("Repeat Previous Program"));
}
void LaunchMiscTools::LoadArrays() // from config
{
ClearData(); // Make sure the arrays are empty: they won't be for a re-load!
EventId = SHCUT_TOOLS_LAUNCH; FolderIndex = EntriesIndex = 0; // Similarly reset EventId & indices
Load(wxT("/Tools/Launch")); // Recursively load data from config into structarrays
}
void LaunchMiscTools::Load(wxString name) // Recursively load from config a (sub)menu 'name' of user-defined commands
{
if (name.IsEmpty()) return;
if (EventId >= SHCUT_TOOLS_LAUNCH_LAST) return; // Not very likely, since there's space for 500 tools!
wxConfigBase* config = wxConfigBase::Get();
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
config->SetPath(name); // Use name to create the config path eg /Tools/Launch/a
struct UDToolFolder* folder = new UDToolFolder;
config->Read(wxT("Label"), &folder->Label);
wxString itemlabel, itemdata, key, data(wxT("data_")), root(wxT("asroot_")), terminal(wxT("terminal_")), persists(wxT("persists_")),
refreshpage(wxT("refreshpage_")), refreshopposite(wxT("refreshopposite_")), label(wxT("label_"));
bool asroot, interminal, terminalpersists, refresh, refreshopp;
// First do the entries
size_t count = (size_t)config->Read(wxT("Count"), 0l);// Load the no of tools
for (size_t n=0; n < count; ++n) // Create the key for every item, from label_a & data_a, to label_/data_('a'+count-1)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Read(label+key, &itemlabel); // Load the entry's label
config->Read(data+key, &itemdata); // & data
config->Read(root+key, &asroot, false);
config->Read(terminal+key, &interminal, false);
config->Read(persists+key, &terminalpersists, false);
config->Read(refreshpage+key, &refresh, false);
config->Read(refreshopposite+key, &refreshopp, false);
if (itemdata.IsEmpty()) continue;
if (itemlabel.IsEmpty()) itemlabel = itemdata; // If need be, use the data as label
AddToolToArray(itemdata, asroot, interminal, terminalpersists, refresh, refreshopp, itemlabel); // Make a new tool item & append it to toolarray
folder->Entries++; // We've successfully loaded an entry, so inc the count for this folder
}
count = config->GetNumberOfGroups(); // Count how many subfolders this folder has. Save the number
folder->Subs = count;
FolderArray.Add(folder);
// Now deal with any subfolders, by recursion
for (size_t n=0; n < count; ++n) // Create the path for each. If name was "a", then subfolders will be "a/a", "a/b" etc
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
Load(name + wxCONFIG_PATH_SEPARATOR + key);
}
config->SetPath(wxT("/"));
}
void LaunchMiscTools::SaveMenu() // Save data from the folder & tools arrays to config, delete all menu entries
{
if (!FolderArray.GetCount()) return; // No data, not even the "Run a Program" menu
FolderIndex = EntriesIndex = 0; // Reset indices. The submethod uses these to index next entry/folder to save
wxConfigBase* config = wxConfigBase::Get();
config->DeleteGroup(wxT("/Tools/Launch")); // Delete current info (otherwise deleted data could remain, & be reloaded in future)
Save(wxT("/Tools/Launch"), config); // Recursively save
config->Flush();
wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Tools menu index not set")); // Should have been set when the bar was loaded
wxMenu* tools = MyFrame::mainframe->GetMenuBar()->GetMenu(m_menuindex);
wxCHECK_RET(tools, wxT("Couldn't find the Tools menu"));
int sm = tools->FindItem(FolderArray[0]->Label); // Find the id menu of the relevant submenu in the Tools menu
if (sm == wxNOT_FOUND) return;
tools->Destroy(sm); // Use this to delete (recursively) the "Run a Program" menu
tools->Delete(SHCUT_TOOLS_REPEAT); // Finally remove the "Repeat Last Command" entry, otherwise we'll end up with several of them
}
void LaunchMiscTools::Save(wxString name, wxConfigBase* config) // Recursively save to config a (sub)menu of user-defined commands
{
if (FolderIndex >= FolderArray.GetCount()) return;
struct UDToolFolder* folder = FolderArray[FolderIndex++];
wxString key, data(wxT("/data_")), root(wxT("/asroot_")), terminal(wxT("/terminal_")), persists(wxT("/persists_")),
refreshpage(wxT("/refreshpage_")), refreshopposite(wxT("/refreshopposite_")), label(wxT("/label_"));
config->Write(name + wxT("/Label"), folder->Label); // Save the metadata & entries for this folder
config->Write(name + wxT("/Count"), (long)wxMin(folder->Entries, 26));
for (size_t n=0; n < folder->Entries; ++n) // Create the key for every item, from label_a & data_a, to label_/data_('a'+count-1)
{ if (EntriesIndex >= ToolArray.GetCount()) break;
if (n > 25) { EntriesIndex++; break; } // We can only cope with 26 tools per folder (!). Inc thru any excess
key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Write(name + label + key, ToolArray[EntriesIndex]->Label);
config->Write(name + data + key, ToolArray[EntriesIndex]->Filepath);
config->Write(name + root + key, ToolArray[EntriesIndex]->AsRoot);
config->Write(name + terminal + key, ToolArray[EntriesIndex]->InTerminal);
config->Write(name + persists + key, ToolArray[EntriesIndex]->TerminalPersists);
config->Write(name + refreshpage + key, ToolArray[EntriesIndex]->RefreshPane);
config->Write(name + refreshopposite + key, ToolArray[EntriesIndex++]->RefreshOpposite);
}
// Now deal with any subfolders, by recursion
for (size_t n=0; n < folder->Subs; ++n)
{ if (n > 25) { FolderIndex++; break; }
key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Create the path for each. If name was "/Tools/Launch/a", then subfolders will be "/Tools/Launch/a/a", "../a/b" etc
Save(name + wxCONFIG_PATH_SEPARATOR + key, config);
}
}
void LaunchMiscTools::Export(wxConfigBase* config) // Exports the data to a conf file
{
if (!FolderArray.GetCount()) return; // No data, not even the "Run a Program" menu
size_t OldEntriesIndex = EntriesIndex; size_t OldFolderIndex = FolderIndex; // Save the real values
FolderIndex = EntriesIndex = 0; // Reset indices. The submethod uses these to index next entry/folder to save
Save(wxT("/Tools/Launch"), config); // Recursively save
EntriesIndex = OldEntriesIndex;FolderIndex = OldFolderIndex;
}
void LaunchMiscTools::AddToolToArray(wxString& command, bool asroot, bool interminal, bool terminalpersists,
bool refreshpane, bool refreshopp, wxString& label, int insertbeforeitem/* = -1*/) // -1 signifies append
{
struct UserDefinedTool* toolstruct = new UserDefinedTool;
toolstruct->Filepath = command; toolstruct->AsRoot = asroot; toolstruct->InTerminal = interminal; toolstruct->TerminalPersists = terminalpersists;
toolstruct->RefreshPane = refreshpane; toolstruct->RefreshOpposite = refreshopp; toolstruct->Label = label;
toolstruct->ID = EventId++;
if (insertbeforeitem != -1 && ToolArray.GetCount() && insertbeforeitem < (int)(ToolArray.GetCount()))
ToolArray.Insert(toolstruct, insertbeforeitem);
else ToolArray.Add(toolstruct);
}
bool LaunchMiscTools::AddTool(int folder, wxString& command, bool asroot, bool interminal, bool terminalpersists, bool refreshpane, bool refreshopp, wxString& label)
{
if (FolderArray.Item(folder)->Entries > 25)
{ wxMessageBox(_("Sorry, there's no room for another command here\nI suggest you try putting it in a different submenu"),
wxT("4Pane"), wxOK | wxCENTRE, MyFrame::mainframe->GetActivePane());
return false;
}
// We need to find after which entry to insert, so for every folder <= the one 2b added to, add its entries to entrycount
size_t entrycount=0; for (int n=0; n <= folder; ++n) entrycount += FolderArray.Item(n)->Entries;
if (entrycount && (entrycount < ToolArray.GetCount())) // For any tool above the new entry, we must inc any existing accel shortcut-no
{ int nextID = ToolArray.Item(entrycount-1)->ID;
ArrayOfAccels accelarray = MyFrame::mainframe->AccelList->GetAccelarray();
for (size_t n=0; n < accelarray.GetCount(); ++n)
if (accelarray.Item(n)->GetShortcut() > nextID)
accelarray.Item(n)->SetShortcut(accelarray.Item(n)->GetShortcut() + 1);
MyFrame::mainframe->AccelList->SaveUserDefinedShortcuts(accelarray); // Save the amended shortcut data
}
AddToolToArray(command, asroot, interminal, terminalpersists, refreshpane, refreshopp, label, entrycount); // Do the addition
FolderArray.Item(folder)->Entries++;
BriefMessageBox msg(_("Command added"), AUTOCLOSE_TIMEOUT / 1000, _("Success")); return true;
}
bool LaunchMiscTools::DeleteTool(int sel)
{
int entrycount = 0; // We need to find which folder contains the entry to delete, so we can dec its count
for (size_t n=0; n < FolderArray.GetCount(); ++n)
{ entrycount += FolderArray.Item(n)->Entries; // Get a cum total of entries in the folders to date
if (entrycount < sel) continue; // If the cum entrycount is less than this selection, we're not there yet
FolderArray.Item(n)->Entries--; break; // If entrycount >= the selection, the current folder must be the one to dec
}
int nextID = ToolArray.Item(sel)->ID; // Now sort out any user-defined accelerators for tools
ArrayOfAccels accelarray = MyFrame::mainframe->AccelList->GetAccelarray();
for (size_t n=0; n < accelarray.GetCount(); ++n)
{ if (accelarray.Item(n)->GetShortcut() == nextID) // If the tool 2b deleted has a shortcut, delete it
{ accelarray.RemoveAt(n); // (I expected to have to delete this entry, but trying->segfault)
--n; // We now have to dec n, else the next entry gets missed
}
else if (accelarray.Item(n)->GetShortcut() > nextID) // For any tool above that 2b deleted, we must dec any existing accel shortcut-no
accelarray.Item(n)->SetShortcut(accelarray.Item(n)->GetShortcut() - 1);
}
MyFrame::mainframe->AccelList->SaveUserDefinedShortcuts(accelarray); // Save the amended shortcut data
UserDefinedTool* tool = ToolArray.Item(sel); ToolArray.RemoveAt(sel); delete tool; // Remove & delete the tool
return true;
}
void LaunchMiscTools::FillMenu(wxMenu* parentmenu) // Recursively append entries and submenus to parentmenu
{
if (parentmenu==NULL || FolderIndex >= FolderArray.GetCount()) return;
UDToolFolder* folder = FolderArray[ FolderIndex++ ];
wxMenu* menu = new wxMenu();
for (size_t n=0; n < folder->Entries; ++n)
{ if (EntriesIndex >= ToolArray.GetCount()) break;
UserDefinedTool* tool = ToolArray[ EntriesIndex++ ]; if (tool->Label.IsEmpty()) continue;
MyFrame::mainframe->AccelList->AddToMenu(*menu, tool->ID); // Append this entry to the menu
}
for (size_t n=0; n < folder->Subs; ++n) FillMenu(menu); // Do by recursion any submenus
parentmenu->Append(SHCUT_TOOLS_LAUNCH_LAST, folder->Label, menu); // Append the menu to parent. Needs an id, so (ab)use SHCUT_TOOLS_LAUNCH_LAST
}
void LaunchMiscTools::DeleteMenu(size_t DeleteIt, size_t &entrycount) // Delete the folder DeleteIt & its progeny
{
if (DeleteIt >= FolderArray.GetCount()) return;
for (size_t n=0; n < FolderArray[DeleteIt]->Entries; ++n) // First kill the entries
{ UserDefinedTool* tool = ToolArray[entrycount];
ToolArray.RemoveAt(entrycount); // Don't inc entrycount: removing from the array has the same effect!
delete tool;
}
for (size_t n=0; n < FolderArray[DeleteIt]->Subs; ++n)
DeleteMenu(DeleteIt+n+1, entrycount); // Recursively delete any subfolders
UDToolFolder* folder = FolderArray[DeleteIt]; // Now delete this folder
FolderArray.RemoveAt(DeleteIt); delete folder;
}
void LaunchMiscTools::Run(size_t index)
{
if ((int)index >= SHCUT_TOOLS_LAUNCH_LAST) return; // Just in case something got corrupted
wxString command, originalfilepath;
bool UseTerminal = ToolArray[index-SHCUT_TOOLS_LAUNCH]->InTerminal;
if (UseTerminal)
{ if (ToolArray[index-SHCUT_TOOLS_LAUNCH]->TerminalPersists)
command = TOOLS_TERMINAL_COMMAND; // If the command runs in a terminal & the user wants to be able to read the output, prefix with xterm -hold -e or whatever
else command = TERMINAL_COMMAND; // If in a terminal but doesn't have to hold, prefix with xterm -e or whatever
}
originalfilepath = GetCwd(); // Change the working dir to the parameter's path, or badly-written programs may malfunction
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane();
if (active)
{ wxString newdir = active->GetPath();
FileData stat(newdir); if (!stat.IsDir()) newdir = stat.GetPath(); // It should be a file, so chop off the filename
SetWorkingDirectory(newdir);
}
wxString ParsedCommand = ParseCommand(ToolArray[index-SHCUT_TOOLS_LAUNCH]->Filepath);
if (ParsedCommand.empty()) { SetWorkingDirectory(originalfilepath); return; } // Probably because of a malformed parameter
command += ParsedCommand;
MyProcess* proc = new MyProcess(command, ToolArray[index-SHCUT_TOOLS_LAUNCH]->Label, UseTerminal,
ToolArray[index-SHCUT_TOOLS_LAUNCH]->RefreshPane, ToolArray[index-SHCUT_TOOLS_LAUNCH]->RefreshOpposite);
if (ToolArray[index-SHCUT_TOOLS_LAUNCH]->AsRoot)
{ int already = _CheckForSu(ParsedCommand); // Check that the user didn't 'helpfully' provide su -c/sudo already
if (already == 1) // 2 means he did; 0 means 'su' or similar; assume he knows what he's doing: it's only a UDC after all
{ if (USE_SUDO) command = wxT("sudo ") + command;
else command = wxT("su -c \"") + command + wxT('\"');
}
wxArrayString output, errors;
long ret = ExecuteInPty(command, output, errors);
if (ret != 0) // If there was a problem, there's no terminal to show any error messages so do it here
{ wxString msg(wxString::Format(wxT("Execution of '%s' failed"), command.c_str()));
if (errors.GetCount()) msg << wxT(":\n");
for (size_t n=0; n < wxMin(errors.GetCount(), 7); ++n)
{ wxString line = errors.Item(n);
if (line.empty() || (line == wxT('\n')) || (line == wxT('\r'))) continue;
if (line.Left(1) != wxT('\n') && (line.Left(1) != wxT('\r')))
msg << wxT('\n');
msg << line;
}
wxMessageBox(msg, wxT("4Pane"), wxICON_ERROR | wxOK, active);
}
else proc->OnTerminate(0, 0); // ExecuteInPty doesn't use MyProcess, but hijack its pane-refreshing code :)
}
else
wxExecute(command, wxEXEC_ASYNC, proc);
LastCommandNo = index; // Store this command, in case we want to repeat it
wxString lastlabel(_("Repeat: ")); // Alter the Repeat Last Command menu entry to display the actual command
lastlabel += ToolArray[index-SHCUT_TOOLS_LAUNCH]->Label;
MyFrame::mainframe->GetMenuBar()->SetLabel(SHCUT_TOOLS_REPEAT, lastlabel);
SetWorkingDirectory(originalfilepath);
}
void LaunchMiscTools::RepeatLastCommand()
{
if ((int)GetLastCommand() != -1) Run(GetLastCommand());
}
enum LMT_itemtype { LMTi_file, LMTi_dir, LMTi_any }; // Only a file, only a dir, don't care
wxString GetFirstItem(const MyGenericDirCtrl* pane, LMT_itemtype type) // Helper for LaunchMiscTools::ParseCommand
{
wxString item = pane->GetPath();
if (item.empty() || type == LMTi_any) return item;
if ((type == LMTi_file) && (wxFileExists(item))) return item;
if ((type == LMTi_dir) && (wxDirExists(item))) return item;
wxArrayString fileselections; // If the top selection doesn't match the required type, try any other selections
pane->GetMultiplePaths(fileselections);
for (size_t n=0; n < fileselections.GetCount(); ++n)
{ item = fileselections[n];
if ((type == LMTi_file) && (wxFileExists(item))) return item;
if ((type == LMTi_dir) && (wxDirExists(item))) return item;
}
item = wxT(""); return item;
}
bool LaunchMiscTools::SetCorrectPaneptrs(const wxChar* &pc, MyGenericDirCtrl* &first, MyGenericDirCtrl* &second)
{
switch (*pc)
{ case wxT('p'): first = active; return true; // Just a parameter request, but set 'first' as null flags failure
case wxT('A'): first = active; ++pc; return true;
case wxT('I'): first = active->GetOppositeEquivalentPane(); ++pc; return (first != NULL);
case wxT('1'): first = leftdv; ++pc; return true;
case wxT('2'): first = leftfv; ++pc; return true;
case wxT('3'): first = rightdv; ++pc; return true;
case wxT('4'): first = rightfv; ++pc; return true;
case wxT('b'): second = active->GetOppositeEquivalentPane(); // Then fall thru to:
case wxT('s'): case wxT('f'):
case wxT('d'): case wxT('a'): first = active; return true;
default: wxCHECK_MSG(false, false, wxT("Invalid parameter in a user-defined tool"));
}
}
wxString LaunchMiscTools::ParseCommand(wxString& command) // Goes thru command, looking for parameters to replace
{ // A cut-down, much-amended version of wxFileType::ExpandCommand()
if (command.IsEmpty()) return command;
MyTab* tab = MyFrame::mainframe->GetActiveTab(); if (!tab) return command; // for want of something more sensible
active = tab->GetActivePane(); if (!active) return command; // May be fileview or dirview
// Later, we'll use single quotes around each parameter to avoid problems with spaces etc. in filepaths
// However this CAUSES a problem with apostrophes! The global function EscapeQuoteStr(filepath) goes thru filepath, Escaping any it finds
// Possible parameters are:
// %s = active pane's selected file/dir, %a = multiple ditto, %f = file only, %d = dir only, %b = 1 selection from EACH twinpane,
// %{1-4}{s,a,f,d} gets the whatever from left/top dirview, fileview, right/bottom ditto; %{A,I}{s,a,f,d} designate 'Active' or 'Inactive'
// %p = ask user to enter string parameter
wxString str;
leftfv = tab->LeftorTopFileCtrl; rightfv = tab->RightorBottomFileCtrl; leftdv = tab->LeftorTopDirCtrl; rightdv = tab->RightorBottomDirCtrl;
int pcount = 0, countdown = 0; // How many %p's does the command contain? So that we can later say "Enter the *second* parameter" etc
const wxString message[] = { wxT(""), _("first"), _("other"), _("next"), _("last") }; enum indx { empty, indx_first, other, next, last };
for (const wxChar *pc = command.c_str(); *pc != wxT('\0'); ++pc) // Have a preliminary look thru command, counting the %p's.
{ if (*pc != wxT('%')) continue;
if (*++pc == wxT('p')) { ++pcount; continue; }
}
countdown = pcount;
for (const wxChar *pc = command.c_str(); *pc != wxT('\0'); ++pc) // Go thru command, looking for "%"s
{ if (*pc != wxT('%')) { str << *pc; continue; } // If it wasn't '%', copy the char
if (*++pc == wxT('%')) { str << *pc; continue; } // If the next char is another %, ie %% means escaped %, just copy it
if (!wxIsalnum(*pc)) { str << *pc; continue; } // If it's not alnum, we're in an undefined situation; just copy it anyway
const wxChar modifiers[] = wxT("1234AI"); // Sanity-check any modifiers
if (wxStrchr(modifiers, *pc) != NULL)
{ if (*(pc+1) == wxT('b'))
{ wxLogWarning(_("Malformed user-defined command: using the modifier '%c' with 'b' doesn't make sense. Aborting"), *pc);
wxString invalid; return invalid;
}
if (wxStrchr(modifiers, *(pc+1)) != NULL)
{ wxLogWarning(_("Malformed user-defined command: you can use only one modifier per parameter. Aborting"));
wxString invalid; return invalid;
}
if (wxStrchr(wxT("sfda"), *(pc+1)) == NULL)
{ wxLogWarning(_("Malformed user-defined command: the modifier '%c' must be followed by 's','f','d' or'a'. Aborting"), *pc);
wxString invalid; return invalid;
}
}
MyGenericDirCtrl *first = NULL, *second = NULL;
if (!SetCorrectPaneptrs(pc, first, second) || !first) // Sort out which pane(s) to use, and cope with modifiers
{ wxString invalid; return invalid; }
if (*pc == wxT('s')) // See if next char is 's'. If so, just replace it with correct pane's filepath
str << EscapeSpaceStr(first->GetPath());
else
if (*pc == wxT('a')) // 'a' means all the pane's selections
{ wxArrayString selections;
first->GetMultiplePaths(selections);
for (int n=0; n < (int)selections.GetCount() - 1; ++n)
str << EscapeSpace(selections[n]) << wxT(' '); // Append a space to all but the last
if (selections.GetCount() > 0) // Then do the last (if there _was_ a last)
str << EscapeSpace(selections[selections.GetCount() - 1]);
}
else
if (*pc == wxT('f') || *pc == wxT('b')) // 'f' means one of the active fileview's selections. 'b' means one from inactive too
{ wxString item = GetFirstItem(first, (*pc == wxT('f')) ? LMTi_file : LMTi_any);
if (!item.IsEmpty()) str << EscapeSpace(item); // Add the item, assuming we found an appropriate one
}
if ((*pc == wxT('b')) && second) // 'b' means one each from active & inactive pane. We got the active one above
{ wxString item = GetFirstItem(second, LMTi_any); // so now repeat for the INactive one
if (!item.IsEmpty()) str << wxT(' ') << EscapeSpace(item); // Add the 2nd item, with a preceding blank
}
else
if (*pc == wxT('d')) // 'd' means one dir
{ wxString DefinitelyADir;
if (first->fileview == ISLEFT) DefinitelyADir = first->GetPath(); // If the active pane is a dirview, this should always work
else // Otherwise see if there's a dir in the fileview selections
DefinitelyADir = GetFirstItem(first, LMTi_dir);
if (!DefinitelyADir.IsEmpty()) str << EscapeSpace(DefinitelyADir); // Add the dir if it exists
}
else
if (*pc == wxT('p')) // 'p' means ask the user for an input string
{ wxASSERT(pcount && countdown); // We shouldn't get here if either is 0
indx index; wxString msg(_("Please type in the")); // First construct a message string, dependant on previous/subsequent %p's
if (countdown == pcount ) index = (pcount>1 ? indx_first : empty);
else if (countdown == 1 && pcount == 2) index = other;
else if (countdown == 1 && pcount > 2) index = last;
else index = next;
msg << wxT(" ") << message[index] << wxT(" ") << _("parameter"); --countdown; // Having constructed the message, dec countdown
wxString param = wxGetTextFromUser(msg);
if (!param.IsEmpty()) str << param;
}
}
return str;
}
void MyProcess::OnTerminate(int WXUNUSED(pid), int status)
{
if (!m_UseTerminal) // There's no point doing this if the user can see the output anyway, and wxEXEC_ASYNC so the timing is wrong
{ if (!status) // Should be zero for success
BriefLogStatus bls(m_toolname + wxT(" ") + _("ran successfully"));
else
{ wxCommandEvent event(myEVT_BriefMessageBox, wxID_ANY);
event.SetString(_("User-defined tool") + wxString::Format(wxT(" '%s' %s %d"),
m_toolname.c_str(), _("returned with exit code"), status));
wxPostEvent(MyFrame::mainframe, event);
}
}
// If the user asked for the pane(s) to be refreshed when the app exited, do so
if (m_RefreshPane)
{ MyGenericDirCtrl* pane = MyFrame::mainframe->GetActivePane();
if (pane)
{ wxCommandEvent event;
pane->OnRefreshTree(event);
if (m_RefreshOpposite) // If required, do the opposite pane too
{ MyGenericDirCtrl* oppositepane = pane->GetOppositeDirview();
if (oppositepane) oppositepane->OnRefreshTree(event);
}
}
}
delete this;
}
// ------------------------------------------------------------------------------------------------------------------------------
void HtmlDialog(const wxString& title, const wxString& file2display, const wxString& dialogname, wxWindow* parent /*=null*/ , wxSize size /*=wxSize(0,0)*/) // A global function to set up a dialog with just a wxHtmlWindow & a 'Finished' button
{
if (file2display.IsEmpty()) return;
wxDialog dlg; wxXmlResource::Get()->LoadDialog(&dlg, parent, wxT("HtmlDlg"));
dlg.SetTitle(title);
wxHtmlWindow html(&dlg);
#if defined GIT_BUILD_VERSION && wxVERSION_NUMBER >= 3000
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
wxString gitversion( TOSTRING(GIT_BUILD_VERSION) );
if (dialogname == wxT("AboutDlg") && !gitversion.empty())
{ wxString text, prefix(wxT(", git "));
gitversion = prefix + gitversion + wxT(" ");
wxTextFile tfile(file2display);
if (!tfile.Open())
{ wxLogDebug(wxT("Couldn't open the 'About' dialog page")); return; }
for (size_t n=0; n < tfile.GetLineCount(); ++n)
{ wxString line = tfile.GetLine(n);
if (line.Contains(wxT("4Pane Version")))
line.Replace(wxT(" "), gitversion, false);
text << line;
}
tfile.Close();
html.SetPage(text);
}
else
html.LoadPage(file2display);
#else
html.LoadPage(file2display);
#endif
#ifdef __WXGTK20__
int fontsizes[] = { 6, 8, 10, 12, 20, 24, 32 };
html.SetFonts(wxEmptyString, wxEmptyString, fontsizes); // otherwise gtk2 displays much larger than 1.2
#endif
wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
sizer->Add(&html, 1, wxEXPAND);
dlg.GetSizer()->Prepend(sizer, 1, wxEXPAND);
if (!LoadPreviousSize(&dlg, dialogname))
{ if (size.GetWidth() == 0 && size.GetHeight() == 0)
{ int width, height; wxDisplaySize(&width, &height); size.Set(width*2/3, height*2/3); } // Set default size of 2/3 of screen
dlg.SetSize(size); // wxHtmlWindows have no intrinsic size
}
dlg.Centre();
dlg.GetSizer()->Layout();
dlg.ShowModal();
SaveCurrentSize(&dlg, dialogname);
}
//-----------------------------------------------------------------------------------------------------------------------
#if defined(__WXGTK20__)
// gtk2 steals keydown events for any shortcuts! So if you use DEL as ->Trash, textctrls never get DEL keypresses. Ditto Copy/Paste. This is a workaround
void EventDistributor::CheckEvent(wxCommandEvent& event)
{
// Start by seeing if we're actually interested in this event: we don't want to interfere with e.g. Tools > Find, or Mounting etc
if (!((event.GetId() >= SHCUT_CUT && event.GetId() < SHCUT_RENAME) // Cut Copy Trash Del
|| event.GetId() == SHCUT_PASTE)) { event.Skip(); return; }
wxWindow* win = wxWindow::FindFocus();
if (win == NULL) { wxLogDebug(wxT("EventDistributor::ProcessEvent.FindFocus gave a null window")); event.Skip(); return; }
if (win->GetName() == wxString(wxT("TerminalEm")))
{ ((TerminalEm*)win)->OnShortcut(event, true); return; }
if (win->GetName() == wxString(wxT("ID_FILEPATH")))
{ ((TextCtrlBase*)win)->OnShortcut(event, false); return; }
event.Skip();
}
BEGIN_EVENT_TABLE(EventDistributor, wxEvtHandler)
EVT_MENU(wxID_ANY, EventDistributor::CheckEvent)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
void TextCtrlBase::OnShortcut(wxCommandEvent& event, bool ChildIsTerminalEm) // Copes with menu shortcuts in gtk2
{
long IP;
switch(event.GetId()) // First deal with the easy ones. We likely want copy etc to use the same shortcut keys as the rest of the program
{ case SHCUT_COPY: Copy(); return;
case SHCUT_CUT: Cut(); return;
case SHCUT_PASTE: Paste(); return;
}
// Now see if there are any plain-key shortcuts which have been pre-empted for shortcuts. eg DEL
AccelEntry* accel = MyFrame::mainframe->AccelList->GetEntry(event.GetId());
if (accel==NULL) { event.Skip(); return; } // This can happen if e.g. the toolbar textctrl has focus, then a bookmark is called
int kc = accel->GetKeyCode();
long from, to; GetSelection(&from, &to); bool IsSelection = to > from; // This is used in Back and Del (twice), so do it first
if (ChildIsTerminalEm) // Terminal emulator or Commandline
switch(kc)
{ case WXK_END: SetInsertionPointEnd(); return;
case WXK_BACK: // Pass these to TerminalEm::OnKey()
case WXK_DELETE:
case WXK_HOME: wxKeyEvent kevent(wxEVT_KEY_DOWN);
kevent.m_keyCode = kc;
kevent.m_controlDown = kevent.m_shiftDown = kevent.m_altDown = kevent.m_metaDown = false;
return ((TerminalEm*)this)->OnKey(kevent);
}
else
switch(kc) // Otherwise the toolbar filepath ctrl, so we have to do it here
{ case WXK_DELETE: if (IsSelection)
{ Remove(from, to); return; }
else
{ IP = GetInsertionPoint();
if (IP < GetLastPosition()) Remove(IP, IP+1); return;
}
case WXK_BACK: if (IsSelection)
{ Remove(from, to); return; }
else
{ IP = GetInsertionPoint();
if (IP > 0) Remove(IP-1, IP); return;
}
case WXK_HOME: SetInsertionPoint(0); return;
case WXK_END: SetInsertionPointEnd(); return;
}
wxChar kcchar = (wxChar)kc; // The other things to check for are plain keypresses like 's', in case some idiot has used one as a shortcut
if (wxIsalnum(kcchar) && ! (wxGetKeyState(WXK_CONTROL) || wxGetKeyState(WXK_ALT)))
{ if (wxIsalpha(kcchar)) kcchar = wxTolower(kcchar);
*this << kcchar; return;
}
event.Skip(); // In case we don't deal with this one
}
#endif // gtk2
IMPLEMENT_DYNAMIC_CLASS(TextCtrlBase,wxTextCtrl)
void TextCtrlBase::Init()
{
CreateAcceleratorTable();
Connect(GetId(), wxEVT_SET_FOCUS, wxFocusEventHandler(TextCtrlBase::OnFocus), NULL, this);
#if defined(__WXX11__)
SetupX();
#endif
}
void TextCtrlBase::CreateAcceleratorTable()
{
int AccelEntries[] =
{ SHCUT_SWITCH_FOCUS_PANES, SHCUT_SWITCH_FOCUS_TERMINALEM, SHCUT_SWITCH_FOCUS_COMMANDLINE, SHCUT_SWITCH_FOCUS_TOOLBARTEXT,
#if wxVERSION_NUMBER > 2904 && defined(__WXGTK20__)
// In wx2.9.5 the issue of shortcuts like Del affecting the tree too is fixed. However the fix means we _must_ add such shortcuts here, else they aren't seen
SHCUT_CUT, SHCUT_COPY, SHCUT_PASTE, SHCUT_DELETE,
#endif
SHCUT_SWITCH_TO_PREVIOUS_WINDOW,
};
const size_t shortcutNo = sizeof(AccelEntries)/sizeof(int);
MyFrame::mainframe->AccelList->CreateAcceleratorTable(this, AccelEntries, shortcutNo);
}
#if defined(__WXX11__) // Copy/Paste etc are not currently implemented in the wxX11 wxTextCtrl so do it the X11 way
#if wxVERSION_NUMBER >= 2900
#define GetMainWindow X11GetMainWindow
#endif
#include // For XA_STRING etc
wxString TextCtrlBase::Selection;
bool TextCtrlBase::OwnCLIPBOARD = false;
void TextCtrlBase::SetupX()
{
OwnPRIMARY = false;
CLIPBOARD = XInternAtom((Display*)wxGetDisplay(), "CLIPBOARD", False); // Get/create the atom ids
TARGETS = XInternAtom((Display*)wxGetDisplay(), "TARGETS", False);
SELECTION_PROPty = XInternAtom((Display*)wxGetDisplay(), "SELECTION_PROPty", False);
}
void TextCtrlBase::Copy()
{
Selection = GetStringSelection(); if (Selection.IsEmpty()) return;
XSetSelectionOwner((Display*)wxGetDisplay(), CLIPBOARD, (Window)GetMainWindow(), CurrentTime); // Get CLIPBOARD ownership
OwnCLIPBOARD = XGetSelectionOwner((Display*)wxGetDisplay(), CLIPBOARD) == (Window)GetMainWindow(); // Set the bool if it worked
}
void TextCtrlBase::Cut()
{
long from, to; GetSelection(&from, &to);
if (from == to) return; // Nothing selected
Copy(); // Copy the highlit text, & replace it with ""
Replace(from, to, wxT(""));
}
void TextCtrlBase::Paste()
{
if (OwnCLIPBOARD) DoThePaste(Selection); // If the clipboard data's ours anyway, no point bothering the X server
else
XConvertSelection((Display*)wxGetDisplay(), CLIPBOARD, XA_STRING, SELECTION_PROPty, (Window)GetMainWindow(), CurrentTime);
}
void TextCtrlBase::DoThePaste(wxString& str)
{
if (str.IsEmpty()) return;
long from, to; GetSelection(&from, &to);
if (from != to)
{ Replace(from, to, str); return; } // If there's highlit text, replace it with the pasted 'selection'
WriteText(str); // Otherwise just write
}
void TextCtrlBase::DoPrimarySelection(bool select)
{
if (select)
XSetSelectionOwner((Display*)wxGetDisplay(), XA_PRIMARY, (Window)GetMainWindow(), CurrentTime);
else if (OwnPRIMARY) // If we no longer have a selection, relinquish ownership by passing the property of None
XSetSelectionOwner((Display*)wxGetDisplay(), XA_PRIMARY, None, CurrentTime);
OwnPRIMARY = XGetSelectionOwner((Display*)wxGetDisplay(), XA_PRIMARY) == (Window)GetMainWindow(); // Set the bool if it worked
}
void TextCtrlBase::OnMiddleClick(wxMouseEvent& event)
{
XConvertSelection((Display*)wxGetDisplay(), XA_PRIMARY, XA_STRING, SELECTION_PROPty, (Window)GetMainWindow(), CurrentTime);
}
void TextCtrlBase::OnLeftUp(wxMouseEvent& event)
{
event.Skip();
long from, to; GetSelection(&from, &to); // If there's a selection, we must have been dragging to cause it. Otherwise a click will have unselected
DoPrimarySelection(from != to); // Either way, tell X
}
void TextCtrlBase::OnCtrlA()
{
SetSelection(0, GetLastPosition());
long from, to; GetSelection(&from, &to); // It's just possible that someone will have done Ctrl-A when there was no text!
DoPrimarySelection(from != to);
}
bool TextCtrlBase::OnXevent(XEvent& xevent)
{
switch (xevent.type)
{ case SelectionClear: if (xevent.xselectionclear.selection==XA_PRIMARY) // If it's a PRIMARY clear, unselect any text
{ SetSelection(GetInsertionPoint(), GetInsertionPoint()); OwnPRIMARY = false; }
else if (xevent.xselectionclear.selection==CLIPBOARD)
{ Selection.Empty(); OwnCLIPBOARD = false; } // Similarly for a CLIPBOARD clear
return true;
case SelectionRequest:{int len = 0; // Someone wants our selection,
if (xevent.xselectionrequest.target == XA_STRING) // in ISO Latin-1 character set form
{ wxCharBuffer cbuf; wxString str;
if (xevent.xselectionrequest.selection==CLIPBOARD && ! Selection.IsEmpty())
str = Selection;
else if (xevent.xselectionrequest.selection==XA_PRIMARY)
str = GetStringSelection();
len = str.Len();
cbuf.extend(len); memcpy(cbuf.data(), str.mb_str(), len);
// Send the requested info to the requestor's window
if (len) XChangeProperty((Display*)wxGetDisplay(), xevent.xselectionrequest.requestor, xevent.xselectionrequest.property,
xevent.xselectionrequest.target, 8, PropModeReplace, (const unsigned char*)cbuf.data(), len);
}
else if (xevent.xselectionrequest.target == TARGETS) // If we're just being asked what targets we support, return the info here
{ Atom target = XA_STRING; len = 1;
XChangeProperty((Display*)wxGetDisplay(), xevent.xselectionrequest.requestor, xevent.xselectionrequest.property,
xevent.xselectionrequest.target, 8, PropModeReplace, (unsigned char*)&target, len);
}
// else we don't do anything, so len==0 and therefore below we'll set NotifyEvent.xselection.property to None
XEvent NotifyEvent; // Time to confess what we've done
NotifyEvent.type = SelectionNotify; NotifyEvent.xselection.requestor = xevent.xselectionrequest.requestor;
NotifyEvent.xselection.selection = xevent.xselectionrequest.selection; NotifyEvent.xselection.target = xevent.xselectionrequest.target;
NotifyEvent.xselection.time = xevent.xselectionrequest.time;
if (len) NotifyEvent.xselection.property = xevent.xselectionrequest.property; // Success == len>0, so return the provided property
else NotifyEvent.xselection.property = None; // In the event of failure, don't
XSendEvent((Display*)wxGetDisplay(), NotifyEvent.xselection.requestor, False, 0l, &NotifyEvent);
return true;}
case SelectionNotify: if (xevent.xselection.property == None) return true; // Oops
Atom actual_type; int actual_format; unsigned long nitems, remaining;
unsigned char* data; static wxCharBuffer cbuf; static long bufPos = 0;
if (XGetWindowProperty((Display*)wxGetDisplay(), xevent.xselection.requestor, xevent.xselection.property,
bufPos / 4, 65536, True, AnyPropertyType, &actual_type, &actual_format, &nitems, &remaining, &data) != Success) return true;
size_t length = nitems * actual_format / 8;
if (bufPos == 0) cbuf.reset(); // Kill any stale bytes, providing we're not 1/2-way thru a download
if (!cbuf.extend(bufPos + length - 1)) return true; // and make room for the available amount
memcpy(cbuf.data() + bufPos, data, length); // then add the available data, appending to any previously loaded
bufPos += length; XFree(data);
if ( ! remaining)
{ if (bufPos)
{ wxString str(cbuf, *wxConvCurrent, bufPos); // Finished, so use the new data and reset
DoThePaste(str);
}
cbuf.reset(); bufPos = 0;
} // If not, leave the partial data waiting for further events
return true;
}
return false;
}
BEGIN_EVENT_TABLE(TextCtrlBase, wxTextCtrl)
EVT_MIDDLE_DOWN(TextCtrlBase::OnMiddleClick)
EVT_LEFT_UP(TextCtrlBase::OnLeftUp)
END_EVENT_TABLE()
#endif // defined(__WXX11__)
void TextCtrlBase::OnTextFilepathEnter(wxCommandEvent& WXUNUSED(event))
{
MyFrame::mainframe->TextFilepathEnter();
}
void TextCtrlBase::OnFocus(wxFocusEvent& event)
{
wxGetApp().GetFocusController().SetCurrentFocus(this);
event.Skip();
}
4pane-5.0/4Pane.1 0000755 0001750 0001750 00000003001 13056344641 010342 0000000 0000000 .\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH 4PANE 1 "October 27, 2007"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
4Pane - a detailed-view quad-pane file manager for GTK+
.SH SYNOPSIS
.B 4Pane
[-d ] [-c ] [-h] [Display from this filepath (optional)...]
.br
.SH DESCRIPTION
This manual page documents only 4Pane\'s rarely-used invocation options (generally you'll just type '4Pane').
.br
A detailed manual is available from within 4Pane, either from the help menu or by pressing F1; and also online at http://4pane.co.uk
.PP
.SH OPTIONS
.TP
.B \-d, \-\-home\-dir=
Use as the home directory (optional)
.TP
.B \-c, \-\-config\-fpath=
Use this filepath as 4Pane's configuration file (optional. If the filepath doesn't exist, it will be created)
.TP
.B \-h, \-\-help
Show a summary of options
.br
.SH AUTHOR
4Pane was written by David Hart .
.PP
This manual page was written by David Hart .
4pane-5.0/Otherstreams.h 0000644 0001750 0001750 00000010071 12675313657 012155 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Otherstreams.h
// Purpose: xz and lmza1 archive streams
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef _OTHERSTREAMS_H__
#define _OTHERSTREAMS_H__
#ifndef NO_LZMA_ARCHIVE_STREAMS // Allows compilation where liblzma-dev/xz-libs xz-devel is unavailable
#include "wx/defs.h"
#if wxUSE_STREAMS
#include "wx/stream.h"
#include
#ifndef IN_BUF_MAX
#define IN_BUF_MAX 4096
#define OUT_BUF_MAX 4096
#endif
typedef lzma_ret (* dl_lzma_stream_decoder) (lzma_stream*, uint64_t, uint32_t);
typedef lzma_ret (* dl_lzma_alone_decoder) (lzma_stream*, uint64_t);
typedef lzma_ret (* dl_lzma_code) (lzma_stream*, lzma_action);
typedef void (* dl_lzma_end) (lzma_stream*);
typedef lzma_ret (* dl_lzma_easy_encoder) (lzma_stream*, uint32_t, lzma_check);
typedef lzma_bool (* dl_lzma_lzma_preset) (lzma_options_lzma*, uint32_t);
typedef lzma_ret (* dl_lzma_alone_encoder) (lzma_stream*, const lzma_options_lzma*);
class XzInputStream : public wxFilterInputStream
{
public:
XzInputStream(wxInputStream& stream, bool use_lzma1 = false);
virtual ~XzInputStream();
wxInputStream& ReadRaw(void* pBuffer, size_t size);
off_t TellRawI();
off_t SeekRawI(off_t pos, wxSeekMode sm = wxFromStart);
void* GetHandleI() {return m_lzStream;}
protected:
virtual size_t OnSysRead(void *buffer, size_t bufsize);
// dlopen()ed symbols
dl_lzma_stream_decoder lzma_stream_decoder;
dl_lzma_alone_decoder lzma_alone_decoder;
dl_lzma_code lzma_code;
dl_lzma_end lzma_end;
void* m_lzStream;
unsigned char m_pBuffer[IN_BUF_MAX];
int m_nBufferPos;
};
class XzOutputStream : public wxFilterOutputStream
{
public:
XzOutputStream(wxOutputStream& stream, bool use_lzma1 = false);
virtual ~XzOutputStream();
wxOutputStream& WriteRaw(void* pBuffer, size_t size);
off_t TellRawO();
off_t SeekRawO(off_t pos, wxSeekMode sm = wxFromStart);
void* GetHandleO() {return m_lzStream;}
virtual bool Close();
protected:
virtual size_t OnSysWrite(const void *buffer, size_t bufsize);
// dlopen()ed symbols
dl_lzma_easy_encoder lzma_easy_encoder;
dl_lzma_lzma_preset lzma_lzma_preset;
dl_lzma_alone_encoder lzma_alone_encoder;
dl_lzma_code lzma_code;
dl_lzma_end lzma_end;
void* m_lzStream;
char m_pBuffer[OUT_BUF_MAX];
int m_nBufferPos;
};
class XzStream : public XzInputStream, XzOutputStream
{
public:
XzStream(wxInputStream& istream, wxOutputStream& ostream) : XzInputStream(istream), XzOutputStream(ostream) {}
virtual ~XzStream(){}
};
class WXEXPORT XzClassFactory: public wxFilterClassFactory
{
public:
XzClassFactory();
wxFilterInputStream *NewStream(wxInputStream& stream) const
{ return new XzInputStream(stream); }
wxFilterOutputStream *NewStream(wxOutputStream& stream) const
{ return new XzOutputStream(stream); }
wxFilterInputStream *NewStream(wxInputStream *stream) const
{ return new XzInputStream(*stream); }
wxFilterOutputStream *NewStream(wxOutputStream *stream) const
{ return new XzOutputStream(*stream); }
const wxChar * const *GetProtocols(wxStreamProtocolType type
= wxSTREAM_PROTOCOL) const;
private:
DECLARE_DYNAMIC_CLASS(XzClassFactory)
};
// Lzma streams. These use liblzma too, just like xz
// The only difference is in the en/decoder initialisation, so we only need to pass a bool to the xzstream ctors
class LzmaInputStream : public XzInputStream
{
public:
LzmaInputStream(wxInputStream& stream) : XzInputStream(stream, true) {}
virtual ~LzmaInputStream() {}
};
class LzmaOutputStream : public XzOutputStream
{
public:
LzmaOutputStream(wxOutputStream& stream) : XzOutputStream(stream, true) {}
virtual ~LzmaOutputStream() {}
};
#endif // wxUSE_STREAMS
#endif // ndef NO_LZMA_ARCHIVE_STREAMS
#endif // _OTHERSTREAMS_H__
4pane-5.0/Dup.h 0000644 0001750 0001750 00000011636 12675313657 010235 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Dup.h
// Purpose: Checks/manages Duplication & Renaming
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef DUPH
#define DUPH
#include "wx/wx.h"
#include
class PasteThreadSuperBlock;
class CheckDupRen
{
public:
CheckDupRen(MyGenericDirCtrl* caller, const wxString& origin_path, const wxString& dest_path, bool fromarchive=false, time_t modtime = 0)
: parent(caller), incomingpath(origin_path), destpath(dest_path), FromArchive(fromarchive), FromModTime(modtime)
{ IsMultiple = false; WhattodoifCantRead = WhattodoifClash = DR_Unknown; m_tsb = NULL; }
bool CheckForAccess(bool recurse = true); // This is a convenient place to check for read permission when in a Moving/Pasting loop. Recurse means check permissions of dir contents too --- not needed for Rename
bool CheckForIncest(); // Ensure we don't try to move a dir onto a descendant --- which would cause an indef loop
enum CDR_Result CheckForPreExistence(); // Ensure we don't accidentally overwrite
int CheckForPreExistenceInArchive(); // Should we overwrite or dup inside an archive
static int RenameFile(wxString& originpath, wxString& originname, wxString& newname, bool dup); // The ultimate mechanisms. Static as used by UnRedo too
static int RenameDir(wxString& destpath, wxString& newpath, bool dup);
static bool MultipleRename(wxWindow* parent, wxArrayString& OldFilepaths, wxArrayString& NewFilepaths, bool dup);
static bool ChangeLinkTarget(wxString& linkfilepath, wxString& destfilepath); // Here for convenience: change the target of a symlink
void SetTSB(PasteThreadSuperBlock* tsb) { m_tsb = tsb; }
wxString finalpath;
wxString finalbit;
bool ItsADir;
bool IsMultiple;
enum DupRen WhattodoifClash;
enum DupRen WhattodoifCantRead; // We only use SkipAll this time
wxString GetOverwrittenFilepath() const { return m_overwrittenfilepath; }
protected:
MyGenericDirCtrl* parent;
wxString incomingpath;
wxString inname;
wxString destpath;
wxString destname;
wxString newname; // The name to call the duplicated/renamed dir/file
wxString stubpath; // The original destpath splits into stubpath & lastseg
wxString lastseg;
wxString m_overwrittenfilepath;
wxArrayInt IDs;
bool IsDir;
bool dup; // Flags whether we're duplicating (intentionally or otherwise)
bool FromArchive; // Used to flag that we're Pasting from an archive, so can't conveniently rename if there's a clash
time_t FromModTime; // It's easier to pass the modtime of an archive entry than to work it out here!
PasteThreadSuperBlock* m_tsb; // Used to coordinate a trashdir
CDR_Result DirAdjustForPreExistence(bool intoArchive = false, time_t modtime = 0);
CDR_Result FileAdjustForPreExistence(bool intoArchive = false, time_t modtime = 0);
enum DupRen OfferToRename(int dialogversion, bool intoArchive = false, time_t modtime = 0);
bool GetNewName(wxString& destpath, wxString& destname);
static bool DoDup(wxString& originalpath, wxString& newpath); // Used by RenameDir to duplicate dirs, so must be static too
};
class MultipleRenameDlg : public wxDialog
{
public:
MultipleRenameDlg(){}
void Init();
wxTextCtrl* IncText;
wxRadioBox* DigitLetterRadio;
wxRadioBox* CaseRadio;
wxRadioButton *ReplaceAllRadio, *ReplaceOnlyRadio;
wxSpinCtrl* MatchSpin;
wxComboBox *ReplaceCombo, *WithCombo;
wxComboBox *PrependCombo, *AppendCombo;
int IncWith, Inc;
protected:
void OnRegexCrib(wxCommandEvent& event);
void OnRadioChanged(wxCommandEvent& event);
void OnSpinUp(wxSpinEvent& event);
void OnSpinDown(wxSpinEvent& event);
void SetIncText();
void PanelUpdateUI(wxUpdateUIEvent& event);
void ReplaceAllRadioClicked(wxCommandEvent& event);
void ReplaceOnlyRadioClicked(wxCommandEvent& event);
enum { digit, upper, lower };
private:
DECLARE_DYNAMIC_CLASS(MultipleRenameDlg)
DECLARE_EVENT_TABLE()
};
class MultipleRename // Class to implement multiple rename/dup
{
public:
MultipleRename(wxWindow* dad, wxArrayString& OldFP, bool duplicate) : parent(dad), OldFilepaths(OldFP), dup(duplicate) {}
wxArrayString DoRename();
static wxString IncText(int type, int start);
protected:
bool DoRegEx(wxString& String, wxString& ReplaceThis, wxString& WithThis, size_t matches );
bool DoPrependAppend(bool body, wxString& Prepend, wxString& Append);
bool DoInc(bool body, int InitialValue, int type, bool AlwaysInc);
bool CheckForClash(wxString Filepath, size_t index);
void LoadHistory();
void SaveHistory();
enum { digit, upper, lower };
wxWindow* parent;
wxArrayString& OldFilepaths; // This must be a reference, otherwise an only-alter-matching-files situation will make caller lose registration
wxArrayString NewFilepaths;
bool dup;
MultipleRenameDlg dlg;
};
#endif
// DUPH
4pane-5.0/locale/ 0000755 0001750 0001750 00000000000 13130460752 010626 5 0000000 0000000 4pane-5.0/locale/ja/ 0000755 0001750 0001750 00000000000 13130460751 011217 5 0000000 0000000 4pane-5.0/locale/ja/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013005 5 0000000 0000000 4pane-5.0/locale/ja/LC_MESSAGES/ja.po 0000644 0001750 0001750 00000553003 13130150240 013651 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Tadashi Jokagi , 2012
# Tadashi Jokagi , 2011
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Japanese (http://www.transifex.com/davidgh/4Pane/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "切りå–り(&U)"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "コピー(&C)"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "ゴミ箱ã«é€ã‚‹(&T)"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "削除(&L)"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "永久ã«å‰Šé™¤ã™ã‚‹"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "åå‰ã®å¤‰æ›´(&M)"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "複製(&D)"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "プãƒãƒ‘ティ(&E)"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "é–‹ã(&O)"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr ""
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "貼り付ã‘(&P)"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®ä½œæˆ(&H)"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "シンボリックリンクã®ä½œæˆ(&S)"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "タブã®å‰Šé™¤(&D)"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "タブåã®å¤‰æ›´(&R)"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "å…ƒã«æˆ»ã™(&O)"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "やり直ã™(&R)"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "å…¨é¸æŠž(&A)"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "æ–°è¦ãƒ•ァイル/ディレクトリーã®ä½œæˆ(&N)"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "æ–°è¦ã‚¿ãƒ–ã®ä½œæˆ(&N)"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "ã‚¿ãƒ–ã®æŒ¿å…¥(&I)"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "ã“ã®ã‚¿ãƒ–ã®è¤‡è£½(&U)"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr ""
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr ""
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "ペインã®å…¥ã‚Œæ›¿ãˆ(&S)"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "垂直ã«ãƒšã‚¤ãƒ³ã®åˆ†å‰²(&H)"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "æ°´å¹³ã«ãƒšã‚¤ãƒ³ã®åˆ†å‰²(&V)"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "ペインã®åˆ†å‰²è§£é™¤(&U)"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "æ‹¡å¼µå(&E)"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "サイズ(&S)"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "時間(&T)"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "パーミッション(&P)"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "所有者(&O)"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "グループ(&G)"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "リンク(&L)"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "全カラムを表示ã™ã‚‹(&A)"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "全カラムã®è¡¨ç¤ºã‚’ã‚„ã‚ã‚‹(&U)"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "ペインã®è¨å®šä¿å˜(&P)"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "ペインã®è¨å®šä¿å˜ã¨çµ‚了(&E)"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "テンプレートã¨ã—ã¦ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã®ä¿å˜(&S)"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "テンプレートã®å‰Šé™¤(&E)"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "端末ã®èµ·å‹•(&T)"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "éš ã—ファイルã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã®è¡¨ç¤º/éžè¡¨ç¤º"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "ブックマークã«è¿½åŠ (&A)"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "ブックマークã®ç®¡ç†(&M)"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "パーティションã®ãƒžã‚¦ãƒ³ãƒˆ(&M)"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "パーティションã®ãƒžã‚¦ãƒ³ãƒˆè§£é™¤(&U)"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "ISO イメージã®ãƒžã‚¦ãƒ³ãƒˆ(&I)"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "NFS エクスãƒãƒ¼ãƒˆã®ãƒžã‚¦ãƒ³ãƒˆ(&N)"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "Samba 共有ã®ãƒžã‚¦ãƒ³ãƒˆ(&S)"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "端末エミュレーターã®è¡¨ç¤º(&T)"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "コマンドラインã®è¡¨ç¤º(&L)"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "é¸æŠžã—ãŸãƒ•ァイルã«ç§»å‹•(&G)"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "ã”ã¿ç®±ã‚’空ã«ã™ã‚‹(&T)"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr ""
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "アーカイブや圧縮ファイルã®å±•é–‹(&X)"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "æ–°ã—ã„æ›¸åº«ã‚’作æˆã™ã‚‹(&N)"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr ""
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "ファイルを圧縮ã™ã‚‹(&C)"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "å†å¸°çš„ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ サイズを表示ã™ã‚‹"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "4Pane ã®è¨å®š"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "終了(&X)"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr ""
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "ヘルプ コンテンツ(&H)"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&FAQ"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "4Pane ã«ã¤ã„ã¦(&A)"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "ショートカットã®è¨å®š"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "編集"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr ""
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "å‰ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®ç¹°ã‚Šè¿”ã—"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "ç¾åœ¨ã®é¸æŠžã®åˆ‡ã‚Šå–り"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "ç¾åœ¨ã®é¸æŠžã®ã‚³ãƒ”ー"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "ã”ã¿ç®±ã«é€ã‚‹"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr ""
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "ä»Šé¸æŠžã—ã¦ã„るタブã®å‰Šé™¤"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "ä»Šé¸æŠžã—ã¦ã„るタブã®åå‰å¤‰æ›´"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "æ–°ã—ã„タブã®è¿½åŠ "
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr ""
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr ""
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’é–‰ã˜ã‚‹"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr "ファイル(&F)"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "編集(&E)"
#: Accelerators.cpp:502
msgid "&View"
msgstr "閲覧(&V)"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "タブ(&T)"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "ブックマーク(&B)"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "アーカイブ(&A)"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "マウント(&M)"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "ツール(&L)"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "オプション(&O)"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "ヘルプ(&H)"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "表示ã™ã‚‹ã‚«ãƒ©ãƒ (&C)"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr "タブ テンプレートã®èªã¿è¾¼ã¿(&L)"
#: Accelerators.cpp:673
msgid "Action"
msgstr "æ“作"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "ショートカット"
#: Accelerators.cpp:675
msgid "Default"
msgstr "åˆæœŸå€¤"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "æ‹¡å¼µ"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr "サイズ"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "時間"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "パーミッション"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "所有者"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "グループ"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "リンク"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "全カラムã®è¡¨ç¤º"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr ""
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr ""
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "本当ã«ã—ã¾ã™ã‹?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr "ラベルã®å¤‰æ›´"
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "ãŠã£ã¨!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "ãŠã£ã¨"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "ファイルを圧縮ã—ã¾ã—ãŸ"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "圧縮ã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "ファイルを伸張ã—ã¾ã—ãŸ"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "伸張ã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "確èªã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "アーカイブを作æˆã—ã¾ã—ãŸ"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "アーカイブã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "アーカイブã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’è¿½åŠ ã—ã¾ã—ãŸ"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "アーカイブã¸ã®è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "アーカイブを展開ã—ã¾ã—ãŸ"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "展開ã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr ""
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr ""
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr ""
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "ã™ã¿ã¾ã›ã‚“"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "ブックマーク フォルダー"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr ""
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "複製ã—ã¾ã—ãŸ"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "移動ã—ã¾ã—ãŸ"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "コピーã—ã¾ã—ãŸ"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "フォルダーåã®å¤‰æ›´"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "ブックマークã®ç·¨é›†"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr ""
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "æ–°è¦ãƒ•ォルダー"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "ブックマーク"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "ブックマークã«è¿½åŠ ã—ã¾ã—ãŸ"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "全変更をæ¨ã¦ã¾ã™ã‹?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "ãƒ•ã‚©ãƒ«ãƒ€ãƒ¼ã‚’è¿½åŠ ã—ã¾ã—ãŸ"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr ""
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr ""
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "フォルダーを削除ã—ã¾ã—ãŸ"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "ブックマークを削除ã—ã¾ã—ãŸ"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "4Pane ã¸ã‚ˆã†ã“ã。"
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr "ã“ã“"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "プãƒã‚°ãƒ©ãƒ ã®å®Ÿè¡Œ(&R)"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "ホームディレクトリーã¸ç§»å‹•"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr "ドã‚ュメント ディレクトリーã¸ç§»å‹•"
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "ショートカット"
#: Configure.cpp:2041
msgid "Tools"
msgstr "ツール"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "ツールã®è¿½åŠ "
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "ツールã®ç·¨é›†"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "ツールã®å‰Šé™¤"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "デãƒã‚¤ã‚¹"
#: Configure.cpp:2052
msgid "Automount"
msgstr "自動マウント"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "マウントã—ã¦ã„ã¾ã™"
#: Configure.cpp:2056
msgid "Usb"
msgstr "USB"
#: Configure.cpp:2058
msgid "Removable"
msgstr "リムーãƒãƒ–ル"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "固定"
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr ""
#: Configure.cpp:2085
msgid "Emulator"
msgstr ""
#: Configure.cpp:2088
msgid "The Network"
msgstr ""
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr ""
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr "スーパー ユーザー"
#: Configure.cpp:2099
msgid "Other"
msgstr "ãã®ä»–"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr " ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã®ç·¨é›† "
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr "コマンド「%sã€ã‚’本当ã«å‰Šé™¤ã—ã¾ã™ã‹?"
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "ファイルã®é¸æŠž"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr "デãƒã‚¤ã‚¹ã‚’自動マウントã—ã¦ã„ã¾ã™"
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr "デãƒã‚¤ã‚¹ã®ãƒžã‚¦ãƒ³ãƒˆ"
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "USB デãƒã‚¤ã‚¹"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr "リムーãƒãƒ–ル デãƒã‚¤ã‚¹"
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr "固定デãƒã‚¤ã‚¹"
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr "表示"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr "ツリー表示"
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr "実端末"
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr "端末エミュレーター"
#: Configure.cpp:2740
msgid "Networks"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr ""
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr "ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’削除ã—ã¾ã™ã‹?"
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr "標準ã®ãƒ•ォント"
#: Configure.cpp:4036
msgid "Delete "
msgstr ""
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr ""
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr " メニュー"
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr "DVD-RAM ã®ãƒžã‚¦ãƒ³ãƒˆ(&R)"
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr "DVD-RAM ã®ãƒžã‚¦ãƒ³ãƒˆè§£é™¤(&R)"
#: Devices.cpp:354
msgid "&Eject"
msgstr "å–り出ã—(&E)"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr "DVD-RAM ディスクã®ãƒžã‚¦ãƒ³ãƒˆè§£é™¤"
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr "失敗ã—ã¾ã—ãŸ"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr "è¦å‘Š"
#: Devices.cpp:843
msgid "Floppy"
msgstr "フãƒãƒƒãƒ”ー"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr "ã™ã¿ã¾ã›ã‚“。マウント解除ã«å¤±æ•—ã—ã¾ã—ãŸ"
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr "パーティション"
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr "fstab ã«ãªã„パーティションã®ãƒžã‚¦ãƒ³ãƒˆ"
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr "ã“ã®ã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã‚’削除ã—ã¾ã™ã‹?"
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3449
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "ã‚ャンセル"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr "複数ã«è¤‡è£½"
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr "複製ã®ç¢ºèª"
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr "æ£è¦è¡¨ç¾ã®ãƒ˜ãƒ«ãƒ—"
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr "ã™ã¿ã¾ã›ã‚“ãŒã‚ャンセルã«å¤±æ•—ã—ã¾ã—ãŸ\n"
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr "「%sã€ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "é–‰ã˜ã‚‹"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr "通常ã®ãƒ•ァイル"
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr "シンボリックリンク"
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr "壊れãŸã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯"
#: Filetypes.cpp:350
msgid "Character Device"
msgstr "ã‚ャラクター デãƒã‚¤ã‚¹"
#: Filetypes.cpp:351
msgid "Block Device"
msgstr "ブãƒãƒƒã‚¯ デãƒã‚¤ã‚¹"
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "ディレクトリー"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr "ソケット"
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr "アプリケーション"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr "フォルダー %s を削除ã—ã¾ã™ã‹?"
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr "確èªã—ã¦ãã ã•ã„"
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "%s を削除ã—ã¾ã™ã‹?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr " ãƒžã‚¦ãƒ³ãƒˆè§£é™¤ã«æˆåŠŸ"
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr "マウントã™ã‚‹ã‚¤ãƒ¡ãƒ¼ã‚¸ã®é¸æŠž"
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr "上ä½ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã«ç§»å‹•"
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr "ãƒãƒ¼ãƒ‰"
#: MyDirs.cpp:1033
msgid "Soft"
msgstr "ソフト"
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr "ディレクトリーã®å‰Šé™¤(&L)"
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr "ディレクトリーをã”ã¿ç®±ã«é€ã‚‹(&T)"
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr "シンボリックリンクã®å‰Šé™¤(&L)"
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr "シンボリック陸をã”ã¿ç®±ã«é€ã‚‹(&T)"
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr "ファイルã®å‰Šé™¤(&L)"
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr "ファイルをã”ã¿ç®±ã«é€ã‚‹(&T)"
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr "ãã®ä»–..."
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr "root権é™ã§é–‹ã(&G)"
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr "ディレクトリーåã®å¤‰æ›´(&M)"
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr "ディレクトリーã®è¤‡è£½(&D)"
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr "ファイルåã®å¤‰æ›´(&M)"
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr "ファイルã®è¤‡è£½(&D)"
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr "æ–°è¦ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®ä½œæˆ"
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr "圧縮ファイル"
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr "æ–°è¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã‚’作æˆã—ã¾ã—ãŸ"
#: MyFiles.cpp:588
msgid "New file created"
msgstr "æ–°è¦ãƒ•ァイルを作æˆã—ã¾ã—ãŸ"
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr "タブåã®å¤‰æ›´"
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr "表示"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr "éš ã™"
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr "削除"
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr "リンク先ã®å¤‰æ›´"
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr "æ–°è¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼"
#: Redo.h:226
msgid "New File"
msgstr "æ–°è¦ãƒ•ァイル"
#: Redo.h:242
msgid "Duplicate Directory"
msgstr "ディレクトリーã®è¤‡è£½"
#: Redo.h:242
msgid "Duplicate File"
msgstr "ファイルã®è¤‡è£½"
#: Redo.h:261
msgid "Rename Directory"
msgstr "ディレクトリーåã®å¤‰æ›´"
#: Redo.h:261
msgid "Rename File"
msgstr "ファイルåã®å¤‰æ›´"
#: Redo.h:281
msgid "Duplicate"
msgstr "複製"
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr "åå‰ã®å¤‰æ›´"
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "OK"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr "クリックã§ä¸æ¢"
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr "æ–°ã—ã„デãƒã‚¤ã‚¹ã‚’検出ã—ã¾ã—ãŸ"
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr "4Pane ã®è¨å®š"
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr "変更"
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr "åˆæœŸå€¤ã®ä½¿ç”¨"
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr "端末ã§å®Ÿè¡Œ"
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr "メニューã®ãƒ©ãƒ™ãƒ«"
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr "コマンド"
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr "ã‚ãらã‚ã‚‹"
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "å ´æ‰€(&L)"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr "zip ã®ä»£ã‚りã«ä½¿ã†"
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr "ブãƒãƒƒã‚¯ サイズ:"
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr "所有者 ID:"
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr "グループ ID:"
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr "マウントã®ã‚ªãƒ—ション"
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr "èªã¿è¾¼ã¿å°‚用"
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr "åŒæœŸæ›¸ãè¾¼ã¿"
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr "Setuid/Setgid を無視ã™ã‚‹"
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr "サーãƒãƒ¼ã®é¸æŠž"
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr "ãƒãƒ¼ãƒ‰ マウント"
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr "ソフト マウント"
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr "利用ã§ãるサーãƒãƒ¼"
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr "IP アドレス"
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr "ホストå"
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr "マウントã®å…±æœ‰"
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr "ユーザーå"
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr "パスワード"
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr "パーティションã®ãƒžã‚¦ãƒ³ãƒˆè§£é™¤"
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/fa/ 0000755 0001750 0001750 00000000000 13130460751 011213 5 0000000 0000000 4pane-5.0/locale/fa/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013001 5 0000000 0000000 4pane-5.0/locale/fa/LC_MESSAGES/fa.po 0000644 0001750 0001750 00000553045 13130150240 013647 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Alireza Savand , 2011
# Alireza Savand , 2013
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Persian (http://www.transifex.com/davidgh/4Pane/language/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "بريدن"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr " كپی"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "ارسال به سطل"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "ØØ°Ù"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "ØØ°Ù قطعی"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr " تغيير نام"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr " تكثير"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "تنظيمات"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "باز كردن"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "بازكردن با ..."
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "چسباندن"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "تشكيل پيوند سخت"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "تشكيل پيوند نمادی"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "ØØ°Ù لبه"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "تغییر نام لبه"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "برگرداندن"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "از نو"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "انتخاب همه"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "ايجاد ÙØ§ÙŠÙ„ يا پوشه جديد"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "لبه جديد"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "وارد كردن لبه"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "ثكثير اين لبه"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr "نمایش ØØªÛŒ لبه تنها"
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Ú¯Ø±ÙØªÙ† تمامي سر لبه هاي پهنا يكسان"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "و تکثیر در پنل روبروی"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "تعویض پانل"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "جداسازي عمودي پنل ها"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "جدا سازي اÙقي پنل ها"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "چسباندن دوباره پنل ها"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "ÙØ±Ù…ت"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "اندازه"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "زمان"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "ØÙ‚ دسترسي ها"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "ايجاد كننده"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "گروه"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "پيوند"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "نمايش تمامي ستون ها"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "نمايش ندادن تمامي ستون ها"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "ذخيره تنظيمات پنجره"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "ذخيره تنظيمات پنجره هنگام خروج"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "ذخيره لايه بعنوان قالب"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "ØØ°Ù قالب"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "تازه كردن ØµÙØÙ‡"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "اجراى ترمينال"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "Ùيلتر ØµÙØÙ‡"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "نمايش/مخÙÙŠ كردن پوشه Ùˆ ÙØ§ÙŠÙ„ ها"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "اضاÙÙ‡ كردن به نشانك"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "مديريت نشانك"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "متصل كردن پارتيشن"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "قطع كردن پارتيشن"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "اتصال به عنوان ISO Image"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "اتصال به عنوان NFS export"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "اتصال اشتراك Samba share"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "نمايش ترمينال"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "نمايش خط ÙØ±Ù…ان"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "برو به ÙØ§ÙŠÙ„ انتخابي"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "خالي كردن سطل زباله"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "ØØ°Ù قطعي ÙØ§ÙŠÙ„ هاي ØØ°Ù شده"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "استخراج يا ÙØ´Ø±Ø¯Ù‡ سازي ÙØ§ÙŠÙ„ ها"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "ايجاد ÙØ§ÙŠÙ„ ÙØ´Ø±Ø¯Ù‡ جديد"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "اضاÙÙ‡ به ÙØ§ÙŠÙ„ ÙØ´Ø±Ø¯Ù‡ موجود"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "تست يكپارچگي ÙØ§Ø¨Ù„ هاي آرشيو يا ÙØ§ÙŠÙ„ هاي ÙØ´Ø±Ø¯Ù‡ شده"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "ÙØ´Ø±Ø¯Ù‡ سازي ÙØ§ÙŠÙ„ ها"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "نمایش و اندازه های بازگشتی پوشه"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr "اهدا٠و ØÙظ پیوند نمادی نسبی"
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "4Pane پيكربندي"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "خروج"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "ØØ³Ø§Ø³ نسبت به Ù…ØÛŒØ· راهنما"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "مطالب راهنما"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "پرسش و پاسخ"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "4Pane درباره"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "پیکربندی میانبرها"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "برو به پیوند نمادی مقصد"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr "برو به هد٠نهایی پیوند نمادی"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "ویرایش"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "جداساز جديد"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "تكرار برنامه قبل"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "برش انتخاب ÙØ¹Ù„ÛŒ"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "انتخاب نسخه ÙØ¹Ù„ÛŒ"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "ارسال به سطل"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr "نابود كن، ولي شايد قابل Ø¨Ø§Ø²ÙŠØ§ÙØª"
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr "ØØ°Ù با تعصب شدید"
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "چسباندن Ù…ØØªÙˆØ§ از ØØ§Ùظه"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr "چسباندن Ù…ØØªÙˆØ§ از ØØ§Ùظه"
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr "چسباندن Ù…ØØªÙˆØ§ از ØØ§Ùظه"
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "ØØ°Ù نوار در ØØ§Ù„ ØØ§Ø¶Ø± انتخاب شده"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "تغییر نام نوار در ØØ§Ù„ ØØ§Ø¶Ø± انتخاب شده"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Ø§ÙØ²ÙˆØ¯Ù† پرونده جدید زبانها"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "قرار دادن یک تب جدید در ØØ§Ù„ ØØ§Ø¶Ø± پس از انتخاب یک"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "مخÙÛŒ کردن سر از برگه Ø§Ù†ÙØ±Ø§Ø¯ÛŒ"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr "مسیر کپی کردن این سمت به سمت مقابل"
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr "راه تعویض یک طر٠با دیگر"
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr "لایه‌های ØµÙØÙ‡ را ذخیره کنید."
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr "در هنگام خروج همیشه لایه‌های ØµÙØÙ‡ را ذخیره کنید."
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "بازچینی، نام‌گذاری یا ØØ°Ù نشانه‌گذاری‌ها"
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr "ÛŒØ§ÙØªÙ† ÙØ§ÛŒÙ„(های) همسان"
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr "جستجون همراه ÙØ§ÛŒÙ„‌ها"
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "نمايش/مخÙی‌سازی ترمينال"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr "نمایش/مخÙÛŒ کردن خط ÙØ±Ù…ان"
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "بستن این برنامه"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr "برو به ØØ§Ù„ت درختی کامل"
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr "پیکربندی بارگذاری نشد"
#: Accelerators.cpp:502
msgid "&File"
msgstr "ÙØ§ÛŒÙ„"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "ویرایش"
#: Accelerators.cpp:502
msgid "&View"
msgstr "نما"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "تب‌ها"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "نشانه‌گذاری‌ها"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "بایگانی"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "متصل کردن"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "ابزار"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "اختیارات"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "راهنما"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "نمایش ستون"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr "عمل"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "میان‌بر"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Ù¾ÛŒØ´ÙØ±Ø¶"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "پسوند"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr "اندازه"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "زمان"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "مجوزها"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "مالک"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "گروه"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "پیوند"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "نمایش همه ستون‌ها"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "نمايش ندادن تمامي ستون ها"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "نشانه‌گذاری‌ها: ویرایش"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr ""
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "از دست دادن تغییرات؟"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "مطمئن هستید ؟"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr "تغییر برچسب"
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "اوپس!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr ""
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "ÙØ§ÛŒÙ„(s) ÙØ´Ø±Ø¯Ù‡ شد"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "ÙØ´Ø±Ø¯Ù‡ سازی Ù†Ø§ÙØ±Ø¬Ø§Ù…"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "ÙØ§ÛŒÙ„(s) از ÙØ´Ø±Ø¯Ú¯ÛŒ در آمد"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "استخراج Ù†Ø§ÙØ±Ø¬Ø§Ù… شد"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "تائید Ù†Ø§ÙØ±Ø¬Ø§Ù… شد"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "بایگانی استخراج شد"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "استخراج Ù†Ø§ÙØ±Ø¬Ø§Ù… شد"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "ÙØ§ÛŒÙ„(s) به بایگانی اضاÙÙ‡ شد."
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "اضاÙÙ‡ کردن به بایگانی Ù†Ø§ÙØ±Ø¬Ø§Ù… شد"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "بایگانی استخراج شد"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "استخراج Ù†Ø§ÙØ±Ø¬Ø§Ù…"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "استخراج کردن از ÙØ§ÛŒÙ„"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "بدون ورودی"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "چسباندن"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "جابه‌جا"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "شرمنده"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr ""
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "جدا کننده"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "تکراری"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "جابه‌جا شد"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "کپی"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "نا‌گذاری پوشه"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "ویرایش نشانه‌گذاری"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "جدا کننده جدید"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "پوشه جدید"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr ""
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr ""
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "از دست دادن تغییرات؟"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "پوشه اضاÙÙ‡ شد"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "جدا کننده اضاÙÙ‡ شد"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "اوپس!"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "چسبید"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "پوشه ØØ°Ù شد"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "نشانه‌گذاری اضاÙÙ‡ شد"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr ""
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr "اینجا"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr ""
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr ""
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr ""
#: Configure.cpp:2041
msgid "Tools"
msgstr ""
#: Configure.cpp:2043
msgid "Add a tool"
msgstr ""
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr ""
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr ""
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr ""
#: Configure.cpp:2052
msgid "Automount"
msgstr ""
#: Configure.cpp:2054
msgid "Mounting"
msgstr ""
#: Configure.cpp:2056
msgid "Usb"
msgstr ""
#: Configure.cpp:2058
msgid "Removable"
msgstr ""
#: Configure.cpp:2060
msgid "Fixed"
msgstr ""
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr "ترمینال‌ها"
#: Configure.cpp:2083
msgid "Real"
msgstr "واقعی"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "شبیه‌ساز"
#: Configure.cpp:2088
msgid "The Network"
msgstr "شبکه"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "گوناگون"
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr "زمان‌ها"
#: Configure.cpp:2097
msgid "Superuser"
msgstr "کاربر ارشد"
#: Configure.cpp:2099
msgid "Other"
msgstr "دیگر"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "انتخاب یک ÙØ§ÛŒÙ„"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr ""
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr "نمایش"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr "نمایش درختی"
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr "(نادیده Ú¯Ø±ÙØªÙ‡ شد)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr "قلم Ù¾ÛŒØ´ÙØ±Ø¶"
#: Configure.cpp:4036
msgid "Delete "
msgstr "ØØ°Ù"
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "مطمئن هستید ؟"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr "بنظر نمیاد آدرس آی‌پی معتبری باشد"
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr "Ùهرست"
#: Devices.cpp:305
msgid "&Display "
msgstr "&نمایش "
#: Devices.cpp:306
msgid "&Undisplay "
msgstr "&نانمایش "
#: Devices.cpp:308
msgid "&Mount "
msgstr "متصل کردن"
#: Devices.cpp:308
msgid "&UnMount "
msgstr "&قطع اتصال "
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr "اتصال دی‌وی‌دی-&خوان"
#: Devices.cpp:347
msgid "Display "
msgstr "نمایش"
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr "قطع اتصال دی‌وی‌دی-،خوان"
#: Devices.cpp:354
msgid "&Eject"
msgstr "&بیرون انداختن"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr "Ù†Ø§ÙØ±Ø¬Ø§Ù…"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr "هشدار"
#: Devices.cpp:843
msgid "Floppy"
msgstr "Ùلاپی"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr "پارتیشن: "
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr "ÙØ§ÛŒÙ„ "
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr "برنامه‌ای وارد نشده"
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr "برنامه ÛŒØ§ÙØª نشد"
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr "ØØ°Ù این ویرایشگر؟"
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3449
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "لغو"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr "چندین تکرار شده"
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr "موÙÙ‚\n"
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr "ÙØ±Ø§Ú¯Ø±Ø¯ وا ماند\n"
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "بستن"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr "پرونده معمولی"
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "Ùهرست"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr ""
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr "برنامه‌ها"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr "Ù„Ø·ÙØ§ تأیید کنید"
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr "پسوند را وارد نکردید"
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "ØØ°Ù %sØŸ"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr "ویرایش اطلاعات برنامه"
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr "شرمنده، مجوز اجرای این ÙØ§ÛŒÙ„ را ندارید"
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr "نمایش مخÙی‌ها"
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr "با موÙقیت اتصال شد به :"
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr "ایجاد Ùهرست ناممکن است"
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr "او او، Ù†Ø§ÙØ±Ø¬Ø§Ù… در ایجاد Ùهرست"
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr "او او، مجوز کاÙÛŒ برای ساخت Ùهرسا ندارم"
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr "جداسازی Ù†Ø§ÙØ±Ø¬Ø§Ù…"
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr "جداسازی موÙقیت آمیز"
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr "Ùهرست: "
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr "ÙØ§ÛŒÙ„ØŒ مجموع اندازه"
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "اوکی"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "Ù…ØÙ„"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/fr/ 0000755 0001750 0001750 00000000000 13130460751 011234 5 0000000 0000000 4pane-5.0/locale/fr/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013022 5 0000000 0000000 4pane-5.0/locale/fr/LC_MESSAGES/fr.po 0000644 0001750 0001750 00000552116 13130150240 013707 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# bttfmcf , 2012
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: French (http://www.transifex.com/davidgh/4Pane/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "C&ouper"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&Copier"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "Mettre à la &Corbeille"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "&Supprimer"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Supprimer définitivement"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "&Renommer"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "&Dupliquer"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "&Propriétés"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "&Ouvrir"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Ouvrir &avec..."
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "&Coller"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "Créer un &lien matériel"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "Créer un &lien symbolique"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "&Supprimer l'onglet"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "&Renommer l'onglet"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "&Défaire"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "&Refaire"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "&Tout sélectionner"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "&Nouveau Fichier ou Répertoire"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "&Nouvel Onglet"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "&Insérer un Onglet"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "&Dupliquer cet Onglet"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Donner la même &largeur à tous les onglets"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "&Répliquer dans le Panneau Opposé"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "&Échanger les panneaux"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "Diviser les Panneaux &Verticalement"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "Diviser les Panneaux &Horizontalement"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "&Réunir les Panneaux"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "&Extension"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&Taille"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "&Temps"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "&Permissions"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "&Propriétaire"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "&Groupe"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "&Lien"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "Afficher &toutes les colonnes"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "&Cacher toutes les colonnes"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "Sauvegarder les Paramètres des &Panneaux"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "Sauvegarder les Paramètres des Panneaux lors de la fermeture"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "&Sauvegarder cette disposition comme modèle"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "&Supprimer un modèle"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "&Raffraîchir l'affichage"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "Lancer le &Terminal"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "&Filtrer l'Affichage"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "Afficher/Masquer les répertoires et fichiers Cachés"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "&Ajouter aux favoris"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "&Gérer les favoris"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "&Monter une Partition"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "&Démonter une Partition"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "Monter une image &ISO"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr ""
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "Monter un partage &Samba"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr ""
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "Afficher la ligne de commande"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr ""
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "Vider la &Corbeille"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "Supprimer définitivement les fichiers 'Supprimés'"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "&Extraire une archive ou des fichiers compressés"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "Créer une &Nouvelle Archive"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "&Ajouter à une archive existante"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "&Tester l'intégrité d'une archive ou des fichiers compressés"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "&Compresser les fichiers"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "&Afficher les tailles récursives des répertoires&"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "&Configurer 4Pane"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "&Quitter"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr ""
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr ""
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&FAQ"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "&À Propos de 4Pane"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "Configurer les raccourcis"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "Aller à la cible du lien symbolique"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Éditer"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Nouveau Séparateur"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "Mettre à la corbeille"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "Coller le contenu du presse-papier"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "Supprimer l'onglet actuellement sélectionné"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "Renommer l'onglet actuellement sélectionné"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Ajouter un nouvel onglet"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "Insérer un nouvel onglet après l'onglet actuellement sélectionné"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "Masquer la barre des onglets quand il n'y en a un seul"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr "Toujours sauvegarder la disposition du panneau lors de la fermeture"
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr "Ajouter l'object selectionné à vos favoris"
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "Réarranger, Renommer ou Supprimer des favoris"
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr "Rechercher le ou les fichiers correspondants"
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr "Chercher Dans les Fichiers"
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "Afficher/Masquer l'Émulateur de Terminal"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr "Afficher/Masquer la ligne de commandes"
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr "Vider la corbeille interne de 4Pane"
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr "Supprimer le dossier 'Supprimé' de 4Pane"
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr "Lors de la modification d'un lien symbolique, garder la même destination"
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "Fermer le programme"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr "\nLes tableaux dans ImplementDefaultShortcuts() n'ont pas la même taille !"
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr "Basculer dans le mode Fulltree"
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr "Impossible de charger la configuration !?"
#: Accelerators.cpp:502
msgid "&File"
msgstr "&Fichier"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "&Éditer"
#: Accelerators.cpp:502
msgid "&View"
msgstr "&Vue"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "&Onglets"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "&Favoris"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "&Archive"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "&Monter"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "&Outils"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "&Options"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "&Aide"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "&Colonnes à Afficher"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr "&Charger un Modèle d'Onglet"
#: Accelerators.cpp:673
msgid "Action"
msgstr "Action"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Raccourci"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Défaut"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Extension"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr "Taille"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Temps"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Permissions"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Propriétaire"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Groupe"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "Lien"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "Masquer toutes les colonnes"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Favoris : Éditer"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "Favoris : Nouveau Séparateur"
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr ""
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr ""
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr ""
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Oops"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "Fichier(s) compressé(s)"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "Échec de la compression"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "Fichier(s) décompressé(s)"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "Échec de la décompression"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "Échec de la vérification"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "Archive crée"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "Échec de la création de l'archive"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "Fichier(s) ajouté(s) à l'archive"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "Échec de l'ajout de l'archive"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "Archive extraite"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Échec de l'extraction"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr "Dans quel répertoire voulez-vous extraire ces fichiers ?"
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr "Dans quel répertoire voulez-vous faire l'extraction ?"
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "Extraction de l'archive en cours"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr "Je crains que vous n'avez pas la permission de créer dans ce répertoire\n Ré-essayer?"
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "Aucune entrée !"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr "Désolé, %s existe déjà \n Ré-essayer ?"
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr "Je crains que vous n'avez pas la permission d'écrire dans ce répertoire"
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr "Je crains que vous n'avez pas la permission d'accéder aux fichiers dans ce répertoire"
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr "Pour une raison inconnue, la création du répertoire de sauvegarde a échouée. Sorry!"
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr "Désolé, la sauvegarde a échouée"
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr "Désolé, la suppression des objets a échouée"
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Coller"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Déplacer"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr "J'ai peur que votre version de zlib est trop ancienne pour faire cela :("
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr "Ce fichier est compressé, mais ce n'est pas une archive donc vous ne pouvez pas le lire."
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "Désolé"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Dossier des Favoris"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Séparateur"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "Dupliqué"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "Déplacé"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Copié"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Renommer le Dossier"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Éditer le Favori"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "Nouveau Séparateur"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "Nouveau Dossier"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr "Impossible de charger la barre de Menu !?"
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr "Impossible de trouver le menu !?"
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "Favoris"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr "Désolé, impossible de localiser ce dossier"
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "Favori ajouté"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "Perdre toutes les modifications ?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr "Désolé, le dossier %s existe déjà \n Réessayer ?"
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "Dossier ajouté"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "Séparateur ajouté"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr "Désolé, le dossier %s existe déjà \n Changer de nom ?"
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "Oops ?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr "Comment voulez-vous nommer le Dossier ?"
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "Collé"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr "Désolé, vous n'avez pas le droit de déplacer le dossier principal"
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr "Désolé, vous n'avez pas le droit de déplacer le dossier principal"
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr "Supprimer le dossier %s et tout ce qu'il contient ?"
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "Dossier supprimé"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "Favori supprimé"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Bienvenue sur 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr "4Pane est un Gestionnaire de Fichiers dont le but est d'être rapide et complet sans superflu."
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr "Veuillez cliquer sur Suivant pour configurer 4Pane pour votre système."
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr "Ici"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr "Favoris : Nouveau Séparateur"
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Ajouter un raccourci vers 4Pane sur votre bureau"
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "&Lancer un programme"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "Aller dans le répertoire d'accueil"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Raccourcis"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Outils"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "Ajouter un outil"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Éditer un outil"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "Supprimer un outil"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Appareils"
#: Configure.cpp:2052
msgid "Automount"
msgstr "Montage automatique"
#: Configure.cpp:2054
msgid "Mounting"
msgstr ""
#: Configure.cpp:2056
msgid "Usb"
msgstr ""
#: Configure.cpp:2058
msgid "Removable"
msgstr ""
#: Configure.cpp:2060
msgid "Fixed"
msgstr ""
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr ""
#: Configure.cpp:2085
msgid "Emulator"
msgstr ""
#: Configure.cpp:2088
msgid "The Network"
msgstr ""
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr ""
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr ""
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "Choisir un fichier"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr "Outils définis par l'utilisateur"
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "Appareils USB"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr "Affichage"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr "Réseaux"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr " (Ignoré)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr "Supprimer cet appareil ?"
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr "Police par défaut"
#: Configure.cpp:4036
msgid "Delete "
msgstr "Supprimé "
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "Êtes-vous sûr(e) ?"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr "Cela semble être une adresse IP invalide"
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr "Ce serveur est déjà dans la liste"
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr "Veuillez saisir la commande à utiliser, y compris les options requises"
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr " menu"
#: Devices.cpp:305
msgid "&Display "
msgstr "&Afficher "
#: Devices.cpp:306
msgid "&Undisplay "
msgstr "&Cacher "
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr "&Éjecter"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr "Montage automatique"
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr ""
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr ""
#: Devices.cpp:843
msgid "Floppy"
msgstr ""
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr "Fichier"
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr "Vous devez saisir une commande valide. Ré-essayer ?"
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr "Supprimer cet éditeur ?"
#: Devices.cpp:3449
msgid "png"
msgstr ""
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "Annuler"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr "Aide RegEx"
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "Fermer"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "Répertoire"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr "Socket"
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr ""
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "Supprimer %s ?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr "couper"
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr "Impossible de créer le répertoire"
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr "Fichiers, taille totale"
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr "Sous-répertoires"
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr "Déplacé"
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr "supprimé"
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr "supprimé"
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "OK"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "&Localiser"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/4Pane.pot 0000644 0001750 0001750 00000537161 13130150240 012242 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
# David Hart , 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: 4Pane-1.1\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr ""
#: Accelerators.cpp:213
msgid "&Copy"
msgstr ""
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr ""
#: Accelerators.cpp:213
msgid "De&lete"
msgstr ""
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr ""
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr ""
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr ""
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr ""
#: Accelerators.cpp:214
msgid "&Open"
msgstr ""
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr ""
#: Accelerators.cpp:214
msgid "&Paste"
msgstr ""
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr ""
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr ""
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "Und&o"
msgstr ""
#: Accelerators.cpp:215
msgid "&Redo"
msgstr ""
#: Accelerators.cpp:215
msgid "Select &All"
msgstr ""
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr ""
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr ""
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr ""
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr ""
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr ""
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr ""
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr ""
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr ""
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr ""
#: Accelerators.cpp:217
msgid "&Extension"
msgstr ""
#: Accelerators.cpp:217
msgid "&Size"
msgstr ""
#: Accelerators.cpp:217
msgid "&Time"
msgstr ""
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr ""
#: Accelerators.cpp:218
msgid "&Owner"
msgstr ""
#: Accelerators.cpp:218
msgid "&Group"
msgstr ""
#: Accelerators.cpp:218
msgid "&Link"
msgstr ""
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr ""
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr ""
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr ""
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr ""
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr ""
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr ""
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr ""
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr ""
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr ""
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr ""
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr ""
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr ""
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr ""
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr ""
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr ""
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr ""
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr ""
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr ""
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr ""
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr ""
#: Accelerators.cpp:228
msgid "E&xit"
msgstr ""
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr ""
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr ""
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr ""
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr ""
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr ""
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr ""
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr ""
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr ""
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr ""
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr ""
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr ""
#: Accelerators.cpp:502
msgid "&Edit"
msgstr ""
#: Accelerators.cpp:502
msgid "&View"
msgstr ""
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr ""
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr ""
#: Accelerators.cpp:502
msgid "&Archive"
msgstr ""
#: Accelerators.cpp:502
msgid "&Mount"
msgstr ""
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr ""
#: Accelerators.cpp:502
msgid "&Options"
msgstr ""
#: Accelerators.cpp:502
msgid "&Help"
msgstr ""
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr ""
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr ""
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr ""
#: Accelerators.cpp:675
msgid "Default"
msgstr ""
#: Accelerators.cpp:694
msgid "Extension"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr ""
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr ""
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr ""
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr ""
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr ""
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to "
"exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr ""
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr ""
#: Archive.cpp:1228
msgid "Compression failed"
msgstr ""
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr ""
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr ""
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr ""
#: Archive.cpp:1242
msgid "Archive created"
msgstr ""
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr ""
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr ""
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr ""
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr ""
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr ""
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr ""
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr ""
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr ""
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr ""
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr ""
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr ""
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr ""
#: Bookmarks.cpp:204
msgid "Moved"
msgstr ""
#: Bookmarks.cpp:215
msgid "Copied"
msgstr ""
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr ""
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr ""
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr ""
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr ""
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr ""
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr ""
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr ""
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr ""
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr ""
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr ""
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr ""
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr ""
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr ""
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr ""
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your "
"installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your "
"installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your "
"installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr ""
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr ""
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the "
"configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only "
"partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr ""
#: Configure.cpp:2041
msgid "Tools"
msgstr ""
#: Configure.cpp:2043
msgid "Add a tool"
msgstr ""
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr ""
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr ""
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr ""
#: Configure.cpp:2052
msgid "Automount"
msgstr ""
#: Configure.cpp:2054
msgid "Mounting"
msgstr ""
#: Configure.cpp:2056
msgid "Usb"
msgstr ""
#: Configure.cpp:2058
msgid "Removable"
msgstr ""
#: Configure.cpp:2060
msgid "Fixed"
msgstr ""
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr ""
#: Configure.cpp:2085
msgid "Emulator"
msgstr ""
#: Configure.cpp:2088
msgid "The Network"
msgstr ""
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr ""
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr ""
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr ""
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr ""
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr ""
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr ""
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr ""
#: Configure.cpp:4036
msgid "Delete "
msgstr ""
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr ""
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr ""
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr ""
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr ""
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr ""
#: Devices.cpp:843
msgid "Floppy"
msgstr ""
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr ""
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr ""
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr ""
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr ""
#: Filetypes.cpp:353
msgid "FIFO"
msgstr ""
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr ""
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr ""
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't "
"properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that "
"Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't "
"properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't "
"properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a 'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid " of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions "
"problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions "
"problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A "
"permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been "
"saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data "
"will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page "
"changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page "
"changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter. "
"Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr ""
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No' "
"in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours "
"for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of "
"a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered "
"files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external "
"changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is /home/david/"
"Documents, make the titlebar show '4Pane [Documents]' instead of just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a "
"terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a "
"terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-"
"F6. You can use normal characters, but there are also the following "
"options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably /usr/sbin/"
"showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or "
"symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so "
"that it can later be undone, and then redone if desired. This is the maximum "
"number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this "
"counts as 100 procedures! So I suggest that the number here should be fairly "
"large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar "
"ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You "
"can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your "
"PATH, you should get away with just the name e.g. 'df'. Otherwise you will "
"need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file "
"(directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from "
"both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If "
"you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree "
"of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE "
"9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes. "
"If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device "
"will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in /proc/"
"sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-"
"storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/"
"sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each "
"dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or /opt/gnome/bin/"
"gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed "
"to before running the command. Most commands won't need this; in particular, "
"it won't be needed for any commands that can be launched without a Path e.g. "
"kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid "For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you "
"can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow "
"panel shows only the label, not the icon; so without a label there's a blank "
"space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default "
"value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files "
"R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar "
"by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr ""
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath "
"will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname "
"eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will "
"be offered when you right-click on files with such extensions. You must also "
"enter one if you will want this application to be the default for launching "
"this type of file. So if you will want all files with the extension 'txt', "
"on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program "
"name followed by %s, which represents the file to be launched. So if kedit "
"is your default text editor, and the launch Command is kedit %s, double-"
"clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can "
"be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not "
"'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid "
"a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards "
"*, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of /home/myname/"
"bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid "If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and "
"hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the "
"beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start "
"path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the "
"Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may "
"contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return "
"anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter "
"the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the "
"Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid "Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not foo.tar."
"gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in "
"or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least "
"for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > "
"Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but "
"the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories) "
"will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and "
"its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one. "
"Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust "
"you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know "
"of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. "
"foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/da/ 0000755 0001750 0001750 00000000000 13130460751 011211 5 0000000 0000000 4pane-5.0/locale/da/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 012777 5 0000000 0000000 4pane-5.0/locale/da/LC_MESSAGES/da.po 0000644 0001750 0001750 00000726762 13130150240 013653 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# DavidGH , 2011
# Joe Hansen , 2011
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Danish (http://www.transifex.com/davidgh/4Pane/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr "Ctrl"
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr "Alt"
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr "Skift"
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "K&lip"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&Kopier"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "Send til &papirkurv"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "&Slet"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Slet permanent"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "&Omdøb"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "&Dupliker"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "&Egenskaber"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "&Ã…bn"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Ã…bn %med..."
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "&Indsæt"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "Lav en &hård henvisning"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "Lav en &symbolsk henvisning"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "&Slet faneblad"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "&Omdøb faneblad"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "&Fortryd"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "&Gendan"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "&Vælg alle"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "&Ny fil eller mappe"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "Nyt faneblad"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "&Indsæt faneblad"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "&Dupliker dette faneblad"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr "Vis lige &enkeltfanebladshoved"
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Giv alle fanebladshoveder ens &bredde"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "&Repliker i modsat panel"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "&Ombyt panelerne"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "Opdel paneler &lodret"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "Opdel paneler &vandret"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "Fjern &opsplitning af paneler"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "&Filendelse"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&Størrelse"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "&Tid"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "&Rettigheder"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "&Ejer"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "&Gruppe"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "&Henvisning"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "Vis &alle kolonner"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "&Fjern visning af alle kolonner"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "Gem &panelopsætning"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "Gem panelopsætning ved &afslutning"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "&Gem layout som skabelon"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "&Slet en skabelon"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "&Opdater visning"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "Start &terminal"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "&Filtervisning"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "Vis/skjul skjulte mapper og filer"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "&Tilføj til bogmærker"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "&Håndter bogmærker"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "&Monter en partition"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "&Demonter en partition"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "Monter et &ISO-aftryk"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "Monter en &NFS-eksport"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "Monter en &Sambadeling"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "Vis &terminalemulator"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "Vis &kommandolinje"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "&GÃ¥ til valgt fil"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "Tøm &papirkurven"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "Slet &permanent »slettede« filer"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "&Udpak arkiv eller komprimerede filer"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "Opret et &nyt arkiv"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "&Tilføj til et eksisterende arkiv"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "&Test integritet på arkiv eller komprimerede filer"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "&Pak filer"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "&Vis rekursiv mappestørrelser"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr "&Bevar relative mål for symbolske henvisninger"
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "&Konfigurer 4Pane"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "&Afslut"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "Kontekstafhængig hjælp"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "&Hjælpindhold"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&OSS"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "&Om 4Pane"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "Konfigurer genveje"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "Gå til mål for symbolsk henvisning"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr "Gå til mål for symbolsk henvisning ultimate"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Rediger"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Nyt adskillelsestegn"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "Gentag forrige program"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "Klipper den aktuelle markering"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "Kopier den aktuelle markering"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "Send til papirkurven"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr "Dræb, men kan måske komme til live igen"
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr "Slet med stor omhu"
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "Indsæt indholdet af udklipsholderen"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr "Lav hård henvisning af indholdet i udklipsholderen hertil"
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr "Lav blød henvisning af indholdet i udklipsholderen hertil"
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "Slet det aktuelt valgte faneblad"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "Omdøb det aktuelt valgte faneblad"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Tilføj et nyt faneblad"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "Indsæt et nyt faneblad efter den aktuelt valgte"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "Skjul hovedet på et enkelt faneblad"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr "Kopier denne sides sti til det modsatte panel"
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr "Ombyt en sides sti med den anden"
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr "Gem layout på paneler indenfor hvert faneblad"
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr "Gem altid layoutet på paneler ved afslutning"
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr "Gem disse faneblade som en genindlæsbar skabelon"
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr "Tilføj det aktuelt valgte punkt til dine bogmærker"
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "Omarranger, omdøb eller slet bogmærker"
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr "Find ens filer"
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr "Søg indeni filer"
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "Vis/skjul terminalemulatoren"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr "Vis/skjul kommandolinjen"
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr "Tøm 4Panes egen papirkurv"
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr "Slet 4Panes mappe: »Slettet«"
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr "Hvorvidt mappestørrelser skal kalkuleres rekursivt i filvisninger"
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr "Ved flytning af en relativ symbolsk henvisning, bevar dens mål"
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "Luk dette program"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr "\nTabellerne i ImplementDefaultShortcuts() er ikke af ens størrelse!"
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr "Skift tilstand for fuldtræ"
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr "Kunne ikke indlæse konfiguration!?"
#: Accelerators.cpp:502
msgid "&File"
msgstr "&Fil"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "&Rediger"
#: Accelerators.cpp:502
msgid "&View"
msgstr "&Visning"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "&Faneblade"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "&Bogmærker"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "&Arkiv"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "&Monter"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "&Værktøjer"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "&Indstillinger"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "&Hjælp"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "&Kolonner der skal vises"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr "&Indlæs en fanebladsskabelon"
#: Accelerators.cpp:673
msgid "Action"
msgstr "Handling"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Genvej"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Standard"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Filendelse"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr "(Fjern)Vis kolonne for filendelser"
#: Accelerators.cpp:694
msgid "Size"
msgstr "Størrelse"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr "(Fjern)vis kolonne for filstørrelse"
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Tid"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr "(Fjern)Vis kolonne for filernes tidsstempel"
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Rettigheder"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr "(Fjern)Vis kolonne for filrettigheder"
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Ejer"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr "(Fjern)Vis kolonne for filejer"
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Gruppe"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr "(Fjern)Vis kolonne for filgrupper"
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "Henvisning"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr "(Fjern)Vis kolonne for filhenvisninger"
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "Vis alle kolonner"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr "Filvisning: Vis alle kolonner"
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "Fjern visning af alle kolonner"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr "Filvisning: Fjern alle kolonner"
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Bogmærker: Rediger"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "Bogmærker: Nyt adskillelsestegn"
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "Mist ændringer?"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "Er du sikker?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr "Indtast den nye etiket der skal vises for dette menupunkt"
#: Accelerators.cpp:958
msgid "Change label"
msgstr "Ændr etiket"
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr "Indtast hjælpestrengen der skal vises for dette menupunkt\nAfbryd vil rydde strengen"
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr "Ændr hjælpestreng"
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr "Jeg kan ikke finde denne fil eller mappe.\nForsøg med knappen Gennemse."
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "Oops!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr "Vælg filer og/eller mapper"
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr "Vælg mappen hvori arkivet skal gemmes"
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr "Led efter arkivet hvor der skal tilføjes til"
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr "Mappen, hvori du ønsker at oprette arkivet, ser ikke ud til at eksistere.\nBrug den aktuelle mappe?"
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr "Arkivet, hvori du forsøger at tilføje, ser ikke ud til at eksistere.\nForsøg igen?"
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Oops"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr "Ingen relevante pakkede filer blev valgt.\nForsøg igen?"
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr "Find arkivet der skal verificeres"
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr "Vælg mappen hvori arkivet skal udpakkes til"
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr "Kunne ikke oprette den ønskede modtagelsesmappe.\nForsøg igen?"
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr "Kan ikke finde et gyldig arkiv at udpakke.\nForsøg igen?"
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr "Kan ikke finde et gyldigt arkiv at verificere.\nForsøg igen?"
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "Filer pakket"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "Pakning mislykkedes"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "Filer pakket ud"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "Udpakning mislykkedes"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "Verifikation mislykkedes"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "Arkiv oprettet"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "Arkivoprettelse mislykkedes"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "Filer tilføjet til arkiv"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "Arkivtilføjelse mislykkedes"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "Arkiv udpakket"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Udpakning mislykkedes"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr "Til hvilken mappe ønsker du at udpakke disse filer?"
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr "Til hvilken mappe ønsker du denne udpakket?"
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "Udpakker fra arkiv"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr "Beklager, du har ikke oprettelsesrettighed i denne mappe\n Forsøg igen?"
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "Ingen post!"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr "Beklager, %s findes allerede\n Forsøg igen?"
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr "Beklager, du har ikke rettighed til at skrive til denne mappe"
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr "Beklager, du har ikke rettighed til filerne i denne mappe"
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr "Ingen afslutning!"
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr "Af en eller anden årsag mislykkedes forsøget på at oprette en mappe til modtagelse af sikkerhedskopien. Beklager!"
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr "Beklager, sikkerhedskopiering mislykkedes"
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr "Beklager, fjernelse af punkter mislykkedes"
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Indsæt"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Flyt"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr "Beklager, du skal være administrator (root) for at udpakke tegn eller blokenheder"
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr "Din zlib er for gammel til, at du kan udføre dette :("
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr "Filen er pakket, men den er ikke et arkiv, så du kan ikke kigge indenfor."
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "Beklager"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Bogmærkemapper"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Adskillelsestegn"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "Duplikeret"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "Flyttet"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Kopieret"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Omdøb mappe"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Rediger bogmærke"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "Nyt adskillelsestegn"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "Ny mappe"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr "Kunne ikke indlæse menubjælke!?"
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr "Kunne ikke finde menu!?"
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr "Dette afsnit findes ikke i ini-filen!?"
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "Bogmærker"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr "Beklager, kunne ikke lokalisere den mappe"
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "Bogmærke tilføjet"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "Mist alle ændringer?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr "Hvilken etiket ønsker du til den nye mappe?"
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr "Beklager, der er allerede en mappe med navnet %s\n Forsøg igen?"
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "Mappe tilføjet"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "Adskillelsestegn tilføjet"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr "Beklager, der er allerede en mappe med navnet %s\n Ændr navnet?"
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "Oops?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr "Hvad vil du kalde mappen?"
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr "Hvilken etiket skal mappen have?"
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "Indsat"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr "Ændr mappetiketten nedenfor"
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr "Beklager, du har ikke tilladelse til at flytte hovedmappen"
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr "Beklager, du har ikke tilladelse til at slette hovedmappen"
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr "Tsk tsk!"
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr "Slet mappe %s og hele dens indhold?"
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "Mappe slettet"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "Bogmærke slettet"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Velkommen til 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr "4Pane er en filhåndtering, som forsøger at være hurtig og have alle væsentlige funktioner."
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr "Klik venligst Fremad for at konfigurere 4Pane til dit system."
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr "Eller hvis der allerede er en konfigurationsfil, som du ønsker at kopiere, klik"
#: Configure.cpp:69
msgid "Here"
msgstr "Her"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr "Ressourcer lokaliseret. Tryk venligst på Fremad"
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr "Jeg har kigget på dit system, og oprettet en konfiguration som bør virke."
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr "Du kan selv lave en fuld konfiguration på ethvert tidspunkt fra Indstillinger > Konfigurer 4Pane."
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Placer en genvej til 4Pane på skrivebordet"
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr "Find konfigurationsfilen der skal kopieres"
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr "Beklager du har ikke rettighed til at kopiere denne fil.\nØnsker du at forsøge igen?"
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr "Find ..../4Pane/rc/"
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr "Find ..../4Pane/bitmaps/"
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr "Find ..../4Pane/doc/"
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "&Kør et program"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "GÃ¥ til hjemmemappe"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr "GÃ¥ til mappen for dokumenter"
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr "Hvis du ser denne besked (og det burde du ikke!), er det fordi konfigurationsfilen ikke kunne gemmes.\nDen tætteste årsag vil være forkerte rettigheder eller en skrivebeskyttet partition."
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Genveje"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Værktøjer"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "Tilføj et værktøj"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Rediger et værktøj"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "Slet et værktøj"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Enheder"
#: Configure.cpp:2052
msgid "Automount"
msgstr "Monter automatisk"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "Monterer"
#: Configure.cpp:2056
msgid "Usb"
msgstr "Usb"
#: Configure.cpp:2058
msgid "Removable"
msgstr "Ekstern"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "Fast"
#: Configure.cpp:2062
msgid "Advanced"
msgstr "Avanceret"
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr "Avanceret faste"
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr "Avanceret eksterne"
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr "Avanceret lvm"
#: Configure.cpp:2072
msgid "The Display"
msgstr "Skærmen"
#: Configure.cpp:2074
msgid "Trees"
msgstr "Træer"
#: Configure.cpp:2076
msgid "Tree font"
msgstr "Skrifttype for træ"
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr "Div."
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr "Terminaler"
#: Configure.cpp:2083
msgid "Real"
msgstr "Reel"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "Emulator"
#: Configure.cpp:2088
msgid "The Network"
msgstr "Netværket"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "Diverse"
#: Configure.cpp:2093
msgid "Numbers"
msgstr "Tal"
#: Configure.cpp:2095
msgid "Times"
msgstr "Tid"
#: Configure.cpp:2097
msgid "Superuser"
msgstr "Superbruger"
#: Configure.cpp:2099
msgid "Other"
msgstr "Andet"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr " Stop gtk2's tilfangetagelse af F10-tasten"
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr "Hvis denne er slået fra, vil gtk2 fange tryk på F10-tasten, så du kan ikke bruge den som en genvej (Tasten er standard for »Ny fil eller mappe«)."
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr "Beklager, der er ikke plads til endnu en undermenu her\nJeg anbefaler, at du placerer den et andet sted"
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr "Indtast navnet på den nye undermenu, som skal tilføjes til "
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr "Beklager, en menu med dette navn findes allerede\n Forsøg igen?"
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr "Beklager, du har ikke tilladelse til at slette rootmenuen"
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr "Slet menu »%s« og hele menuens indhold?"
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr "Jeg kan ikke finde en kørbar kommando »%s«.\nFortsæt alligevel?"
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "Jeg kan ikke finde en kørbar kommando »%s« i din STI.\nFortsæt alligevel?"
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr " Klik når færdig "
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr " Rediger denne kommando "
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr "Slet kommando »%s«?"
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "Vælg en fil"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr "Brugerdefinerede værktøjer"
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr "Enheder som automatisk monteres"
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr "Enhedsmontering"
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "Enheders usb"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr "Eksterne enheder"
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr "Faste enheder"
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr "Avanceret enheder faste"
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr "Avanceret enheder eksterne"
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr "Avanceret enheder LVM"
#: Configure.cpp:2739
msgid "Display"
msgstr "Vis"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr "Vis træer"
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr "Vis skrifttype for træ"
#: Configure.cpp:2739
msgid "Display Misc"
msgstr "Vis div."
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr "Reelle terminaler"
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr "Terminalemulator"
#: Configure.cpp:2740
msgid "Networks"
msgstr "Netværk"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr "Div. fortryd"
#: Configure.cpp:2741
msgid "Misc Times"
msgstr "Div. tid"
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr "Div. superbruger"
#: Configure.cpp:2741
msgid "Misc Other"
msgstr "Div. andet"
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr "Der er ugemte ændringer på siden »%s«.\n Ønsker du at lukke alligevel?"
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr "Valgt skrift for træ"
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr "Standardskrift for træ"
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr " (Ignoreret)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr "Slet denne enhed?"
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr "Valgt skrift for terminalemulator"
#: Configure.cpp:3829
msgid "Default Font"
msgstr "Standardskrift"
#: Configure.cpp:4036
msgid "Delete "
msgstr "Slet "
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "Er du sikker?"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr "Det ligner ikke en gyldig ip-adresse"
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr "Den server er allerede på listen"
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr "Indtast venligst kommandoen, inklusive alle krævede tilvalg"
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr "Kommando til en andet gui su-program"
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr "Hvert metanøglemønster skal være unikt. Forsøg igen?"
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr "Slet denne værktøjsbjælkeknap?"
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr "Find filstien der skal tilføjes"
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr " menu"
#: Devices.cpp:305
msgid "&Display "
msgstr "&Vis "
#: Devices.cpp:306
msgid "&Undisplay "
msgstr "&Fjern "
#: Devices.cpp:308
msgid "&Mount "
msgstr "&Monter "
#: Devices.cpp:308
msgid "&UnMount "
msgstr "&Demonter "
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr "Monter en dvd-&ram"
#: Devices.cpp:347
msgid "Display "
msgstr "Vis "
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr "Demonter dvd-&ram"
#: Devices.cpp:354
msgid "&Eject"
msgstr "&Skub ud"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr "Hvilken montering ønsker du at fjerne?"
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr "Demonter en dvd-ram-disk"
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr "Klik eller træk hertil for at starte "
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr "Beklager du har ikke rettighed til at læse denne fil"
#: Devices.cpp:581
msgid "Failed"
msgstr "Mislykkedes"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr "Filer kunne ikke åbnes på grund af manglende læserettighed"
#: Devices.cpp:592
msgid "Warning"
msgstr "Advarsel"
#: Devices.cpp:843
msgid "Floppy"
msgstr "Floppy"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr "Oops, det drev ser ikke ud til at være tilgængeligt.\n\n Må du have en god dag!"
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr "Oops, den partition ser ikke ud til at være tilgængelig.\n\n Hav en god dag!"
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr "Beklager, du skal være administrator (root) for at demontere partitioner af typen non-fstab"
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr "Beklager, kunne ikke demontere"
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr "\n(Du skal su til root)"
#: Devices.cpp:1435
msgid "The partition "
msgstr "Partitionen "
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr " har ikke et fstab-indgang.\nHvor vil du montere den?"
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr "Monter en non-fstab-partition"
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr "Monteringspunktet for denne enhed findes ikke. Opret det?"
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr "Beklager, du skal være administrator (root) for at montere non-fstab-partitioner"
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr "Oops, kunne ikke montere\nDer var et problem med /etc/mtab"
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr "Oops, kunne ikke montere\n Forsøg med indsættelse af en funktionsdygtig disk"
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr "Oops, kunne ikke montere på grund af en fejl "
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr "Oops, kunne ikke montere\nHar du de korrekte rettigheder?"
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr "Jeg kan ikke finde filen med listen over partitionerne, "
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr "\n\nDu skal bruge Konfigurer for at løse dette"
#: Devices.cpp:1662
msgid "File "
msgstr "Fil "
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr "Jeg kan ikke finde filen med listen over scsi-punkter, "
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr "Du skal indtaste en gyldig kommando. Forsøg igen?"
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr "Ingen app indtastet"
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr "Den filsti ser ikke ud til at eksistere på nuværende tidspunkt.\n Brug den alligevel?"
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr "App ikke fundet"
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr "Slet denne redigering?"
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3449
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "Afbryd"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr "Vælg venligst den korrekte ikontype"
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr "Jeg er bange for, at du ikke har læserettighed til denne fil"
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr "Et problem opstod: Modtagelsesmappen findes ikke! Beklager."
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr "Et problem opstod: Den indgående mappe findes ikke! Beklager."
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr "Der er allerede en mappe i arkivet med det navn "
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr "\nJeg foreslår du enten omdøber den, eller den indgående mappe"
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr "Af en eller anden årsag mislykkedes forsøget på at oprette en mappe til midlertidig gemning af den overskrevet fil. Beklager!"
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr "Begge filer har det samme ændringstidspunkt"
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr "Den aktuelle fil blev ændret den "
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr "Den indgående fil blev ændret den "
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr "Det virker som om, at du ønsker at overskrive denne mappe med sig selv"
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr "Beklager, det navn er optaget. Forsøg venligst igen."
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr "Nej, ideen er at du ændrer navnet"
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr "Beklager, jeg kunne ikke duplikere filen. MÃ¥ske et rettighedsproblem?"
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr "Beklager, jeg kunne ikke lave plads til den indgående mappe. Måske et rettighedsproblem?"
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr "Beklager, en usandsynlig filsystemfejl opstod :-("
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr "Sletning af symbolsk henvisning mislykkedes!?!"
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr "Dupliker flere gange"
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr "Bekræft duplikation"
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr "Hjælp til regulære udtryk"
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr "Lykkedes\n"
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr "Proces mislykkedes\n"
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr "Proces afbrudt\n"
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr "Beklager, kunne ikke afbryde\n"
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr "Kørsel af »%s« mislykkedes."
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "Luk"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr "Regulær fil"
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr "Symbolsk henvisning"
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr "Ødelagt symbolsk henvisning"
#: Filetypes.cpp:350
msgid "Character Device"
msgstr "Tegnenhed"
#: Filetypes.cpp:351
msgid "Block Device"
msgstr "Blokenhed"
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "Mappe"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr "Sokkel"
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr "Ukendt type?!"
#: Filetypes.cpp:959
msgid "Applications"
msgstr "Programmer"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr "Beklager, du har ikke ret til at slette root-mappen"
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr "Suk!"
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr "Slet mappe %s?"
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr "Beklager, jeg kunne ikke finde den mappe!?"
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr "Jeg kan ikke finde et kørbart program »%s«.\nFortsæt alligevel?"
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "Jeg kan ikke finde et kørbart program »%s« i din STI.\nFortsæt alligevel?"
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr "Beklager, der er allerede et program ved navn %s\n Forsøg igen?"
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr "Bekræft venligst"
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr "Du indtastede ikke en filendelse!"
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr "For hvilke filendelser ønsker du, at dette program skal være standard?"
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr "For hvilke filendelser ønsker du, at %s skal være standard"
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr "Erstat %s\nmed %s\nsom standardkommando for filer af typen %s?"
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr "Beklager, jeg kunne ikke finde programmet!?"
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "Slet %s?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr "Rediger programdataene"
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr "Beklager, du har ikke tilladelse til at køre denne fil."
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr "Beklager, du har ikke tilladelse til at køre denne fil.\nVil du forsøge at læse den?"
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr "Brug ikke længere %s som standardkommando for filer af typen %s?"
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr "Vis skjulte"
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr "klip"
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr "Du har ikke indtastet et monteringspunkt.\nForsøg igen?"
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr "Monteringspunktet for denne partition findes ikke. Opret den?"
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr "Monteret på "
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr "Umuligt at oprette mappe "
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr "Oops, kunne ikke oprette mappen"
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr "Oops, jeg har ikke nok rettigheder til at oprette mappen"
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr "Demontering administrator (root) er VIRKELIG en dårlig ide!"
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr "Kunne ikke demontere "
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr " demonteret"
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr "Oops, kunne ikke demontere på grund af fejl "
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr "Oops kunne ikke demontere"
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr "Det anmodede monteringspunkt findes ikke. Opret det?"
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr "Oops, kunne ikke montere\nEr du sikker på, at filen er et gyldigt aftryk?"
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr "Denne eksport er allerede monteret på "
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr "Monteringspunktet for denne eksport findes ikke. Opret den?"
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr "Monteringspunktet for denne deling findes ikke. Opret den?"
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr "Beklager, du skal være administrator (root) for at montere non-fstab-eksporter"
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr "Oops, kunne ikke montere\nKører NFS?"
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr "Denne deling er allerede monteret på "
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr "Beklager, du har brug for at være administrator (root) for at montere delinger af typen non-fstab"
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr "Ingen montering af denne type fundet"
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr "Del eller eksporter til demonter"
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr "Monteringspunkt"
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr " Demonteret"
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr "Vælg en mappe som skal bruges som monteringspunkt"
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr "Vælg et aftryk til montering"
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr "Beklager, jeg kan ikke finde redskabet showmount. Brug venligst Konfigurer > Netværk til at indtaste dens filsti"
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr "Jeg kan ikke finde redskabet »showmount«. Dette betyder sikkert, at NFS ikke er korrekt installeret.\nMåske er der et STI- eller rettighedsproblem"
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr "Jeg kender ikke til nogen NFS-servere på dit netværk.\nØnsker du at fortsætte, og skrive nogle ind selv?"
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr "Ingen aktuelle monteringer fundet"
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr "Du kan ikke henvise indeni en mappe med mindre du ændrer henvisningens navn."
#: MyDirs.cpp:118
msgid "Not possible"
msgstr "Ikke muligt"
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr "Tilbage til forrige mappe"
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr "Genindtast mappe"
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr "Vælg tidligere besøgt mappe"
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr "Vis fuldt træ"
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr "Op til højere mappe"
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr "Hjem"
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr "Hmm. Det ser ud til, at den mappe ikke længere findes!"
#: MyDirs.cpp:664
msgid " D H "
msgstr " D H "
#: MyDirs.cpp:664
msgid " D "
msgstr " D "
#: MyDirs.cpp:672
msgid "Dir: "
msgstr "Mappe: "
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr "Filer, størrelse i alt"
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr "Undermapper"
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr "Beklager, du kan ikke oprette indeni et arkiv.\nDu kan dog oprette det nye element udenfor, og så flytte det ind."
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr "Beklager, du har ikke rettighed til at oprette i denne mappe"
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr "&Skjul skjulte mapper og filer\tCtrl+H"
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr "&Vis skjulte mapper og filer\tCtrl+H"
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr "flyttet"
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr "Beklager, du har ikke de korrekte rettigheder til at udføre denne flytning.\nØnsker du at forsøge med Kopier i steden for?"
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr "Beklager, du har ikke de korrekte rettigheder til at udføre denne flytning"
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr "Beklager, du kan ikke oprette henvisniger inden i et arkiv.\nDu kan dog oprette den nye henvisning udenfor, og så flytte den ind."
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr "Beklager, du har ikke rettighed til at oprette henvisninger i denne mappe"
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr "Opret en ny %s-henvisning fra:"
#: MyDirs.cpp:1033
msgid "Hard"
msgstr "HÃ¥rd"
#: MyDirs.cpp:1033
msgid "Soft"
msgstr "Blød"
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr "Angiv venligst en filendelse som skal tilføjes"
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr "Angiv venligst et navn som henvisningen skal kaldes"
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr "Angiv venligst et andet navn for henvisningen"
#: MyDirs.cpp:1112
msgid "linked"
msgstr "henvist"
#: MyDirs.cpp:1122
msgid "trashed"
msgstr "i papirkurv"
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr "slettet"
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr "Beklager, du har ikke rettighed til at slette fra denne mappe"
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr "Smid i papirkurv: "
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr "Slet: "
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr "\n\n Til:\n"
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr "Af en eller anden årsag mislykkedes forsøget på at oprette en mappe, der skulle modtage sletningen. Beklager!"
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr "Beklager, sletning mislykkedes"
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr " Du har ikke tilladelse til at slette fra denne mappe.\nDu kan forsøge at slette enkeltvis."
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr " Du har ikke tilladelse til at slette fra en undermappe i denne mappe.\nDu kan forsøge at slette enkeltvis."
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr " Filstien var ugyldig."
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr "For "
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr " af punkterne, du har ikke tilladelse til at slette fra denne mappe."
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr " af punkterne, du har ikke tilladelse til at slette fra en undermappe i denne mappe."
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr " af punkterne, filstien var ugyldig."
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr " \nDu kan forsøge at slette enkeltvis."
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr "Beklager, punktet kunne ikke slettes."
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr "Jeg beklager "
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr " punkterne kunne ikke slettes."
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr "Beklager, kun "
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr " af "
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr " punkter kunne slettes."
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr "Klip mislykkedes"
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr "Sletning mislykkedes"
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr "Slet permanent (du kan ikke fortryde!): "
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr "Er du HELT sikker?"
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr "slettet uden mulighed for gendannelse"
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr "Sletning mislykkedes!?!"
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr "? Aldrig hørt om det!"
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr "Sletning af mappe mislykkedes!?!"
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr "Filen ser ikke ud til at findes!?!"
#: MyDirs.cpp:1757
msgid "copied"
msgstr "kopieret"
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr "indsat"
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr "Lav en &symbolsk henvisning"
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr "Lav en &hård henvisning"
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr "Udpak fra arkiv"
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr "&Slet fra arkiv"
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr "&Omdøb mappe inden i arkiv"
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr "Dupliker mappe inden i arkiv"
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr "Omdøb &fil inden i arkiv"
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr "Dupliker fil indeni arkiv"
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr "&Slet mappe"
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr "Send mappe til &papirkurven"
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr "&Slet symbolsk henvisning"
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr "Send symbolsk henvisnig til &papirkurven"
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr "&Slet fil"
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr "Send fil til &papirkurven"
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr "Andet..."
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr "Ã…bn med brug af &rootprivilegier med...."
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr "Ã…bn med brug af &rootprivilegier"
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr "Ã…bn &med...."
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr "&Omdøb mappe"
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr "&Dupliker mappe"
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr "&Omdøb fil"
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr "&Dupliker fil"
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr "Opret et nyt arkiv"
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr "Tilføj til et eksisterende arkiv"
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr "Test integritet på arkiv eller komprimerede filer"
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr "Pak filer"
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr "&Skjul skjulte mapper og filer"
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr "&Vis skjulte mapper og filer"
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr "Kolonner der skal vises"
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr "Fjern opsplitning af paneler"
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr "&Repliker i modsat panel"
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr "Ombyt panelerne"
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr "Beklager, du kan ikke oprette inden i et arkiv.\nDu kan dog oprette det nye element udenfor, og så flytte det ind."
#: MyFiles.cpp:588
msgid "New directory created"
msgstr "Ny mappe oprettet"
#: MyFiles.cpp:588
msgid "New file created"
msgstr "Ny fil oprettet"
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr "Jeg tror ikke, du virkelig ønsker at duplikere root, gør du?"
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr "Jeg tror ikke, du virkelig ønsker at omdøbe root, gør du?"
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr "Beklager, du har ikke tilladelse til at duplikere i denne mappe"
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr "Beklager du har ikke tilladelse til at omdøbe i denne mappe"
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr "Dupliker "
#: MyFiles.cpp:665
msgid "Rename "
msgstr "Omdøb "
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr "Nej. Ideen er, at du angiver et NYT navn"
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr "duplikeret"
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr "omdøbt"
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr "Beklager, det virkede ikke. Forsøg igen?"
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr "Beklager, dette navn er ugyldigt\n Forsøg igen?"
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr "Beklager, en af disse findes allerede\n Forsøg igen?"
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr "Beklager, af en eller anden årsag mislykkedes denne handling\nForsøg igen?"
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr "Beklager, det navn er allerede brugt.\n Forsøg igen?"
#: MyFiles.cpp:1020
msgid "Open with "
msgstr "Ã…bn med "
#: MyFiles.cpp:1043
msgid " D F"
msgstr " D F"
#: MyFiles.cpp:1044
msgid " R"
msgstr " R"
#: MyFiles.cpp:1045
msgid " H "
msgstr " H "
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr " af filer og undermapper"
#: MyFiles.cpp:1077
msgid " of files"
msgstr " af filer"
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr "Det nye mål for henvisningen ser ikke ud til at findes.\nForsøg igen?"
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr "Af en eller anden årsag ser ændringen af den symbolske henvisnings mål ud til at være mislykkedes. Beklager!"
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr " ændringer udført, "
#: MyFiles.cpp:1693
msgid " failures"
msgstr " fejl"
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr "Vælg en anden fil eller mappe for det nye mål"
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr "Advarsel!"
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr "Beklager, du har ikke tilladelse til at skrive til mappen, der indeholder din valgte konfigurationsfil; afbryder."
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr "Kan ikke initialisere hjælpesystemet; afbryder."
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr "Fortryd flere handlinger på en gang"
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr "Gendan flere handlinger på en gang"
#: MyFrame.cpp:743
msgid "Cut"
msgstr "Klip"
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr "Klik for at klippe markering"
#: MyFrame.cpp:744
msgid "Copy"
msgstr "Kopier"
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr "Klike for at kopiere markering"
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr "Klik for at indsætte markering"
#: MyFrame.cpp:749
msgid "UnDo"
msgstr "Fortryd"
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr "Fortryd en handling"
#: MyFrame.cpp:751
msgid "ReDo"
msgstr "Gendan"
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr "Gendan en tidligere fortryd handling"
#: MyFrame.cpp:755
msgid "New Tab"
msgstr "Nyt faneblad"
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr "Opret et nyt faneblad"
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr "Slet faneblad"
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr "Sletter det aktuelt valgte faneblad"
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr "Om"
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr "Fejl"
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr "Lykkedes"
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr "Computer"
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr "Afsnit"
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr "Ugyldigt mappenavn."
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr "Filnavn findes allerede."
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr "Handling ikke tilladt."
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr "Hvilken skabelon ønsker du at slette?"
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr "Slet skabelon"
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr "Gemning af skabelon afbrudt"
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr "Afbrudt"
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr "Hvad vil du kalde denne skabelon?"
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr "Vælg en skabelonetiket"
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr "Gemning af skabelon afbrudt"
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr "Beklager, det maksimale antal faneblade er allerede åben."
#: MyNotebook.cpp:346
msgid " again"
msgstr " igen"
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr "&Tilføj faneblad"
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr "Hvad vil du kalde dette faneblad?"
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr "Ændre fanebladsnavn"
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr "Ugyldigt kolonneindeks"
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr "Ugyldig kolonne"
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr " Gendan: "
#: Redo.cpp:258
msgid " Undo: "
msgstr " Fortryd: "
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr " ----- MERE ----- "
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr " -- FORRIGE -- "
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr "fortrudt"
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr "gendannet"
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr "handling"
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr " fortrudt"
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr " gendannet"
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr "Beklager, du kan ikke oprette din slettede undermappe i papirkurven. Måske et rettighedsproblem?\nJeg foreslår, at du bruger konfigurer til at vælge en anden placering"
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr "Beklager, du kan ikke oprette din sletttede undermappe. Måske et rettighedsproblem?\nJeg foreslår, at du bruger konfigurer til at vælge en anden placering."
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr "Beklager, du kan ikke oprette din midlertidige filundermappe. Måske et rettighedsproblem?\nJeg foreslår, at du bruger konfigurer til at vælge en anden placering."
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr "Tømning af papirkurven i 4Pane vil permanent slette alle filer, som er blevet gemt der!\n\n Fortsæt?"
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr "Papirkurv tømt"
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr "Tømning af 4Panes slettede kurv vil ske automatisk, når 4Pane bliver lukket ned\nUdførelse af det for tidligt vil slette alle filer gemt der. Alle fortryd/gendan data vil mistes!\n\n Fortsæt?"
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr "Gemte filer slettet permanent"
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr "Du kan ikke lave en hård henvisning til en mappe."
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr "Du kan ikke lave en hård henvisning til en anden enhed eller partition."
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr "\nØnsker du at lave en symbolsk henvisning i steden for?"
#: Tools.cpp:60
msgid "No can do"
msgstr "Kan ikke lade sig gøre"
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr "Beklager, intet resultat."
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr " Hyg dig!\n"
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr "Vis"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr "Skjul"
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr "GÃ¥ til valgt filsti"
#: Tools.cpp:2449
msgid "Open selected file"
msgstr "Ã…bn valgt fil"
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr " punkter "
#: Tools.cpp:2880
msgid " item "
msgstr " punkt "
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr "Gentag: "
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr "Beklager, der er ikke plads til endnu en kommando her\nJeg foreslår, at du forsøger at placere den i en anden undermenu"
#: Tools.cpp:3077
msgid "Command added"
msgstr "Kommando tilføjet"
#: Tools.cpp:3267
msgid "first"
msgstr "først"
#: Tools.cpp:3267
msgid "other"
msgstr "anden"
#: Tools.cpp:3267
msgid "next"
msgstr "næste"
#: Tools.cpp:3267
msgid "last"
msgstr "sidst"
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr "Indtast venligst"
#: Tools.cpp:3342
msgid "parameter"
msgstr "parameter"
#: Tools.cpp:3355
msgid "ran successfully"
msgstr "kørte"
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr "Brugerdefineret værktøj"
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr "returnerede med afslutningskode"
#: Devices.h:432
msgid "Browse for new Icons"
msgstr "Find nye ikoner"
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr "Dialog til fil- og mappevalg"
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr "Slet"
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr "Ændr henvisningsmål"
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr "Ny mappe"
#: Redo.h:226
msgid "New File"
msgstr "Ny fil"
#: Redo.h:242
msgid "Duplicate Directory"
msgstr "Dupliker mappe"
#: Redo.h:242
msgid "Duplicate File"
msgstr "Dupliker fil"
#: Redo.h:261
msgid "Rename Directory"
msgstr "Omdøb mappe"
#: Redo.h:261
msgid "Rename File"
msgstr "Omdøb fil"
#: Redo.h:281
msgid "Duplicate"
msgstr "Dupliker"
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr "Omdøb"
#: Redo.h:301
msgid "Extract"
msgstr "Udpak"
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr "Indtast forsinkelse for værktøjstip"
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr "Angiv ønsket forsinkelse for værktøjstip, i sekunder"
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr "Deaktiver værktøjstip"
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "O.k."
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr "Klik når færdig"
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr "Klik for at afbryde"
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr "Ny enhed opdaget"
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr "En enhed er blevet tilføjet, som jeg endnu ikke har set."
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr "Ønsker du at konfigurere den?"
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr "Konfigurer den ikke nu, men spørg mig næste gang den dukker op"
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr "»Jeg ønsker ikke at blive spurgt om denne enhed«. Hvis du ændrer din mening, kan den konfigureres fra Konfigurer."
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr "Konfigurer ny enhed"
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr "Enhedsknude"
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr "Monteringspunkt for enheden"
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr "Hvad vil du kalde den?"
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr "Enhedstype"
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr "Enhed er skrivebeskyttet"
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr "Hverken spørg om eller indlæs enheden"
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr "Producentens navn"
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr "Monteringspunkt for denne enhed"
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr "Hvad er navnet på mappen som denne enhed er automatisk monteret på? Det vil sikkert se ud som /mnt/usb-[MinPenNavn]-FlashDisk:0:0:0p1"
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr "Konfigurer ny enhedstype"
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr "Konfigurer 4Pane"
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr "Klik når konfigurering er færdig"
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr "Brugerdefinerede kommandoer er eksterne programmer som du kan\nstarte fra 4Pane. Det kan være værktøjer som »df«, eller ethvert\nandet program eller kørbart skript.\nf.eks. starter »gedit %f« den aktuelt valgte fil i gedit."
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr "De følgende parametre er tilgængelige:\n%s vil sende den valgte fil eller mappe til programmet\n%f (%d) vil kun sende den valgte fil (mappe)\n%a sener alle det aktive panels valgte punkter\n%b vil sende en markering fra bgge filvisningspaneler.\n%p vil spørge efter en parameter for at sende til programmet.\n\nFor at forsøge at køre en kommando som superbruger, så brug præfiks f.eks. gksu eller sudo"
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr "På de følgende undersider kan du tilføje, redigere eller slette værktøjer."
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr "Dette afsnit håndterer enheder. De kan være enten faste\nf.eks. dvdrw-drev, eller eksterne f.eks. usb'er.\n\n4Pane kan normalt udlede en distributions opførsel og\nkonfigurere sig selv så 4Pane tilpasses. Hvis dette\nmislykkes, eller du ønsker at lave ændringer, kan du gøre\ndette på de følgende undersider."
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr "Det er her, du kan forsøge at få tingene til at virke\nhvis noget er gået galt, fordi du har en meget gammel,\neller meget moderne opsætning.\n\nDet er ikke sandsynligt, at du får brug for dette afsnit\nmen hvis du gør, så læs værktøjsfifene."
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr "Her kan du konfigurere udseendet på 4Pane.\n\nDen første underside håndterer mappe- og filtræet,\n den anden skrifttypen, og den tredje diverse ting."
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr "Disse to undersider håndterer terminaler. Den første er\nfor rigtige terminaler, den anden for terminalemulatoren."
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr "Endelig, fire sider med diverse ting."
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr "Disse punkter håndterer mappe- og filtræet"
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr "Billedpunkter mellem overmappen"
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr "mappe- og udvidelsesboksen"
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr "Der er en »udvidelsesboks« (i gtk2 reelt en trekant) mellem overmappen og filnavnet. Denne kontrol angiver antallet af billedpunkter mellem overmappen og trekanten."
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr "Billedpunkter mellem"
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr "Udvidelsesboksen og navn"
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr "Der er en »udvidelsesboks« (i gtk2 reelt en trekant) mellem overmappen og filnavnet. Denne kontrol angiver antallet af billedpunkter mellem trekanten og filnavnet."
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr "Vis skjulte filer og mapper i panelet på en netop oprettet fanebladsvisning. Du kan ændre denne for individuelle paneler fra kontekstmenuen, eller Ctrl-H"
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr " Som standard, vis skjulte filer og mapper"
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr "Hvis aktiveret sorteres viste filer/mapper på en måde, som er egnet til det sprog, du har indstillet. Det kan dog resultere i at skjulte filer (når vist) ikke vises adskilt"
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr " Sorter filer på en lokal måde"
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr "Vis en symbolsk henvisning til en mappe med de normale mapper i filvisningen, ikke sammen med filerne"
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr " Opfat en symbolsk henvisning til en mappe som en normal mappe"
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr "Ønsker du synlige linjer mellem hver mappe og dets undermapper? Vælg hvilken du foretrækker, men den normale stil er »Ja« i gtk1, men »Nej« i nogle versioner af gtk2"
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr " Vis linjer i mappetræet"
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr "I filvisningen giv linjer skiftevis forskellig baggrundsfarver, resulterende i en stribet fremtoning"
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr " Farvelæg linjer skiftevis i en filvisning"
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr "Klik for at vælge farverne som de skiftevis linjer skal have"
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr "Fremhæv forsigtigt kolonnehovedet for en filvisning, eller over værktøjsbjælken på en mappevisning for at flage hvilket panel der aktuelt er i fokus. Klik på knappen Konfigurer for at ændre graden af fremhævelse"
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr " Fremhæv panelet i fokus"
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr "Klik for at ændre graden af fremhævelse for hver paneltype"
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr "Her kan du konfigurer skriftypen brugt af træet"
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr "Klik på knappen »Ændr« for at vælge en anden skrift eller størrelse"
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr "Knappen »Brug standard« vil nulstille til systemets standard"
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr "Det er sådan her at terminalens emulatorskrifttype ser ud"
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr "Ændr til en skrifttype efter dit valg"
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr "Fremtoningen med brug af standardskrifttype"
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr "Vend tilbage til systemets standardskrifttype"
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr "Det er her, du kan se hvilken fil eller mappe, der er valgt. Du kan også bruge Ctrl-C for at kopiere den til brug i eksterne programmer. Ændringer i denne indstilling vil ikke træde i kraft, før 4Pane er genstartet."
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr " Vis den aktuelt valgte filsti i værktøjsbjælken"
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr "4Pane gemmer filer og mapper i papirkurven, fremfor at slette dem. Derudover vil du måske gerne blive spurgt før dette sker; hvis det er tilfældet, så afkryds denne boks"
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr " Spørg efter bekræftelse før filer sendes til papirkurven"
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr "4Pane gemmer slettede filer og mapper i sin egen slettekurv"
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr " Spørg efter bekræftelse før sletning af filer"
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr "Lav kurvene for filer der er slettede, og filer der er lagt i papirkurven i denne mappe"
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr "Her kan du tilføje/fjerne ikonerne på værktøjsbjælken, som repræsenterer redigeringsprogrammer og lignende programmer. Disse åbnes når der klikkes, eller du kan trække filer over på en og åbne dem med det program."
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr "Det er her du kan tilføje/fjerne knapper fra den lille værktøjsbjælke i toppen af hver mappevisning"
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr "Konfigurerer hvorvidt og hvor længe værktøjstip er vist. Dette er kun delvist effektivt: Det virker i øjeblikket ikke for værktøjsfif i værktøjsbjælken."
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr "Vælg hvilket terminalprogram der skal startes op med Ctrl-T"
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr "Enten en af de følgende"
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr "Eller indtast dit eget valg"
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr "Indtast den præcise kommando som vil starte en terminal.\nVælg en som findes på dit system ;)"
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr "Hvilket terminalprogram bør starte andre programmer op?"
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr "Indtast den præcise kommando som vil starte et andet program op i terminalen.\nVælg en terminal som findes på dit system ;)"
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr "Hvilket terminalprogram bør starte et brugerdefineret værktøj op?"
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr "Indtast den præcise kommando som vil starte et andet program op i terminalen. Terminalen holdes åben, når programmet afsluttes.\nVælg en terminal som findes på dit system ;)"
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr "Konfigurer prompten og skrifttypen for terminalemulatoren"
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr "Prompt. Se værktøjsfif for detaljer"
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr "Dette er prompten for den indbyggede terminal, som tilgås med Ctrl-M eller Ctrl-F6. Du kan bruge normale tegn, men der er også de følgende tilvalg:\n%H = værtsnavn %h = værtsnavn op til punktummet\n%u = brugernavn\n%w = cwd %W = kun sidste segment af cwd\n%$ giver enten $, eller # hvis root"
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr "Ændr"
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr "Brug standard"
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr "Aktuelt kendte og mulige nfs-servere"
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr "Dette er ip-adresser på servere, som er kendte eller har været på dit netværk"
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr "Slet den fremhævede server"
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr "Indtast en anden serveradresse"
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr "Skriv adressen på en anden server her (f.eks. 192.168.0.2), og klik så »Tilføj«"
#: configuredialogs.xrc:2698
msgid "Add"
msgstr "Tilføj"
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr "Filsti for showmount"
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr "Sti til sambamappe"
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr "Hvor er filer som smbclient og findsmb gemt? Sikkert i /usr/bin/ (eller der er lavet symbolsk henvisning derfra)"
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr "4Pane giver dig mulighed for fortryd (og gendan) for de fleste handlinger."
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr "Hvad er det maksimale antal fortrydelser?"
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr "(NB: Se værktøjsfiffet)"
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr "Uanset om du indsætter/flytter/omdøber/sletter/med mere på dine filer, så gemmes oplysningerne så du senere kan fortryde og også gendanne igen hvis du ønsker det. Dette er det maksimale antal af den slags fortrydelser\nBemærk at hvis du sletter indholdet af en mappe med 100 filer, så tæller det som 100 gange! Så jeg foreslår, at dette antal skal være rimeligt stort: Mindst 10.000"
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr "Antallet af punkter ad gangen på et rullegardin."
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr "(Se værktøjsfif)"
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr "Denne refererer til rullegardinerne for fortryd og gendan, og mappevisningens værktøjsbjælkeknapper til navigering til den seneste viste mapper.\nHvad er det maksimale antal punkter, der skal vises per menuside? Jeg foreslår 15. Du kan gå til forrige punkter en side ad gangen."
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr "Nogle beskeder vises kort, og forsvinder så."
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr "I hvor mange sekunder skal de vare?"
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr "Der er nogle dialoger, som giver besked om veludført gennemførelse eller »Oops, det virkede ikke«, og som automatisk lukker sig selv efter nogle få sekunder. Dette tal er antallet af sekunder, som en besked om fuldførelse skal vare."
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr "Der er nogle dialoger, som giver besked om veludført gennemførelse eller »Oops, det virkede ikke«, og som automatisk lukker sig selv efter nogle få sekunder. Dette tal er antallet af sekunder, som en besked om fejl skal vare. Varigheden skal være længere end ved gennemførelse for at give mulighed for at læse beskeden."
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr "Beskeder i statusbjælken"
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr "Nogle procedurer for eksempel montering af en partition, giver en besked om fuldførelse i statusbjælken. Dette tal afgør hvor lang tid en sådan besked bevares"
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr " kdesu"
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr " gksu"
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr " gnomesu"
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr "Indtast dit eget valg af program, inklusiv nødvendige tilvalg. Det er bedst, hvis programmet er tilgængeligt på dit system..."
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr "Klik for at konfigurere opførelsen for træk og slip"
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr "Klik for at konfigurere statusbjælkens afsnit"
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr "Kommando der skal køres:"
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr "Klik for at finde programmet der skal køres"
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr "Kør i en terminal"
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr "Hold terminal åben"
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr "Opdater panel efter"
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr "Opdater også modsat panel"
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr "Etiket der skal vises i menuen:"
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr "Tilføj den til denne menu:"
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr "Dette er menuerne som aktuelt er tilgængelige. Vælg en, eller tilføj en ny en."
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr "Tilføj en ny menu eller undermenu til listen"
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr "Slet den aktuelt valgte menu eller undermenu"
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr "Klik for at tilføje det nye værktøj"
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr "Vælg en kommando, klik så »Rediger denne kommando«"
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr "Etiket i menu"
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr "Vælg etiketten på kommandoen du ønsker at redigere. Du kan også redigere denne, hvis du ønsker det."
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr "Kommando"
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr "Kommandoen der skal redigeres"
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr "Vælg et punkt, klik så »Slet denne kommando«"
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr "Vælg etiketten på kommandoen du ønsker at slette"
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr "Kommandoen der skal slettes"
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr "Dobbeltklik på et punkt for at ændre det"
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr "Vælg farver"
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr "Farverne vist nedenfor vil blive brugt alternativt i et filvisningspanel"
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr "Vælg panelfremhævelse"
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr "Et panel kan valgfrit blive fremhævet når det er i fokus. Her kan du ændre graden af fremhævelse."
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr "For en mappevisning er fremhævelsen en tynd linje over værktøjsbjælken."
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr "For en filvisning er farveændringen på hovedet, som er meget tykkere."
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr "Så jeg foreslår, at du gør filvisningens »forskydning« mindre, da forskellen er mere tydelig"
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr " Fokus på mappevisning"
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr "Basislinje"
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr "Fokus på filvisning"
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr "Indtast en genvej"
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr "Tryk på tasterne du ønsker at bruge til denne funktion:"
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr "Aktuel"
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr "Ryd"
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr "Klik her hvis du ikke ønsker en genvej til denne handling"
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr "Ctrl+Skift+Alt+M"
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr "Et klik her vil gå til standardacceleratoren set ovenfor"
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr "Ændr etiket"
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr "Dupliker accelerator"
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr "Denne kombination af taster er allerede i brug af:"
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr "Hvad ønsker du at gøre?"
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr "Vælg andre taster"
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr "Snup den anden genvejs taster"
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr "Give op"
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr "Returner til dialogen for at foretage et andet valg af taster"
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr "Brug din markering alligevel. Du får en mulighed for at lave et nyt valg for den genvej, som i øjeblikket bruger tasterne."
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr "Genvejen vil gå tilbage til sin forrige indstilling, hvis nogen"
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr "Hvordan registreres eksterne enheder?"
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr "Indtil 2.4-kernen blev usb-drev og lignende ikke registreret overhovedet. 2.4-kerner introducerede usb-lagermetoden. De nyeste distributioner med 2.6-kerner bruger normal udev/hal-sysemet. Ind imellem bruget nogle få distributioner (det vil sige SuSE 9.2) noget underligt noget der involverede /etc/mtab"
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr "Den oprindelige, usb-lager, metode"
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr "Ved at kigge i mtab"
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr "Den nye, udev/hal, metode"
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr "Floppydrev monteres automatisk"
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr "Dvd-rom-drev med mere monteres automatisk"
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr "Eksterne enheder monteres automatisk"
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr "Hvilken fil (hvis nogen) indeholder data om en nylig indsat enhed?"
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr "Floppydrev"
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr "Dette gælder for det meste for distributioner, som ikke har automatisk montering, nogle af dem indsætter enhedsinformation direkte i /etc/mtab eller /etc/fstab."
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr "mtab"
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr "fstab"
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr "ingen"
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr "Supermonteringer"
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr "Cd-rom'er med mere"
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr "USB-enheder"
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr "Tjek hvor ofte for nyligt indsatte usb-enheder?"
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr "4pane tjekker for hvorvidt eksterne enheder er blevet fjernet, eller nye tilføjet. Hvor ofte bør dette ske?"
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr "sekunder"
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr "Hvordan skal flerkorts usb-læsere vises?"
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr "Flerkortslæsere registreres normalt som en adskilt enhed for hver plads.\nSom standard vises kun pladser med et kort indsat.\nHvis du afkrydser her, vil hver tom plads også få en knap, så en 13-plads enhed vil altid have 13 knapper!"
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr " Tilføj knapper selv for tomme pladser"
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr "Hvad skal gøres hvis 4Pane har monteret en usb-enhed?"
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr "Ønsker du at afmontere før afslutning? Dette gælder kun for eksterne enheder, og kun hvis din distribution ikke automatisk monterer"
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr " Spørg før afmontering af den ved afslutning"
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr "Hvilken fil indeholder partitionsdata?"
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr "Listen over kendte partitioner. Standard: /proc/partitions"
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr "Hvilken mappe indeholder enhedsdata?"
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr "Indeholder »filer« som hda1, sda1. Aktuelt /dev/"
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr "Hvilke filer indeholder floppyinfo"
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr "Floppyinfo kan normalt findes i /sys/block/fd0, /sys/block/fd1 et cetera.\nPlacer ikke 0, 1 bit her, kun /sys/block/fd eller noget"
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr "Hvilken fil indeholder cd/dvd-rom info"
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr "Information om faste enheder som cd-rom'er kan normalt findes i /proc/sys/dev/cdrom/info. Udskift informationen hvis den har ændret sig"
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr "Genindlæs standarder"
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr "2.4 kerner: usb-storage"
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr "2.4 kerner registrerer eksterne enheder og tilføjer en mappe kaldt /proc/scsi/usb-storage-0, storage-1 et cetera.\nIndsæt delen /proc/scsi/usb-storage- her"
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr "2.4 kerner: Ekstern enhedsliste"
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr "2.3 kerner har en liste for tilføjede/tidligere tilføjede eksterne enheder.\nSikkert /proc/scsi/scsi"
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr "Hvilken enhedsknude er angivet for eksterne enheder som usb-drev? Sikkert /dev/sda, sdb1 et cetera\nIndsæt /dev/sd bit her"
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr "2.6 kerner: Ekstern enhedsinfomappe"
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr "I 2.6 kerner kan nogen eksternenhedsinfo findes her\nSikkert /sys/bus/scsi/devices"
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr "Hvad er LVM-præfikset?"
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr "Efter hvilket navn er Logical Volume Management »partitioner« kaldt for\neksempel dm-0. Indsæt kun delen dm-"
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr "Yderligere LVM-sager. Se værktøjsfiffet"
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr "Hvor er filerne proc »block«? Disse er krævet for at hjælpe til med at\nhåndtere LVM-ting. Sikkert /dev/.udevdb/block@foo. Indtast bare bit'en\n'/dev/.udevdb/block@'"
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr "Faste drev bør være fundet automatisk, men hvis en\nmangler, eller du ønsker at ændre nogle data, så kan\ndu gøre det her."
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr "Falsk, brug denne til test af denne version af filen"
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr "Konfigurer knapper for mappevisningsværktøjsbjælken"
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr "Dette er knapperne på højre side af den lille værktøjsbjælke i hver mappevisning.\nDe fungerer som bogmærker: Klik på en »går« til dens modtagelsesfilsti"
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr "Aktuelle knapper"
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr "Konfigurer for eksempel en redigering"
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr "Navn"
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr "Dette er kun en etiket, så du vil være i stand til at genkende den. for eksempel kwrite"
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr "Ikon der skal bruges"
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr "Opstartskommando"
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr "Dette er strengen, som starter programmet. For eksempel kwrite eller /opt/gnome/bin/gedit"
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr "Arbejdsmappe (valgfri)"
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr "Du kan valgfrit tilbyde en arbejdsmappe. Hvis du gør det, vil kommandoen blive kørt fra denne mappe. De fleste kommandoer har ikke brug for dette; specielt vil det ikke være nødvendigt for kommandoer, som kan startes uden en sti for eksempel kwrite"
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr "For eksempel, hvis indsat med flere filer, kan GEdit åbne dem i faneblade."
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr "Accepter flere inddata"
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr "Vælg ikon"
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr "Aktuel\nmarkering"
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr "Klik på et ikon for at vælge det\neller gennemse for at søge efter andre"
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr "Nyt ikon"
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr "Tilføj dette ikon?"
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr "Kofigurer redigeringsprogrammet med mere"
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr "Disse programmer kan startes ved at klikke på en knap\npå værktøjsbjælken eller ved at trække en fil hen på\nknappen. Et indlysende eksempel vil være et\ntekstbehandlingsprogram som kwrite, men det kan være\nethvert program, du måtte ønske."
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr "Konfigurer en lille værktøjsbjælkeikon"
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr "Filsti"
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr "Indtast filstien som du ønsker at gå til, når der klikkes på knappen"
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr "Klik for at finde den nye filsti"
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr "(Klik for at ændre)"
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr "Konfigurer træk og slip"
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr "Vælg hvilke taster der skal gøre det følgende:"
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr "Ændr disse værdier for at ændre følsomheden ved træk og slip"
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr "Vandret"
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr "Hvor langt mod venstre og højre skal musen bevæge sig før træk og slip udløses? Standardværdi 10"
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr "Lodret"
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr "Hvor langt op og ned skal musen bevæge sig før træk og slip udløses? Standardværdi 15"
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr "Hvor mange linjer skal rulles per klik på musehjulet"
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr "Hvis det ikke kan udledes af din systemopsætning, dette bestemmer kun hvor sensitiv musehjulet er, under træk og slip"
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr "Konfigurer statusbjælken"
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr "Statusbjælken har fire afsnit. Her kan du justere deres størrelsesforhold"
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr "(Ændringer træder ikke i kraft før du genstarter 4Pane)"
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr "Hjælp til menupunkt"
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr "(Standard 5)"
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr "Kontekstafhængige hjælpebeskeder når du bevæger dig over et menupunkt"
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr "Beskeder ved gennemførelse"
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr "(Standard 3)"
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr "Beskeder som »slettede 15 filer«. Disse beskeder vises efter et indstillet antal sekunder."
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr "Filstier"
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr "(Standard 8)"
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr "Information om den aktuelt valgte fil eller mappe: normalt dens type, navn og størrelse"
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr "Filtre"
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr "Hvad viser panelet i fokus: D=mapper F=filer H=skjulte filer R=rekursiv undermappestørrelse.\nAlle filtre vises også. Det vil sige f*.txt for tekstfiler begyndende med »f«"
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr "Eksporter data"
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr "Det er her, hvis du måtte ønske det, at du kan eksportere dele af dine konfigurationsdata til en fil med navnet 4Pane.conf."
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr "Hvis du er fristet, tryk F1 for flere detaljer."
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr "Fravælg alle typer af data du ikke ønsker at eksportere"
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr "Værktøjer f.eks. »df -h« som tilbydes som standard. Se manualen for yderligere detaljer"
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr " Brugerdefinerede værktøjsdata"
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr "Hvike tekstprogrammer for eksempel gedit, kwrite skal som standard have en ikon tilføjet til værktøjsbjælken"
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr " Tekstbehandleres data"
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr " Enhedsmonterede data"
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr " Terminalrelaterede data"
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "&Lokaliser"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr "Kan ikke læse"
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr "Spring kun den her fil over"
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr "Spring alle andre filer over hvor jeg ikke har læserettigheder"
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr "Tsk Tsk!"
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr "Du ser ud til at forsøge at flette"
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr "Lad som om"
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr "for en af dens efterkommere"
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr "Dette er bestemt ulovligt og sikkert også umoralsk"
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr "Klik for at undskylde"
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr "Hvad ønsker du, at det nye navn skal være?"
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr "Indtast det nye navn"
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr "Overskriv eller omdøb"
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr "Overskriv alle filer når der er et navnesammenfald"
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr "Gå straks til omdøbningsdialogen når der er et navnesammenfald"
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr "Spring dette punkt over"
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr "Spring alle filer over hvor der er navnesammenfald"
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr "Omdøb eller afbryd"
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr "Der er allerede en mappe med det navn her."
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr "Omdøb eller spring over"
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr "Der er allerede en mappe med det navn her"
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr "Gå straks til omdøbningsdialogen for alle navne der har en konflikt"
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr "Spring alle punker over hvor der er et navnesammenfald"
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr "Forespørg duplikat i arkiv"
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr "Der er allerede en fil med dette navn i arkivet"
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr "Indeni et arkiv har du lov til at have to identiske punkter med det samme navn. Hvis det er det, du vil (og du har sikkert en god grund til det :/ ) så klik på denne knap"
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr "Dupliker ved a omdøbe i arkivet"
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr "Beklager, du kan ikke foretage en direkte duplikering inden i et arkiv"
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr "Vil du dupliere ved at omdøbe i steden for?"
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr "Lav en kopi af hvert punkt eller punkter, med brug af et andet navn"
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr "Tilføj til arkiv"
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr "Der er allerede et punkt her med det navn"
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr "Slet den oprindelig fil fra arkivet, og ersat den med den indgående fil."
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr "Det er tilladt inden i et arkiv at have flere filer med det samme navn. Klik på denne knap, hvis det er det, du ønsker (du har sikkert en god grund :/ )"
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr "Overskriv eller tilføj til arkiv"
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr "Inden i et arkiv har du ikke lov til at have to filer med det samme navn. Klik på denne knap, hvis det er det, du ønsker (du har sikkert en god grund :/ )"
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr "Inden i et arkiv har du ikke lov til at have to filer med det samme navn. Klik på denne knap, hvis det er det, du ønsker (du har sikkert en god grund :/ )"
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr "Erstat den aktuelle mappe med den indgående"
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr "Erstat den aktuelle mappe med den indgående, og gør dette for alle andre sammenfald"
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr "Inden i et arkiv har du lov til at have to mapper med det samme navn. Klik på denne knap, hvis det er det, du ønsker (du har sikkert en god grund :/ )"
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr "Inden i et arkiv har du ikke lov til at have to mapper med det samme navn. Klik på denne knap, hvis det er det, du ønsker (du har sikkert en god grund :/ )"
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr "Afbryd for alle punkter"
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr "Du forsøger at overskrive denne fil med sig selv"
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr "Betyder det:"
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr "eller:"
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr "Lav en henvisning"
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr "Dette er, hvad du forsøger at henvise til"
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr "Lav henvisningen i den følgende mappe:"
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr "Hvad vil du gerne kalde henvisningen?"
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr "Behold det samme navn"
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr "Brug de følgende filendelser"
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr "Brug det følgende navn"
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr "Indtast filendelsen som du gerne vil tilføje til det oprindelige filnavn"
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr "Indtast navnet du ønsker at give denne henvisning"
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr "Afkryds denne boks hvis du ønsker at lave relative symbolske henvisninger for eksempel til ../../foo i steden for /path/to/foo"
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr "Lav relativ"
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr "Afkryds denne boks hvis du ønsker, at disse valg automatisk skal anvendes på resten af de valgte punkter"
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr "Anvend på alle"
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr "Hvis du har ændret din mening om hvilken type henvisning du ønsker, så vælg igen her."
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr "Jeg ønsker at lave en hård henvisning"
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr "Jeg ønsker at lave en blød henvisning"
#: dialogs.xrc:2173
msgid "Skip"
msgstr "Spring over"
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr "Vælg et navn for det nye punkt"
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr "Ønsker du en ny fil eller en ny mappe?"
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr "Lav en ny fil"
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr "Lav en ny mappe"
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr "Vælg et navn for den nye mappe"
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr "Tilføj et bogmærke"
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr "Dette er bogmærket som vil blive oprettet"
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr "Hvilken etiket ønsker du at give dette bogmærke?"
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr "Tilføj den til den følgende mappe:"
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr "Klik hvis du ønsker at gemme dette bogmærke i en anden mappe, eller for at oprette en ny mappe"
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr "Rediger et bogmærke"
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr "Udfør alle krævede ændringer nedenfor"
#: dialogs.xrc:2595
msgid "Current Path"
msgstr "Aktuel sti"
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr "Dette er den aktuelle sti"
#: dialogs.xrc:2620
msgid "Current Label"
msgstr "Aktuel etiket"
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr "Dette er den aktuelle etiket"
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr "Håndter bogmærker"
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr "Opret en ny mappe"
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr "Indsæt et nyt adskillelsestegn"
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr "Rediger det markerede punkt"
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr "Slet det markerede punkt"
#: dialogs.xrc:2860
msgid "Open with:"
msgstr "Ã…bn med:"
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr "Indtast stien og navnet på programmet der skal bruges, hvis du kender den. Hvis ikke, så gennemse, eller vælg fra listen nedenfor."
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr "Klik for at finde programmet der skal bruges"
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr "Rediger det valgte program"
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr "Fjern det valgte program fra mappen"
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr "Tilføj programmet til den valgte mappe nedenfor"
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr "Tilføj en mappe til træet nedenfor"
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr "Fjern den valgte mappe fra træet nedenfor"
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr "Klik på et program for at vælge det"
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr "Afkryds boksen for at åbne filen med dette program inden i en terminal"
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr "Ã…bn i terminal"
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr "Afkryds boksen hvis du i fremtiden ønsker at dette program automatisk skal kaldes for at starte denne filtype"
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr "Brug altid det valgte program til denne slags fil"
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr "Tilføj et program"
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr "Dette navn skal være unik. Hvis du ikke indtaster et, vil enden af filstien blive brugt.\nFor eksempel /usr/local/bin/foo vil blive kaldt »foo«"
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr "Hvor er programmet? For eksempel /usr/local/bin/gs\n(undertiden vil kun filnavnet virke)"
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr "Indtast navnet på programmet. Hvis navnet er i din STI, bør du kunne nøjes med at skrive navnet for eksempel kwrite. Ellers skal du bruge den fulde sti, for eksempel /usr/X11R6/bin/foo"
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr "Filendelser som programemt skal starte? For eksempel txt eller htm,html"
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr "Dette er valgfrit. Hvis du indtaster en eller flere filendelser, vil dette program blive tilbudt, når du højreklikker på filer med disse filendelser. Du skal også indtaste en, hvis du ønsker, at dette program skal være standard for opstart af præcis denne slags filer. Så hvis du ønsker at alle filer med filendelsen »txt«, ved dobbeltklik, skal startes med dette program, så skriv txt her.\nDu kan indtaste mere end en filendelse, adskilt af komma. For eksempel htm,html"
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr "Tilføj en ny gruppe for at kategorisere programmer"
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr "Til hvilke filendelser ønsker du, at programmet skal være standard."
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr "Dette er filendelserne, du kan vælge blandt"
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr "Du kan enten bruge de to første knapper, eller vælge med brug af musen (& Ctrl-tast for ikketilstødende valg)"
#: dialogs.xrc:3581
msgid "All of them"
msgstr "Dem alle"
#: dialogs.xrc:3582
msgid "Just the First"
msgstr "Kun den første"
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr "Vælg med musen (+skift-tast)"
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr "Gem skabelon"
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr "Der er allerede indlæst en skabelon."
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr "Ønsker du at overskrive denne, eller gemme som en ny skabelon?"
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr "Indtast filterstrengen"
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr "Indtasten streng som skal bruges som et filter, eller brug historikken. Flere filtre kan adskilles af enten | eller et komma. For eksempel Pre*.txt eller *.jpg | *.png eller *htm,*html"
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr "Vis kun filer, ikke mapper"
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr "Vis kun filer"
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr "Nulstil filteret, så at alle filer vises det vil sige *"
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr "Brug det valgte filter på alle paneler i dette faneblad"
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr "Anvend for alle synlige paneler"
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr "Omdøbning af flere"
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr "Du kan enten ændre foo.bar til, for eksempel, foo1.bar eller new.foo.bar"
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr "eller udføre noget mere komplekst med et regulært udtryk"
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr " Brug et regulært udtryk"
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr "Erstat"
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr "Indtast teksten eller det regulære udtryk som du ønsker erstattet"
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr "Indtast i teksten det du ønsker at erstatte"
#: dialogs.xrc:4076
msgid "With"
msgstr "Med"
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr "Erstat alle resultater i et navn"
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr " resultater i navn"
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr "Hvordan (ellers) at oprette nye navne:"
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr "Hvis du har brugt et regulært udtryk ovenfor, er dette måske ikke nødvendigt. Men hvis du ikke gjorde, eller nogle sammenfald er tilbage, så er det sådan her du kommer videre."
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr "Ændre med dele af navnet?"
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr "Foranstil tekst (valgfri)"
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr "Indtast en foranstillet tekst"
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr "Tilføj tekst (valgfri)"
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr "Indtast en test der skal tilføjes"
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr "Forøgelse starter med:"
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr "Hvis der stadig er et navnesammenfald, på trods af alt du har gjort ovenfor, tilføjer dette et tal eller et bogstav til oprettelse af et nyt navn. Så joe.txt vil blive til joe0.txt (eller joe.txt0 hvis du har valgt at ændre filendelsen."
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr "Hvis denne boks er afkrydset vil en forøgelse kun ske, hvis den er krævet for at undgå et navnesammenfald. Hvis den ikke er, vil det ske alligevel."
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr " Kun hvis krævet"
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr "Tilføj med et"
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr "Afgør hvorvidt »joe« ændres til »joe0« eller »joeA«"
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr "Versalfølsom"
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr "Ønsker du at »joe« skal blive til »joeA« eller »joea«"
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr "Bekræft omdøbning"
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr "Er du sikker på, at du ønsker at lave disse ændringer?"
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr "Find filer"
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr "Indtast søgestrengen. For eksempel *foo[ab]r"
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr "Dette er mønsteret, der skal søges efter. Hvis du indtaster »foo«, vil både sti/foo og sti/foobar/reststi blive fundet. Alternativt kan du bruge jokertegnene *, ? og [ ]. Hvis du gør det, vil søgningen kun returnere præcise resultater, for eksempel kan du indtaste *foo[ba]r* for at finde sti/foobar/reststi"
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr " -b Basenavn"
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr "Hvis afkrydset, vil mønsteret »foo« give resultat for både foo og Foo (og FoO og...)"
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr " -i Ignorer store/små bogstaver"
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr "Locate søger i en database, som normalt opdateres en gang om dagen. Hvis denne boks er afkrydset, bliver hvert resultat tjekket for at være sikre på, at det stadig findes, og ikke er blevet slettet siden sidste opdatering. Hvis der er mange resultater, kan det tage lang tid at udføre."
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr " -e Afslutter"
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr "Hvis afkrydes opfattes mønsteret som et regulært udtryk, ikke bare den normale glob"
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr " - r Regex"
#: moredialogs.xrc:158
msgid "Find"
msgstr "Find"
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr "Sti"
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr "Indtast stien hvorfra søgning skal begynde (eller brug en af genvejene)"
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr "Indtast stien hvorfra der skal søges"
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr "Søg i den aktuelle mappe og nedenfor"
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr "Aktuel mappe"
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr "Søg i din hjemmemappe og nedenfor"
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr "Søg i hele mappetræet"
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr "Root ( / )"
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr "Tilføj til kommandostrengen. Enlige anførelsestegn vil blive brugt til at beskytte metategn."
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr "Tilvalg"
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr "Disse tilvalg bruges for hele kommandoen. Vælg en du måtte ønske."
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr "MÃ¥ler tider 8for -amin, -atime, -cmin, -ctime, -mmin og -mtime) fra starten af i dag fremfor fra 24 timer siden"
#: moredialogs.xrc:415
msgid "-daystart"
msgstr "-daystart"
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr "Behandl hver mappes indhold før mappen selv. Med andre ord, søg fra bunden af."
#: moredialogs.xrc:426
msgid "-depth"
msgstr "-depth"
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr "Dereferer symbolske henvisninger (det vil sige se på det der henvises til, ikke henvisningen i sig selv). Kræver -noleaf."
#: moredialogs.xrc:437
msgid "-follow"
msgstr "-follow"
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr "Gå ned i det antal valgte niveauer af mapper under startstien. »-maxdepth 0« betyder at kun test og handlinger bruges på kommandolinjeparametrene."
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr "-maxdepth"
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr "Start ikke søgning før nede i den valgte dybde for hver mappegren. »-mindepth 1« betyder at alle filer skal behandles undtagen kommandolinjeparametrene."
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr "-mindepth"
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr "Optimer ikke ved at antage at mapper indeholder 2 færre undermapper end deres hårde henvisnings antal"
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr "-noleaf"
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr "Gå ikke ned i mapper på andre filsystemer. -mount er et synonym"
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr "-xdev (-mount)"
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr "HJJJÆLP!!"
#: moredialogs.xrc:542
msgid "-help"
msgstr "-help"
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr "Tilføj disse valg til kommandostrengen"
#: moredialogs.xrc:580
msgid "Operators"
msgstr "Operatører"
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr "Er her for fuldstændighedens skyld, men det er normalt nemmere at skrive dem direkte i kommandostrengen."
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr "Vælg en ad gangen."
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr "Logisk AND de to omkringliggende udtryk. Da det er standard, er den eneste grund til at bruge den for at fremhæve."
#: moredialogs.xrc:645
msgid "-and"
msgstr "-and"
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr "Logisk OR de omkringliggende udtryk"
#: moredialogs.xrc:656
msgid "-or"
msgstr "-or"
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr "Udelad det følgende udtryk"
#: moredialogs.xrc:667
msgid "-not"
msgstr "-not"
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr "Brugt (med luk parentes) til at ændre forrang. Det vil sige at sikre at to udtryk af typen -path køres før en -prune. Den »undviges« automatik med en baglæns skråstreg."
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr "Ã…bn parentes"
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr "På samme måde som åbn parentes, »undviges« denne automatisk med en baglæns skråstreg."
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr "Luk parentes"
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr "Adskiller listepunkter med et komma. Hvis du ikke kan se brugen for dig, så er du i godt selskab."
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr "Vis ( , )"
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr "Indtast navnet der skal findes. For eksempel *.txt eller /urs/s*"
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr "Ignorer store/små bogstaver"
#: moredialogs.xrc:852
msgid "This is a"
msgstr "Dette er et/en"
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr "Regulært udtryk"
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr "Symbolsk henvisning"
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr "Returner resultater"
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr "Returner alle resultater (standard)"
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr "Ignorer resultater"
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr "Normalt ØNSKER du at se resultaterne, men nogle gange vil du ignorere for eksempel en specifik mappe. Hvis det er ønsket, så indtast mappens sti og vælg sti og ignorer."
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr "For at filtrere efter tid, vælg en af de følgende:"
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr "Filer der blev"
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr "Tilgået"
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr "Ændret"
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr "Status ændret"
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr "Mere end"
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr "Præcis"
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr "Mindre end"
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr "Indtast antallet af minutter eller dage"
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr "Minutter siden"
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr "Dage siden"
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr "tidligere end filen:"
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr "Indtast stinavnet på filen der skal sammenlignes med"
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr "Filer som sidst blev tilgået"
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr "Indtast antallet af dage"
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr "dage siden ændringer"
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr "Tilføj til kommandostrengen."
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr "Størrelse og type"
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr "Vælg op til en (ad gangen) blandt de følgende:"
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr "Filer med størrelsen"
#: moredialogs.xrc:1435
msgid "bytes"
msgstr "byte"
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr "Blok på 512-byte"
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr "kilobyte"
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr "Tomme filer"
#: moredialogs.xrc:1511
msgid "Type"
msgstr "Type"
#: moredialogs.xrc:1531
msgid "File"
msgstr "Fil"
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr "Symbolsk henvisning"
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr "Datakanal"
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr "Blk speciel"
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr "Tegn speciel"
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr "Tilføj til kommandostrengen"
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr "Ejer og rettigheder"
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr "Bruger"
#: moredialogs.xrc:1662
msgid "By Name"
msgstr "Efter navn"
#: moredialogs.xrc:1675
msgid "By ID"
msgstr "Efter id"
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr "Indtast ejernavn som skal findes. Det vil sige root"
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr "Indtast id'et der skal sammenlignes med"
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr "Ingen gruppe"
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr "Andre"
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr "Læs"
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr "Skriv"
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr "Kør"
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr "Speciel"
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr "suid"
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr "sgid"
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr "klæbende"
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr "eller indtast oktal"
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr "Indtast den oktale streng der skal findes. Det vil sige 0664"
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr "Find alle"
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr "Kun præcis søgning"
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr "Find hver angivet"
#: moredialogs.xrc:2151
msgid "Actions"
msgstr "Handlinger"
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr "Hvad skal der ske med resultaterne. Standarden er at udskrive dem."
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr "Skriv resultaterne til standarduddata, hvert fulgt af en ny linje"
#: moredialogs.xrc:2200
msgid " print"
msgstr " udskriv"
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr "Det samme som »Udskriv«, men tilføjer en terminl »\\0« til hver string i steden for en ny linje"
#: moredialogs.xrc:2227
msgid " print0"
msgstr " udskriv0"
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr "Viser resultaterne i formatet »ls -dils« på standarduddata"
#: moredialogs.xrc:2254
msgid " ls"
msgstr " ls"
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr "Kør den følgende kommando for hvert resultat"
#: moredialogs.xrc:2292
msgid "exec"
msgstr "kør"
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr "Kør den følgende kommando, spørg først for hvert resultat"
#: moredialogs.xrc:2303
msgid "ok"
msgstr "o.k."
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr "Kommando der skal køres"
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr "Det her er den kommando der skal køres. {} ; vil automatisk blive tilføjet"
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr "Udsend hver streng som i udskriv, men med brug af det følgende format: Se »man find (1)« for de byzantinske detaljer."
#: moredialogs.xrc:2360
msgid "printf"
msgstr "printf"
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr "Formatstreng"
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr "fls"
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr "Udsend hver streng som udskrift, men til den følgende fil"
#: moredialogs.xrc:2423
msgid "fprint"
msgstr "fprint"
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr "Svarer til fprint, men null-afsluttet"
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr "fprint0"
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr "Destinationsfilen"
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr "Filstien til destinationsfilen. Den vil blive oprettet/afkortet som behørigt."
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr "Opfører sig som printf, men til den følgende fil"
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr "fprintf"
#: moredialogs.xrc:2586
msgid "Command:"
msgstr "Kommando:"
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr "Det er her, at kommandoen Find vil blive bygget. Brug enten dialogsiderne eller indtast ting direkte"
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr "Grep"
#: moredialogs.xrc:2685
msgid "General Options"
msgstr "Generelle indstillinger"
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr "Dette er Fuld Grep-notebogen.\nDer er også en Hurtig Grep-dialog\nsom vil kunne bruges for de fleste søgninger"
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr "Klik her for at gå til Hurtig Grep-dialogen"
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr "Afkryds tjekboksen for at gøre Hurtig Grep til standarden fremadrettet"
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr "Gør Hurtig Grep til standarden"
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr "Syntaks: grep [tilvalg] [MønsterAtFinde] [Filer at søge]"
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr "Vælg de tilvalg du ønsker fra de første 4 faneblade. I de sidste 2 indtastes søgemønsteret\nog stien eller filerne, der skal søges efter. Alternativt kan du skrive direkte i kommandoboksen."
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr "Vælg de tilvalg du har brug for"
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr "-w find kun hele ord"
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr "Ignorer store/små bogstaver, både i mønstre og i filnavne"
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr "-i Ignorer store/små bogstaver"
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr "-x returner kun hele linjeresultater"
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr "-v returner kun linjer som IKKE giver resultat"
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr "Mappeindstillinger"
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr "Indstillinger på mapper"
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr " Gør hvad med mapper?"
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr "Forsøg at ramme navnene (standarden)"
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr " -r Rekursiv ind i dem"
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr "Ignorer dem"
#: moredialogs.xrc:2990
msgid "File Options"
msgstr "Filindstillinger"
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr "Indstillinger for filer"
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr "Indtast det maksimale antal resultater"
#: moredialogs.xrc:3071
msgid "matches found"
msgstr "resultater"
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr " Gør hvad med binære filer?"
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr "Rapporter dem som indeholder et resultat (standarden)"
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr "Opfat dem som tekstfiler"
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr "Søg igennem den binære fil, vis alle linjer som resulterer i mønsteret. Dette resulterer normalt i affald"
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr " -D skip Ignorer enheder, sokler, FIFO'er"
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr "Uddataindstillinger"
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr "Indstillinger i forhold til uddata"
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr "-c udskriv kun antal resultater"
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr "Udskriver kun navnene på filerne som indeholder resultater, ikke selve resultaterne"
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr "-H udskriv filnavnet for hvert resultat"
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr "-n præfiks et resultat med dets linjenummer"
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr "-s udskriv ikke fejlbeskeder"
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr "-B Vis"
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr "Indtast antallet af kontekstlinjer du ønsker at se"
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr "linjer med indledende kontekst"
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr "-0 udskirv kun resultatafsnittet af linjen"
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr "Udskriv kun navnene på de filer som indeholder INGEN resultater"
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr "-L Udskriv kun filnavne uden resultat"
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr "-h Udskriv ikke filnavne hvis flere filer"
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr "Præfiks hvert resultat med dennes linjeforskydning indenfor filen, i byte"
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr "-b præfiks et resultat med dennes byteforskydning"
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr "Ingen uddata overhovedet, hverken resultater eller fejl, men afslut med statussen 0 ved første resultat"
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr "-q udskriv ingen uddata overhovedet"
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr "-A Vis"
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr "linjer med efterfølgende kontekst"
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr "-C Vis"
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr "linjere med både foranstillet og efterfølgende kontekst"
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr "Viser inddata som aktuelt kommer fra standardinddata (eller en datakanal) som inddata, der kommer fra dette filnavn. Det vil sige, hvis der vises indholdet af et arkiv"
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr " Lav visningen foregive at inddata kom fra fil:"
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr "Mønster"
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr "Hvis dit søgemønster begynder med et minustegn. For eksempel -foo vil greb forsøge at finde en ikkeeksisterende indstilling »-foo«. Tilvalget -e beskytter mod dette."
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr "-e Brug denne hvis dit mønster begynder med et minustegn"
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr "Regulært udtryk der skal findes"
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr "Indtast navnet der skal søges efter. For eksempel foobar eller f.*r"
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr "Opfat ikke mønsteret som et regulært udtryk men som en liste af faste strenge, adskilte af nye linjer, hvor alle skal findes. Det vil sige, som om fgrep blev brugt"
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr "-F Opfat mønster som om fgrep blev brugt"
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr "-P opfat mønster som et Perlregulært udtryk"
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr "Frem for at indtaste mønsteret i boksen ovenfor, udpak den fra denne fil"
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr "-f indlæs i steden for mønster fra fil:"
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr "Tilføj til kommandostrengen. Mønsteret vil blive givet enlige anførelsestegn for at beskytte metategn."
#: moredialogs.xrc:3835
msgid "Location"
msgstr "Placering"
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr "Indtast stien eller listen af filer der skal søges efter (eller brug en af genvejene)"
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr "Indtast stien hvor der skal søges fra. Hvis du bruger genvejene til højre, kan du tilføje en /*, hvis behovet er der"
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr "Dette vil være greps kommandostreng"
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr "Det er her, at greps kommandostreng vil blive bygget. Brug enten dialogsiderne, eller indtast ting direkte"
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr "Hvis afkrydset vil dialogen automatisk lukke 2 sekunder efter den sidste indtastning er lavet"
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr "Autolukning"
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr "Arkiver filer"
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr "Filer der skal gemmes i arkivet"
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr "Find en anden fil"
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr "Tilføj filen eller mappen i den ovenstående boks til listen til venstre"
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr "Navn til arkivet"
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr "Indtast kun hoveddelen af navnet, ikke filendelsen for eksempel foo, ikke foo.tar.gz"
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr "(Tilføj ikke en filendelse)"
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr "Opret i denne mappe"
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr "Led efter en egnet mappe"
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr "Opret arkivet med brug af Tar"
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr "Gem ikke i arkivet navnet på en symbolsk henvisning, gem filen som henvisningen peger på"
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr "Forsøg at verificere integriteten på arkivet når først arkivet er oprettet. Det er ikke en garanti, men bedre end ingenting. Tager dog lang tid for meget store arkiver."
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr "Verificer efterfølgende"
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr "Slet kildefilerne når de først er tilføjet til arkivet. Kun for modige brugere, med mindre filerne ikke er vigtige!"
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr "Brug zip både til at arkivere filerne og pakke dem. Den pakker dårligere end gzip eller bzip2, så brug den af kompabilitetsgrunde til dårligere operativsystemer som ikke har disse programmer."
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr "Brug zip i steden for"
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr "Tilføj filer til eksisterende arkiv"
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr "Arkiv hvortil der skal tilføjes"
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr "Sti og navn på arkivet. Hvis ikke allerede i punktlisten, skriv den ind eller gennemse."
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr "Gennemse"
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr "Fjern reference til symbolske henvisninger"
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr "Verificer arkiv efterfølgende"
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr "Slet kildefiler efterfølgende"
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr "Pak filer"
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr "Filer til pakning"
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr "Hvilket program til pakning? Bzip2 siges at pakke hårdere (i det mindste for større filer) men tage længere tid.\nHvis du af en eller anden grund ønsker at bruge zip, er denne tilgængelig fra Arkiv > Opret."
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr "Hurtigere"
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr "Gælder kun for gzip. Jo højere værdi, jo bedre pakning, men længere tidsforløb."
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr "Mindre"
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr "Normal opførelse er ikke at overskrive eksisterende pakkede filer med det samme navn. Afkryds denne boks hvis du ønsker at tilsidesætte denne opførelse."
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr "Overskriv alle eksisterende filer"
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr "Hvis afkrydset vil alle filer i alle valgte mapper (og deres undermapper) blive pakket. Eller bliver mapper ignoreret."
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr "Rekursivt pak alle filer i alle valgte mapper"
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr "Udpak komprimerede filer"
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr "Komprimerede filer til udtrækning"
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr "Hvis en markering er en mappe, udpak alle pakkede filer inden i og dens undermapper"
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr "Rekursiv til mapper"
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr "Hvis en fil har det samme navn som en udpakket fil så overskriv den automatisk"
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr "Overskriv eksisterende filer"
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr "Fjern komprimering, men udpak ikke, valgte arkiver. Hvis ej afkrydset, bliver arkiver ignoreret"
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr "Udpak også arkiver"
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr "Udpak et arkiv"
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr "Arkiv til udpakning"
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr "Mappe hvortil der skal udpakkes"
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr "Hvis der allerede findes filer med det samme navn som et af de udpakkede fra arkivet, så overskriv dem."
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr "Verificer komprimerede filer"
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr "Komprimerede filer til verificering"
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr "Verificer et arkiv"
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr "Arkiv til verificering"
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr "Ønsker du at udpakke et arkiv, eller fjerne komprimering fra filer?"
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr "Ønsker du at verificere et arkiv, eller komprimerede filer?"
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr "Egenskaber"
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr "Generelt"
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr "Navn:"
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr "Sted:"
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr "Type:"
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr "Størrelse:"
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr "Tilgået:"
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr "Admin ændret:"
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr "Ændret:"
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr "Bruger:"
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr "Gruppe:"
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr "Anvend ændring i rettigheder eller ejerskab på hver indeholdt fil og undermappe"
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr "Anvend ændringer på alle underniveauer"
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr "Esoterisk"
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr "Enheds-id:"
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr "Inode:"
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr "Antal af hårde henvisninger:"
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr "Antal 512B blokke:"
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr "Blokstørrelse:"
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr "Ejer-id:"
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr "Gruppe-id:"
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr "Henvisningsmål:"
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr "For at ændre målet, skriv enten navnet på en anden fil eller mappe, eller brug knappen Gennemse"
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr "Gennemse for at vælge et andet mål for den symbolske henvisning"
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr "Første henvisningsmål:"
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr "Ultimativt mål:"
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr "Gå til henvisningen som er det umiddelbare mål for denne"
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr "Gå til filen som er det ultimative mål for denne henvisning"
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr "Monter en fstab-partition"
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr "Partiiton der skal monteres"
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr "Dette er listen over kendte, umonterede partitioner i fstab"
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr "Monteringspunkt for partitionen"
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr "Dette er monteringspunktet, der svarer til den valgte partition, taget fra fstab"
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr "Hvis en partition ikke er i fstab, vil den ikke være vist ovenfor. Klik på denne knap for alle kendte partitioner"
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr "Monter en partition"
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr "Dette er listen over kendte, umonterede partitioner. Hvis du tror, at du kender en anden, kan du skrive den ind."
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr "Hvis der er en fstab-post for denne enhed, vil monteringspunktet automatisk være blevet indtastet. Hvis ikke, skal du selv indtaste et (eller gennemse)."
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr "Find et monteringspunkt"
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr "Monteringsindstillinger"
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr "Ingen skrivning til filsystemet vil være tilladt"
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr "Skrivebeskyttet"
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr "Alle skrivninger til filsystemet mens det er monteret vil være synkrone"
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr "Synkron skrivning"
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr "Filtilgangstider vil ikke blive opdateret når filerne tilgåes"
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr "Ingen opdatering af filtilgangstider"
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr "Filer ikke eksekverbare"
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr "Ingen specialfiler for enhed i filsystemet vil kunne tilgås"
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr "Skjul specialfiler for enhed"
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr "Setuid- og Setgidrettigheder på filer i filsystemet vil blive ignoreret"
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr "Ignorer Setuid/Setgid"
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr "Monter en dvd-ram-disk"
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr "Enhed til montering"
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr "Dette er enhedsnavnet for dvd-ram-drevet"
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr "Dette er de behørige monteringspunkter i fstab. Du kan angive dine egne, hvis du ønsker det"
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr "Monter et iso-aftryk"
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr "Aftryk til montering"
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr "Monteringspunkt for aftrykket"
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr "Allerede\nmonteret"
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr "Monter en NFS-eksport"
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr "Vælg en server"
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr "Dette er listen over NFS-servere, som aktuelt er aktive på netværket. Hvis du kender til endnu en, så brug knappen til højre for at tilføje den."
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr "Manuelt tilføje endnu en server"
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr "Eksporter til montering"
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr "Dette er eksporterne, som er tilgængelige på den ovenstående server"
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr " allerede monteret"
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr "HÃ¥rd montering"
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr "Blød montering"
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr "Tilføj en NFS-server"
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr "IP-adresse på den nye server"
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr "Indtast adressen. Den skal se nogenlunde sådan ud 192.168.0.2"
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr "Gem denne adresse til fremtidig brug"
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr "Monter en Sambadeling"
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr "Tilgængelige servere"
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr "IP-adresse"
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr "Dette er IP-adresserne på de kendte kilder til sambadelinger på netværket"
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr "Værtsnavn"
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr "Dette er værtsnavnene på de kendte kilder til sambadelinger på netværket"
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr "Deling til montering"
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr "Dette er delingerne tilgængelige på den ovenstående server"
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr "Brug dette navn og adgangskode"
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr "Forsøg at montere anonymt"
#: moredialogs.xrc:11695
msgid "Username"
msgstr "Brugernavn"
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr "Indtast dit sambabrugernavn for denne deling"
#: moredialogs.xrc:11720
msgid "Password"
msgstr "Adgangskode"
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr "Indtast den tilsvarende adgangskode (hvis der er en)"
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr "Demonter en partition"
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr "Dette er listen over monterede partitioner fra mtab"
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr "Monteringspunkt for denne partition"
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr "Dette er monteringspunkter svarende til den valgte partition"
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr "Hurtig Grep"
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr "Dette er dialogen til Hurtig Grep.\nDen viser kun de mest udbredte\ntilvalg blandt greps mange tilvalg."
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr "Klik her for at gå til Fuld Grep-dialogen"
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr "Afkryds boksen for at gøre Fuld Grep standarden fremover"
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr "Gør Fuld Grep til standarden"
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr "Indtast stien eller listen over filer til søgning\n(eller brug en af genvejene)"
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr "Match kun hele ord"
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr "-w match kun hele ord"
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr "Foretag en søgning uden versalfølsomhed"
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr "-i ignorer versalfølsomhed"
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr "Spild ikke tid på at søge i binære filer"
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr "-n præfiks resultat med linjenummer"
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr "Ignorer binære filer"
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr "Forsøg ikke at søge i enheder, fifo'er, sokler og lignende"
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr "Ignorer enheder, fifo'er med mere"
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr "Gør hvad med mapper?"
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr "Match navnene"
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr "Rekursiv ind i dem"
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/it/ 0000755 0001750 0001750 00000000000 13130460751 011241 5 0000000 0000000 4pane-5.0/locale/it/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013027 5 0000000 0000000 4pane-5.0/locale/it/LC_MESSAGES/it.po 0000644 0001750 0001750 00000773657 12352237012 013750 0000000 0000000 # 4Pane pot file
# Copyright (C) 2012 David Hart
# This file is distributed under the same license as the 4Pane package.
# David Hart , 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: 4Pane-1.0\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2013-06-30 10:31+0100\n"
"PO-Revision-Date: 2013-07-11 12:16+0100\n"
"Last-Translator: Andrea Zanellato \n"
"Language-Team: Andrea Zanellato \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Basepath: ../../../\n"
"X-Poedit-KeywordsList: _;label;title;tooltip\n"
"X-Poedit-SearchPath-0: ./rc\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#: Accelerators.cpp:205
msgid "C&ut"
msgstr "&Taglia"
#: Accelerators.cpp:205
msgid "&Copy"
msgstr "&Copia"
#: Accelerators.cpp:205
msgid "Send to &Trash-can"
msgstr "&Sposta nel Cestino"
#: Accelerators.cpp:205
msgid "De&lete"
msgstr "&Elimina"
#: Accelerators.cpp:205
msgid "Permanently Delete"
msgstr "Eli&mina permanentemente"
#: Accelerators.cpp:205
msgid "Rena&me"
msgstr "Rin&omina"
#: Accelerators.cpp:205
msgid "&Duplicate"
msgstr "&Duplica"
#: Accelerators.cpp:206
msgid "Prop&erties"
msgstr "&Proprietà "
#: Accelerators.cpp:206
#: MyFiles.cpp:341
msgid "&Open"
msgstr "&Apri"
#: Accelerators.cpp:206
msgid "Open &with..."
msgstr "Apri &con..."
#: Accelerators.cpp:206
msgid "&Paste"
msgstr "&Incolla"
#: Accelerators.cpp:206
msgid "Make a &Hard-Link"
msgstr "Crea &Hard-Link"
#: Accelerators.cpp:206
msgid "Make a &Symlink"
msgstr "Crea Sym&link"
#: Accelerators.cpp:207
msgid "&Delete Tab"
msgstr "Chiu&di Scheda"
#: Accelerators.cpp:207
msgid "&Rename Tab"
msgstr "&Rinomina Scheda"
#: Accelerators.cpp:207
msgid "Und&o"
msgstr "&Annulla"
#: Accelerators.cpp:207
msgid "&Redo"
msgstr "&Ripeti"
#: Accelerators.cpp:207
msgid "Select &All"
msgstr "Seleziona tutto"
#: Accelerators.cpp:207
msgid "&New File or Dir"
msgstr "&Nuovo File o Directory"
#: Accelerators.cpp:207
msgid "&New Tab"
msgstr "&Nuova Scheda"
#: Accelerators.cpp:207
msgid "&Insert Tab"
msgstr "&Inserisci Scheda"
#: Accelerators.cpp:208
msgid "D&uplicate this Tab"
msgstr "D&uplica questa Scheda"
#: Accelerators.cpp:208
msgid "Show even single Tab &Head"
msgstr "&Mostra anche singola intestazione scheda"
#: Accelerators.cpp:208
msgid "Give all Tab Heads equal &Width"
msgstr "Imposta stessa &larghezza a tutte le schede"
#: Accelerators.cpp:208
msgid "&Replicate in Opposite Pane"
msgstr "&Replica nel Riquadro Adiacente"
#: Accelerators.cpp:208
msgid "&Swap the Panes"
msgstr "&Scambia riquadri"
#: Accelerators.cpp:208
msgid "Split Panes &Vertically"
msgstr "Suddividi Riquadri &Verticalmente"
#: Accelerators.cpp:209
msgid "Split Panes &Horizontally"
msgstr "Suddividi Riquadri &Orizzontalmente"
#: Accelerators.cpp:209
msgid "&Unsplit Panes"
msgstr "&Unisci riquadri"
#: Accelerators.cpp:209
msgid "&Extension"
msgstr "&Estensione"
#: Accelerators.cpp:209
msgid "&Size"
msgstr "Dimen&sione"
#: Accelerators.cpp:209
msgid "&Time"
msgstr "Da&ta"
#: Accelerators.cpp:209
msgid "&Permissions"
msgstr "&Permessi"
#: Accelerators.cpp:210
msgid "&Owner"
msgstr "Pr&oprietario"
#: Accelerators.cpp:210
msgid "&Group"
msgstr "&Gruppo"
#: Accelerators.cpp:210
msgid "&Link"
msgstr "Co&llegamento"
#: Accelerators.cpp:210
msgid "Show &all columns"
msgstr "&Mostra tutte le colonne"
#: Accelerators.cpp:210
msgid "&Unshow all columns"
msgstr "&Nascondi tutte le colonne"
#: Accelerators.cpp:210
msgid "Save &Pane Settings"
msgstr "Salva Impostazioni &Riquadri"
#: Accelerators.cpp:211
msgid "Save Pane Settings on &Exit"
msgstr "Salva Impostazioni Riquadri in &Uscita"
#: Accelerators.cpp:211
msgid "&Save Layout as Template"
msgstr "&Salva disposizione come modello"
#: Accelerators.cpp:211
msgid "D&elete a Template"
msgstr "&Elimina un modello"
#: Accelerators.cpp:212
msgid "&Refresh the Display"
msgstr "Aggiorna &Visualizzazione"
#: Accelerators.cpp:212
msgid "Launch &Terminal"
msgstr "&Esegui Terminale"
#: Accelerators.cpp:212
msgid "&Filter Display"
msgstr "Imposta &Filtro"
#: Accelerators.cpp:212
msgid "Show/Hide Hidden dirs and files"
msgstr "Mostra/Nascondi dirs e files Nascosti"
#: Accelerators.cpp:212
msgid "&Add To Bookmarks"
msgstr "&Aggiungi ai Segnalibri"
#: Accelerators.cpp:212
msgid "&Manage Bookmarks"
msgstr "&Gestisci Segnalibri"
#: Accelerators.cpp:213
msgid "&Mount a Partition"
msgstr "&Monta una Partizione"
#: Accelerators.cpp:213
msgid "&Unmount a Partition"
msgstr "&Smonta una Partizione"
#: Accelerators.cpp:213
msgid "Mount an &ISO image"
msgstr "Monta una immagine &ISO"
#: Accelerators.cpp:213
msgid "Mount an &NFS export"
msgstr "Monta volume &NFS"
#: Accelerators.cpp:213
msgid "Mount a &Samba share"
msgstr "Monta una &Condivisione Samba"
#: Accelerators.cpp:213
msgid "U&nmount a Network mount"
msgstr "Smo&nta una Rete"
#: Accelerators.cpp:214
msgid "&Locate"
msgstr "&Locate"
#: Accelerators.cpp:214
msgid "&Find"
msgstr "&Trova"
#: Accelerators.cpp:214
msgid "&Grep"
msgstr "&Grep"
#: Accelerators.cpp:214
msgid "Show &Terminal Emulator"
msgstr "Mostra Emulatore &Terminale"
#: Accelerators.cpp:214
msgid "Show Command-&line"
msgstr "Mostra &Linea di Comando"
#: Accelerators.cpp:214
msgid "&GoTo selected file"
msgstr "&Vai al file selezionato"
#: Accelerators.cpp:214
msgid "Empty the &Trash-can"
msgstr "&Svuota Cestino"
#: Accelerators.cpp:214
msgid "Permanently &delete 'Deleted' files"
msgstr "&Elimina permanentemente i files cancellati"
#: Accelerators.cpp:215
msgid "E&xtract Archive or Compressed File(s)"
msgstr "&Estrai archivio o files compressi"
#: Accelerators.cpp:215
msgid "Create a &New Archive"
msgstr "Crea &Nuovo Archivio"
#: Accelerators.cpp:215
msgid "&Add to an Existing Archive"
msgstr "&Aggiungi ad un archivio esistente"
#: Accelerators.cpp:215
msgid "&Test integrity of Archive or Compressed Files"
msgstr "&Test Integrità Archivio o Files Compressi"
#: Accelerators.cpp:215
msgid "&Compress Files"
msgstr "&Comprimi Files"
#: Accelerators.cpp:216
msgid "&Show Recursive dir sizes"
msgstr "&Mostra dimensioni dir ricorsive"
#: Accelerators.cpp:216
msgid "&Retain relative Symlink Targets"
msgstr "Mantieni &Destinazioni dei Collegamenti Simbolici"
#: Accelerators.cpp:216
msgid "&Configure 4Pane"
msgstr "&Configura 4Pane"
#: Accelerators.cpp:216
msgid "E&xit"
msgstr "&Esci"
#: Accelerators.cpp:216
msgid "Context-sensitive Help"
msgstr "Guida contestuale"
#: Accelerators.cpp:216
msgid "&Help Contents"
msgstr "&Sommario"
#: Accelerators.cpp:216
msgid "&FAQ"
msgstr "FA&Q"
#: Accelerators.cpp:216
msgid "&About 4Pane"
msgstr "&Informazioni"
#: Accelerators.cpp:216
#: Accelerators.cpp:579
#: Configure.cpp:2479
#: Configure.cpp:2480
msgid "Configure Shortcuts"
msgstr "Imposta scorciatoie"
#: Accelerators.cpp:217
msgid "Go to Symlink Target"
msgstr "Apri destinazione"
#: Accelerators.cpp:217
msgid "Go to Symlink Ultimate Target"
msgstr "Apri il file di destinazione finale"
#: Accelerators.cpp:217
#: Accelerators.cpp:668
msgid "Edit"
msgstr "Modifica"
#: Accelerators.cpp:217
#: Accelerators.cpp:266
#: Accelerators.cpp:668
#: dialogs.xrc:2563
msgid "New Separator"
msgstr "Nuovo separatore"
#: Accelerators.cpp:217
#: Tools.cpp:2692
msgid "Repeat Previous Program"
msgstr "Ripeti programma precedente"
#: Accelerators.cpp:217
msgid "Navigate to opposite pane"
msgstr "Naviga nel riquadro opposto"
#: Accelerators.cpp:217
msgid "Navigate to adjacent pane"
msgstr "Naviga nel riquadro adiacente"
#: Accelerators.cpp:218
msgid "Switch to the Panes"
msgstr "Passa ai Riquadri"
#: Accelerators.cpp:218
msgid "Switch to the Terminal Emulator"
msgstr "Passa all'Emulatore Terminale"
#: Accelerators.cpp:218
msgid "Switch to the Command-line"
msgstr "Passa alla Linea di Comando"
#: Accelerators.cpp:218
msgid "Switch to the toolbar Textcontrol"
msgstr "Passa alla barra degli strumenti"
#: Accelerators.cpp:218
msgid "Switch to the previous window"
msgstr "Passa alla finestra precedente"
#: Accelerators.cpp:219
msgid "Go to Previous Tab"
msgstr "Vai a Scheda Precedente"
#: Accelerators.cpp:219
msgid "Go to Next Tab"
msgstr "Vai a Scheda Sucessiva"
#: Accelerators.cpp:219
msgid "Paste as Director&y Template"
msgstr "Incolla come Modello Director&y"
#: Accelerators.cpp:219
msgid "&First dot"
msgstr "P&rimo punto"
#: Accelerators.cpp:219
msgid "&Penultimate dot"
msgstr "Penultimo punto"
#: Accelerators.cpp:219
msgid "&Last dot"
msgstr "&Ultimo punto"
#: Accelerators.cpp:219
msgid "Mount over Ssh using ssh&fs"
msgstr "Monta usando ssh&fs"
#: Accelerators.cpp:254
msgid "Cuts the current selection"
msgstr "Taglia la selezione corrente"
#: Accelerators.cpp:254
msgid "Copies the current selection"
msgstr "Copia la selezione corrente"
#: Accelerators.cpp:254
msgid "Send to the Trashcan"
msgstr "Sposta nel cestino"
#: Accelerators.cpp:254
msgid "Kill, but may be resuscitatable"
msgstr "Elimina con possibilità di ripristino"
#: Accelerators.cpp:254
msgid "Delete with extreme prejudice"
msgstr "Elimina senza possibilità di ripristino"
#: Accelerators.cpp:255
msgid "Paste the contents of the Clipboard"
msgstr "Incolla il contenuto degli appunti"
#: Accelerators.cpp:255
msgid "Hardlink the contents of the Clipboard to here"
msgstr "Crea Hardlink dagli Appunti a qui"
#: Accelerators.cpp:255
msgid "Softlink the contents of the Clipboard to here"
msgstr "Collega simbolicamente il contenuto degli appunti qui"
#: Accelerators.cpp:256
msgid "Rename the currently-selected Tab"
msgstr "Rinomina la scheda selezionata"
#: Accelerators.cpp:256
msgid "Delete the currently-selected Tab"
msgstr "Elimina la scheda selezionata"
#: Accelerators.cpp:256
msgid "Append a new Tab"
msgstr "Aggiungi una nuova Scheda"
#: Accelerators.cpp:256
msgid "Insert a new Tab after the currently selected one"
msgstr "inserisci una nuova scheda dopo quella selezionata"
#: Accelerators.cpp:257
msgid "Hide the head of a solitary tab"
msgstr "Nascondi intestazione per una singola scheda"
#: Accelerators.cpp:257
msgid "Copy this side's path to the opposite pane"
msgstr "Copia il percorso nel riquadro adiacente"
#: Accelerators.cpp:257
msgid "Swap one side's path with the other"
msgstr "Scambia i percorsi nei riquadri"
#: Accelerators.cpp:259
msgid "Save the layout of panes within each tab"
msgstr "Salva la disposizione dei riquadri in ogni scheda"
#: Accelerators.cpp:260
msgid "Always save the layout of panes on exit"
msgstr "Salva sempre la disposizione dei riquadri in uscita"
#: Accelerators.cpp:260
msgid "Save these tabs as a reloadable template"
msgstr "Salva disposizione come modello"
#: Accelerators.cpp:261
msgid "Add the currently-selected item to your bookmarks"
msgstr "Aggiungi l'oggetto selezionato ai segnalibri"
#: Accelerators.cpp:261
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "Riordina, rinomina o elimina segnalibri"
#: Accelerators.cpp:263
msgid "Locate matching files. Much faster than Find"
msgstr "Individua corrispondenze di files. Molto più veloce di Cerca"
#: Accelerators.cpp:263
msgid "Find matching file(s)"
msgstr "Cerca corrispondenza file(s)"
#: Accelerators.cpp:263
msgid "Search Within Files"
msgstr "Cerca nei files"
#: Accelerators.cpp:263
msgid "Show/Hide the Terminal Emulator"
msgstr "Mostra/Nascondi Emulatore Terminale"
#: Accelerators.cpp:263
msgid "Show/Hide the Command-line"
msgstr "Mostra/Nascondi linea di comando"
#: Accelerators.cpp:263
msgid "Empty 4Pane's in-house trash-can"
msgstr "Svuota cestino interno a 4Pane"
#: Accelerators.cpp:263
msgid "Delete 4Pane's 'Deleted' folder"
msgstr "Elimina cartella 'Deleted' di 4Pane"
#: Accelerators.cpp:265
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr "Calcolare le dimensioni delle dir in modo ricorsivo?"
#: Accelerators.cpp:265
msgid "On moving a relative symlink, keep its target the same"
msgstr "Mantieni collegamento simbolico allo spostamento"
#: Accelerators.cpp:265
msgid "Close this program"
msgstr "Chiudi questa applicazione"
#: Accelerators.cpp:268
msgid "Paste only the directory structure from the clipboard"
msgstr "Incolla solo la struttura della directory dagli appunti"
#: Accelerators.cpp:268
msgid "An ext starts at first . in the filename"
msgstr "Una estensione inizia dal primo . nel nome del file"
#: Accelerators.cpp:268
msgid "An ext starts at last or last-but-one . in the filename"
msgstr "Una estensione inizia dal penultimo . nel nome del file"
#: Accelerators.cpp:268
msgid "An ext starts at last . in the filename"
msgstr "Una estensione inizia dall'ultimo . nel nome del file"
#: Accelerators.cpp:273
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
"\n"
"Gli arrays in ImplementDefaultShortcuts() hanno una dimensione differente!"
#: Accelerators.cpp:289
msgid "Toggle Fulltree mode"
msgstr "Alterna visualizzazione ad albero"
#: Accelerators.cpp:303
#: Archive.cpp:1355
#: Archive.cpp:1378
#: Archive.cpp:1405
#: Archive.cpp:1426
#: Bookmarks.cpp:421
#: Configure.cpp:1661
#: Devices.cpp:190
#: Filetypes.cpp:979
#: MyFrame.cpp:1059
#: MyFrame.cpp:2251
#: MyFrame.cpp:2318
#: MyNotebook.cpp:139
#: MyNotebook.cpp:156
#: Tools.cpp:319
#: Tools.cpp:384
#: Tools.cpp:2021
#: Tools.cpp:2044
#: Tools.cpp:2709
msgid "Couldn't load configuration!?"
msgstr "Impossibile caricare le impostazioni!"
#: Accelerators.cpp:482
msgid "&File"
msgstr "&File"
#: Accelerators.cpp:482
msgid "&Edit"
msgstr "&Modifica"
#: Accelerators.cpp:482
msgid "&View"
msgstr "&Visualizza"
#: Accelerators.cpp:482
msgid "&Tabs"
msgstr "&Schede"
#: Accelerators.cpp:482
msgid "&Bookmarks"
msgstr "Segna&libri"
#: Accelerators.cpp:482
msgid "&Archive"
msgstr "A&rchivio"
#: Accelerators.cpp:482
msgid "&Mount"
msgstr "&Dispositivi"
#: Accelerators.cpp:482
msgid "Too&ls"
msgstr "S&trumenti"
#: Accelerators.cpp:482
msgid "&Options"
msgstr "&Opzioni"
#: Accelerators.cpp:482
msgid "&Help"
msgstr "&Aiuto"
#: Accelerators.cpp:483
msgid "&Columns to Display"
msgstr "&Colonne da visualizzare"
#: Accelerators.cpp:483
msgid "&Load a Tab Template"
msgstr "&Carica modello scheda"
#: Accelerators.cpp:644
msgid "Action"
msgstr "Azione"
#: Accelerators.cpp:645
msgid "Shortcut"
msgstr "Collegamento"
#: Accelerators.cpp:646
msgid "Default"
msgstr "Predefinito"
#: Accelerators.cpp:665
msgid "Extension"
msgstr "Estensione"
#: Accelerators.cpp:665
msgid "(Un)Show fileview Extension column"
msgstr "Mostra/Nascondi colonna Estensione"
#: Accelerators.cpp:665
msgid "Size"
msgstr "Dimensione"
#: Accelerators.cpp:665
msgid "(Un)Show fileview Size column"
msgstr "Mostra/Nascondi colonna Dimensione"
#: Accelerators.cpp:665
#: moredialogs.xrc:814
msgid "Time"
msgstr "Data di modifica"
#: Accelerators.cpp:665
msgid "(Un)Show fileview Time column"
msgstr "Mostra/Nascondi colonna Data"
#: Accelerators.cpp:666
#: moredialogs.xrc:1706
msgid "Permissions"
msgstr "Permessi"
#: Accelerators.cpp:666
msgid "(Un)Show fileview Permissions column"
msgstr "Mostra/Nascondi colonna Permessi"
#: Accelerators.cpp:666
#: moredialogs.xrc:1492
msgid "Owner"
msgstr "Proprietario"
#: Accelerators.cpp:666
msgid "(Un)Show fileview Owner column"
msgstr "Mostra/Nascondi colonna Proprietario"
#: Accelerators.cpp:666
#: moredialogs.xrc:1515
#: moredialogs.xrc:1734
#: moredialogs.xrc:6184
#: moredialogs.xrc:7332
#: moredialogs.xrc:8491
msgid "Group"
msgstr "Gruppo"
#: Accelerators.cpp:666
msgid "(Un)Show fileview Group column"
msgstr "Mostra/Nascondi colonna Gruppo"
#: Accelerators.cpp:667
#: Redo.h:141
msgid "Link"
msgstr "Collegamento"
#: Accelerators.cpp:667
msgid "(Un)Show fileview Link column"
msgstr "Mostra/Nascondi colonna Collegamento"
#: Accelerators.cpp:667
msgid "Show all columns"
msgstr "Mostra tutte le colonne"
#: Accelerators.cpp:667
msgid "Fileview: Show all columns"
msgstr "Vista files: Mostra tutte le colonne"
#: Accelerators.cpp:667
msgid "Unshow all columns"
msgstr "Nascondi tutte le colonne"
#: Accelerators.cpp:667
msgid "Fileview: Unshow all columns"
msgstr "Vista files: Nascondi tutte le colonne"
#: Accelerators.cpp:668
msgid "Bookmarks: Edit"
msgstr "Segnalibri: Modifica"
#: Accelerators.cpp:668
msgid "Bookmarks: New Separator"
msgstr "Segnalibri: Nuovo Separatore"
#: Accelerators.cpp:668
msgid "First dot"
msgstr "Primo punto"
#: Accelerators.cpp:668
msgid "Extensions start at the First dot"
msgstr "Le estensioni iniziano dal Primo punto"
#: Accelerators.cpp:669
msgid "Penultimate dot"
msgstr "Penultimo punto"
#: Accelerators.cpp:669
msgid "Extensions start at the Penultimate dot"
msgstr "Le estensioni iniziano dal Penultimo punto"
#: Accelerators.cpp:669
msgid "Last dot"
msgstr "Ultimo punto"
#: Accelerators.cpp:669
msgid "Extensions start at the Last dot"
msgstr "Le estensioni iniziano dall'Ultimo punto"
#: Accelerators.cpp:833
msgid "Lose changes?"
msgstr "Perdere le modifiche?"
#: Accelerators.cpp:833
#: Bookmarks.cpp:624
#: Bookmarks.cpp:1021
#: Bookmarks.cpp:1092
#: Configure.cpp:2139
#: Configure.cpp:2193
#: Configure.cpp:2256
#: Configure.cpp:2509
#: Configure.cpp:3211
#: Configure.cpp:4400
#: Devices.cpp:3099
#: Filetypes.cpp:1081
#: Filetypes.cpp:1123
#: Filetypes.cpp:1311
#: Filetypes.cpp:1452
#: Filetypes.cpp:1730
#: Filetypes.cpp:1963
#: Tools.cpp:1128
#: Tools.cpp:1635
msgid "Are you sure?"
msgstr "Sei sicuro?"
#: Accelerators.cpp:916
msgid "Type in the new Label to show for this menu item"
msgstr "Inserisci la nuova etichetta per questo menù"
#: Accelerators.cpp:916
msgid "Change label"
msgstr "Cambia etichetta"
#: Accelerators.cpp:923
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
"Inserisci l'etichetta per la descrizione di questo menù\n"
"Annulla per nessuna etichetta"
#: Accelerators.cpp:923
msgid "Change Help String"
msgstr "Cambia etichetta di aiuto"
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
"Non riesco a trovare questo file/cartella.\n"
"Prova usando il pulsante Sfoglia."
#: Archive.cpp:119
#: ArchiveStream.cpp:458
#: ArchiveStream.cpp:725
#: ArchiveStream.cpp:730
#: Bookmarks.cpp:657
#: Configure.cpp:2105
#: Configure.cpp:2133
#: MyDirs.cpp:969
#: MyDirs.cpp:1076
#: MyDirs.cpp:1145
#: MyDirs.cpp:1223
#: MyFiles.cpp:558
#: MyFiles.cpp:695
#: MyFiles.cpp:777
#: MyFiles.cpp:789
#: MyFiles.cpp:802
#: MyFiles.cpp:816
#: MyFiles.cpp:828
#: MyFiles.cpp:854
msgid "Oops!"
msgstr "Oops!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr "Scegli files e/o cartelle"
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr "Scegli la cartella nella quale memorizzare l'archivio"
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr "Sfoglia per l'archivio per la concatenazione"
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
"La cartella nella quale vuoi creare l'archivio non esiste.\n"
"Uso quella corrente?"
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
"L'archivio scelto per la concatenazione risulta inesistente.\n"
"Ritentare?"
#: Archive.cpp:394
#: Archive.cpp:404
#: Archive.cpp:1091
#: Archive.cpp:1097
msgid "Can't find a 7z binary on your system"
msgstr "Non trovo l'eseguibile di 7z nel tuo sistema..."
#: Archive.cpp:394
#: Archive.cpp:404
#: Archive.cpp:407
#: Archive.cpp:952
#: Archive.cpp:958
#: Archive.cpp:961
#: Archive.cpp:1091
#: Archive.cpp:1097
#: Archive.cpp:1107
#: Bookmarks.cpp:846
#: Configure.cpp:3879
#: MyFiles.cpp:623
msgid "Oops"
msgstr "Oops"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr "Non trovo un archivio valido per la concatenazione"
#: Archive.cpp:706
#: Archive.cpp:1016
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
"Nessun file compresso selezionato.\n"
"Ritentare?"
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr "Sfoglia per l'archivio da verificare"
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr "Scegli la cartella dove estrarre l'archivio"
#: Archive.cpp:882
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
"Creazione della cartella di destinazione fallita.\n"
"Ritentare?"
#: Archive.cpp:952
#: Archive.cpp:1107
msgid "Can't find rpm2cpio on your system..."
msgstr "Non trovo rpm2cpio nel tuo sistema..."
#: Archive.cpp:958
#: Archive.cpp:961
msgid "Can't find ar on your system..."
msgstr "Non trovo ar nel tuo sistema..."
#: Archive.cpp:969
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
"Non trovo un archivio valido da estrarre.\n"
"Ritentare?"
#: Archive.cpp:1119
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
"Non trovo un archivio valido da verificare.\n"
"Ritentare?"
#: Archive.cpp:1183
msgid "File(s) compressed"
msgstr "Files compressi"
#: Archive.cpp:1183
msgid "Compression failed"
msgstr "Compressione fallita"
#: Archive.cpp:1187
msgid "File(s) decompressed"
msgstr "Files decompressi"
#: Archive.cpp:1187
msgid "Decompression failed"
msgstr "Decompressione fallita"
#: Archive.cpp:1191
msgid "File(s) verified"
msgstr "File verificati"
#: Archive.cpp:1191
#: Archive.cpp:1211
#: Archive.cpp:1253
msgid "Verification failed"
msgstr "Verifica fallita"
#: Archive.cpp:1197
msgid "Archive created"
msgstr "Archivio creato"
#: Archive.cpp:1197
msgid "Archive creation failed"
msgstr "Creazione archivio fallita"
#: Archive.cpp:1202
msgid "File(s) added to Archive"
msgstr "Files aggiunti all'archivio"
#: Archive.cpp:1202
msgid "Archive addition failed"
msgstr "Aggiunta archivio fallita"
#: Archive.cpp:1207
msgid "Archive extracted"
msgstr "Archivio estratto"
#: Archive.cpp:1207
msgid "Extraction failed"
msgstr "Estrazione fallita"
#: Archive.cpp:1211
msgid "Archive verified"
msgstr "Archivio verificato"
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr "In quale cartella vuoi estrarre i files?"
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr "In quale cartella devo estrarlo?"
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "Estrazione dall'archivio"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
"Non hai i permessi per la creazione in questa cartella\n"
" Riprovare?"
#: ArchiveStream.cpp:449
#: ArchiveStream.cpp:612
#: MyDirs.cpp:476
#: MyDirs.cpp:622
#: MyDirs.cpp:774
#: MyDirs.cpp:1115
#: MyDirs.cpp:1568
#: MyFiles.cpp:482
#: MyFiles.cpp:575
#: MyFiles.cpp:683
msgid "No Entry!"
msgstr "Nessuna Voce!"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
"Spiacente, %s già esistente.\n"
" Riprovare?"
#: ArchiveStream.cpp:612
#: MyDirs.cpp:622
#: MyDirs.cpp:1568
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr "Non hai i permessi per la scrittura in questa cartella"
#: ArchiveStream.cpp:661
#: MyDirs.cpp:1574
msgid "I'm afraid you don't have permission to access files from this Directory"
msgstr "Non hai i permessi per l'accesso a questa cartella"
#: ArchiveStream.cpp:661
#: Configure.cpp:177
#: MyDirs.cpp:634
#: MyDirs.cpp:639
#: MyDirs.cpp:1574
msgid "No Exit!"
msgstr "Nessuna Uscita!"
#: ArchiveStream.cpp:721
msgid "For some reason, trying to create a dir to receive the backup failed. Sorry!"
msgstr "Spiacente, creazione della cartella per contenere il backup fallita."
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr "Spiacente, ripristino fallito"
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr "Spiacente, rimozione oggetti fallita"
#: ArchiveStream.cpp:758
#: ArchiveStream.cpp:894
#: MyFrame.cpp:668
#: Redo.h:126
#: Redo.h:284
msgid "Paste"
msgstr "Incolla"
#: ArchiveStream.cpp:888
#: ArchiveStream.cpp:894
#: Redo.h:110
#: Redo.h:320
msgid "Move"
msgstr "Muovi"
#: ArchiveStream.cpp:1322
msgid "Sorry, you need to be root to extract character or block devices"
msgstr "Spiacente, devi utilizzare l'utente root per estrarre periferiche a blocchi o a caratteri"
#: ArchiveStream.cpp:1519
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr "Sembra che la tua zlib è troppo datata per questa azione :("
#: ArchiveStream.cpp:1673
#: ArchiveStream.cpp:1684
#: ArchiveStream.cpp:1695
#: ArchiveStream.cpp:1706
#: ArchiveStream.cpp:1721
msgid "For some reason, the archive failed to open :("
msgstr "Per qualche motivo non posso aprire l'archivio :("
#: ArchiveStream.cpp:1713
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr "Questo tipo di archivio richiede l'installazione della liblzma."
#: ArchiveStream.cpp:1713
msgid "Missing library"
msgstr "Libreria mancante"
#: ArchiveStream.cpp:1727
#: MyGenericDirCtrl.cpp:1676
msgid "This file is compressed, but it's not an archive so you can't peek inside."
msgstr "Il file è compresso ma non un archivio visualizzabile."
#: ArchiveStream.cpp:1727
#: ArchiveStream.cpp:1728
#: MyGenericDirCtrl.cpp:1676
#: MyGenericDirCtrl.cpp:1677
msgid "Sorry"
msgstr "Spiacente"
#: ArchiveStream.cpp:1728
#: MyGenericDirCtrl.cpp:1677
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr "Temo di non poter leggere il contenuto di questo tipo di archivio."
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Segnalibri Cartelle"
#: Bookmarks.cpp:143
#: Bookmarks.cpp:231
#: Bookmarks.cpp:269
#: Bookmarks.cpp:709
#: Bookmarks.cpp:914
#: Bookmarks.cpp:919
#: Bookmarks.cpp:998
msgid "Separator"
msgstr "Separatore"
#: Bookmarks.cpp:200
#: Bookmarks.cpp:929
msgid "Duplicated"
msgstr "Duplicato"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "Spostato"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Copiato"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Rinomina cartella"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Modifica Segnalibro"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "Nuovo Separatore"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "Nuova Cartella"
#: Bookmarks.cpp:325
#: Bookmarks.cpp:429
msgid "Couldn't load Menubar!?"
msgstr "Non posso caricare la Barra dei menù!"
#: Bookmarks.cpp:331
#: Bookmarks.cpp:356
#: Bookmarks.cpp:431
#: Bookmarks.cpp:468
#: Bookmarks.cpp:481
msgid "Bookmarks"
msgstr "Segnalibri"
#: Bookmarks.cpp:332
msgid "Couldn't find menu!?"
msgstr "Non trovo il menù!"
#: Bookmarks.cpp:349
msgid "This Section doesn't exist in ini file!?"
msgstr "Questa sezione è inesistente nel file ini!"
#: Bookmarks.cpp:501
msgid "Sorry, couldn't locate that folder"
msgstr "Spiacente, cartella non trovata"
#: Bookmarks.cpp:512
msgid "Bookmark added"
msgstr "Segnalibri aggiunto"
#: Bookmarks.cpp:624
#: Filetypes.cpp:1730
msgid "Lose all changes?"
msgstr "Perdere i cambiamenti?"
#: Bookmarks.cpp:647
#: Filetypes.cpp:1071
msgid "What Label would you like for the new Folder?"
msgstr "Quale etichetta vuoi assegnare alla nuova cartella?"
#: Bookmarks.cpp:656
#: Bookmarks.cpp:1020
#: Filetypes.cpp:1080
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
"Spiacente, cartella %s già esistente.\n"
" Ritentare?"
#: Bookmarks.cpp:692
msgid "Folder added"
msgstr "Cartella aggiunta"
#: Bookmarks.cpp:730
msgid "Separator added"
msgstr "Separatore aggiunto"
#: Bookmarks.cpp:828
#: Bookmarks.cpp:845
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
"Spiacente, cartella %s già esistente.\n"
" Cambiare il nome?"
#: Bookmarks.cpp:829
msgid "Oops?"
msgstr "Oops?"
#: Bookmarks.cpp:834
msgid "What would you like to call the Folder?"
msgstr "Come vuoi nominare la cartella?"
#: Bookmarks.cpp:834
msgid "What Label would you like for the Folder?"
msgstr "Quale etichetta utilizzare per la cartella?"
#: Bookmarks.cpp:930
msgid "Pasted"
msgstr "Incollato"
#: Bookmarks.cpp:1008
msgid "Alter the Folder Label below"
msgstr "Modifica il nome della cartella"
#: Bookmarks.cpp:1083
msgid "Sorry, you're not allowed to move the main folder"
msgstr "Spiacente, non sei autorizzato a spostare la cartella principale"
#: Bookmarks.cpp:1084
msgid "Sorry, you're not allowed to delete the main folder"
msgstr "Spiacente, non sei autorizzato ad eliminare la cartella principale"
#: Bookmarks.cpp:1085
msgid "Tsk tsk!"
msgstr "Tsk tsk!"
#: Bookmarks.cpp:1091
#: Filetypes.cpp:1121
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr "Elimino la cartella %s e tutto il suo contenuto?"
#: Bookmarks.cpp:1102
msgid "Folder deleted"
msgstr "Cartella cancellata"
#: Bookmarks.cpp:1113
msgid "Bookmark deleted"
msgstr "Segnalibro cancellato"
#: Configure.cpp:51
#: Configure.cpp:53
msgid "Welcome to 4Pane."
msgstr "Benvenuto in 4Pane."
#: Configure.cpp:60
msgid "4Pane is a File Manager that aims to be fast and full-featured without bloat."
msgstr "4Pane è un File Manager creato per essere leggero, veloce e ricco di funzionalità ."
#: Configure.cpp:63
msgid "Please click Next to configure 4Pane for your system."
msgstr "Premi Successivo per configurare 4Pane per il tuo sistema."
#: Configure.cpp:66
msgid "Or if there's already a configuration file that you'd like to copy, click"
msgstr "Oppure, se esiste una configurazione da importare, clicca"
#: Configure.cpp:68
msgid "Here"
msgstr "Qui"
#: Configure.cpp:83
msgid "Resources successfully located. Please press Next"
msgstr "Risorse trovate con successo. Premi Successivo"
#: Configure.cpp:103
msgid "I've had a look around your system, and created a configuration that should work."
msgstr "Ho controllato il tuo sistema e creato una impostazione di base."
#: Configure.cpp:106
msgid "You can do much fuller configuration at any time from Options > Configure 4Pane."
msgstr "Puoi personalizzare in ogni momento le impostazioni dal menù Opzioni > Configura 4Pane."
#: Configure.cpp:115
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Crea un collegamento a 4Pane sulla scrivania"
#: Configure.cpp:150
msgid "&Next >"
msgstr "&Avanti >"
#: Configure.cpp:168
msgid "Browse for the Configuration file to copy"
msgstr "Sfoglia per il file di impostazioni da copiare"
#: Configure.cpp:176
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
"Non hai i permessi per copiare questo file.\n"
"Vuoi ritentare la copia?"
#: Configure.cpp:186
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
"Questo file non sembra un valido file di configurazione di 4Pane.\n"
"Sicuro di volerlo usare?"
#: Configure.cpp:187
msgid "Fake config file!"
msgstr "File di configurazione non valido!"
#: Configure.cpp:253
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
"Non trovo i file di risorse. Probabilmente un problema di installazione :(\n"
"Vuoi provare a localizzarli manualmente?"
#: Configure.cpp:254
msgid "Eek! Can't find resources."
msgstr "Non trovo i file di risorse!"
#: Configure.cpp:262
msgid "Browse for ..../4Pane/rc/"
msgstr "Sfoglia per ..../4Pane/rc/"
#: Configure.cpp:270
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
"Non trovo i file bitmap. Probabilmente un problema di installazione :(\n"
"Vuoi provare a localizzarli manualmente?"
#: Configure.cpp:271
msgid "Eek! Can't find bitmaps."
msgstr "Non trovo i file di bitmap!"
#: Configure.cpp:279
msgid "Browse for ..../4Pane/bitmaps/"
msgstr "Sfoglia per ..../4Pane/bitmaps/"
#: Configure.cpp:287
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
"Non trovo i file del manuale d'uso. Probabilmente un problema di installazione :(\n"
"Vuoi provare a localizzarli manualmente?"
#: Configure.cpp:288
msgid "Eek! Can't find Help files."
msgstr "Non trovo i file della guida"
#: Configure.cpp:296
msgid "Browse for ..../4Pane/doc/"
msgstr "Sfoglia per ..../4Pane/doc/"
#: Configure.cpp:1000
msgid "&Run a Program"
msgstr "Esegui &Programma"
#: Configure.cpp:1027
msgid "Install .deb(s) as root:"
msgstr "Installa pacchetto deb come root:"
#: Configure.cpp:1031
msgid "Remove the named.deb as root:"
msgstr "Rimuovi pacchetto deb come root:"
#: Configure.cpp:1035
msgid "List files provided by a particular .deb"
msgstr "Elenca i file forniti da uno specifico pacchetto deb"
#: Configure.cpp:1040
msgid "List installed .debs matching the name:"
msgstr "Elenca pacchetti deb installati corrispondenti al nome:"
#: Configure.cpp:1045
msgid "Show if the named .deb is installed:"
msgstr "Mostra se il pacchetto deb è installato:"
#: Configure.cpp:1050
msgid "Show which package installed the selected file"
msgstr "Mostra quale pacchetto ha installato il file selezionato"
#: Configure.cpp:1059
msgid "Install rpm(s) as root:"
msgstr "Istalla pacchetto rpm come root:"
#: Configure.cpp:1063
msgid "Remove an rpm as root:"
msgstr "Rimuovi un pacchetto rpm come root:"
#: Configure.cpp:1067
msgid "Query the selected rpm"
msgstr "Interroga il pacchetto rpm selezionato"
#: Configure.cpp:1072
msgid "List files provided by the selected rpm"
msgstr "Elenca i file forniti dal pacchetto rpm selezionato"
#: Configure.cpp:1077
msgid "Query the named rpm"
msgstr "Interroga rpm"
#: Configure.cpp:1082
msgid "List files provided by the named rpm"
msgstr "Elenca file forniti dal pacchetto rpm"
#: Configure.cpp:1091
msgid "Create a directory as root:"
msgstr "Crea cartella come root:"
#: Configure.cpp:1455
msgid "Go to Home directory"
msgstr "Vai alla Cartella Personale"
#: Configure.cpp:1466
msgid "Go to Documents directory"
msgstr "Vai alla Cartella Documenti"
#: Configure.cpp:1519
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
"Se visualizzi questo messaggio (non dovrebbe succedere!), è a causa del mancato salvataggio del file di impostazioni.\n"
"Probabilmente a causa di permessi in scrittura o di partizione a sola lettura."
#: Configure.cpp:1805
#: moredialogs.xrc:244
#: moredialogs.xrc:3654
#: moredialogs.xrc:11708
msgid "Shortcuts"
msgstr "Collegamenti"
#: Configure.cpp:1808
#: Tools.cpp:2676
#: Tools.cpp:2762
msgid "Tools"
msgstr "Strumenti"
#: Configure.cpp:1810
msgid "Add a tool"
msgstr "Aggiungi uno strumento"
#: Configure.cpp:1812
msgid "Edit a tool"
msgstr "Modifica uno strumento"
#: Configure.cpp:1814
msgid "Delete a tool"
msgstr "Elimina uno strumento"
#: Configure.cpp:1817
msgid "Devices"
msgstr "Dispositivi"
#: Configure.cpp:1819
msgid "Automount"
msgstr "Automount"
#: Configure.cpp:1821
msgid "Mounting"
msgstr "Montaggio"
#: Configure.cpp:1823
msgid "Usb"
msgstr "USB"
#: Configure.cpp:1825
msgid "Removable"
msgstr "Removibile"
#: Configure.cpp:1827
msgid "Fixed"
msgstr "Fisso"
#: Configure.cpp:1829
msgid "Advanced"
msgstr "Avanzato"
#: Configure.cpp:1831
msgid "Advanced fixed"
msgstr "Fisso avanzato"
#: Configure.cpp:1833
msgid "Advanced removable"
msgstr "Removibile avanzato"
#: Configure.cpp:1835
msgid "Advanced lvm"
msgstr "LVM avanzato"
#: Configure.cpp:1839
msgid "The Display"
msgstr "Visualizzazione"
#: Configure.cpp:1841
msgid "Trees"
msgstr "Alberi"
#: Configure.cpp:1843
msgid "Tree font"
msgstr "Carattere albero"
#: Configure.cpp:1845
#: Configure.cpp:2484
msgid "Misc"
msgstr "Varie"
#: Configure.cpp:1848
#: Configure.cpp:2483
msgid "Terminals"
msgstr "Terminali"
#: Configure.cpp:1850
msgid "Real"
msgstr "Reale"
#: Configure.cpp:1852
msgid "Emulator"
msgstr "Emulatore"
#: Configure.cpp:1855
msgid "The Network"
msgstr "Rete"
#: Configure.cpp:1858
msgid "Miscellaneous"
msgstr "Varie"
#: Configure.cpp:1860
msgid "Numbers"
msgstr "Valori"
#: Configure.cpp:1862
msgid "Times"
msgstr "Tempi"
#: Configure.cpp:1864
msgid "Superuser"
msgstr "Super utente"
#: Configure.cpp:1866
msgid "Other"
msgstr "Altro"
#: Configure.cpp:2059
msgid " Stop gtk2 grabbing the F10 key"
msgstr "Blocca l'intercettazione del tasto F10 in GTK2"
#: Configure.cpp:2060
msgid "If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a shortcut (it's the default one for \"New file or dir\")."
msgstr "Se deselezionato, GTK2 intercetta la pressione del tasto F10, in tal caso non puoi utilizzarlo come tasto rapido (predefinito per \"Nuovo file o cartella\")."
#: Configure.cpp:2091
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
"Spiacente, non c'è spazio per un altro sottomenù qui\n"
"Ti consiglio di collocarlo altrove"
#: Configure.cpp:2095
msgid "Enter the name of the new submenu to add to "
msgstr "Inserisci il nome di un nuovo sotto menu da aggiungere a "
#: Configure.cpp:2105
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
"Spiacente, menù con stesso nome già esistente\n"
" Ritentare?"
#: Configure.cpp:2133
msgid "Sorry, you're not allowed to delete the root menu"
msgstr "Spiacente, non sei autorizzato ad eliminare il menù principale"
#: Configure.cpp:2138
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr "Eliminare il menù \"%s\" e tutto il suo contenuto?"
#: Configure.cpp:2191
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
"Non trovo il comando eseguibile \"%s\".\n"
"Continuo lo stesso?"
#: Configure.cpp:2192
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
"Non trovo il comando eseguibile \"%s\" in PATH.\n"
"Continuo lo stesso?"
#: Configure.cpp:2221
msgid " Click when Finished "
msgstr " Clicca al termine "
#: Configure.cpp:2227
#: configuredialogs.xrc:3650
msgid " Edit this Command "
msgstr " Modifica questo Comando "
#: Configure.cpp:2255
#, c-format
msgid "Delete command \"%s\"?"
msgstr "Eliminare il comando \"%s\"?"
#: Configure.cpp:2271
#: Filetypes.cpp:1634
msgid "Choose a file"
msgstr "Scegli un file"
#: Configure.cpp:2479
msgid "User-defined tools"
msgstr "Strumenti personalizzati"
#: Configure.cpp:2480
msgid "Devices Automounting"
msgstr "Dispositivi Automounting"
#: Configure.cpp:2480
msgid "Devices Mount"
msgstr "Dispositivi Mount"
#: Configure.cpp:2480
msgid "Devices Usb"
msgstr "Periferiche USB"
#: Configure.cpp:2480
msgid "Removable Devices"
msgstr "Periferiche removibili"
#: Configure.cpp:2480
#: Configure.cpp:2481
msgid "Fixed Devices"
msgstr "Periferiche fisse"
#: Configure.cpp:2481
msgid "Advanced Devices Fixed"
msgstr "Periferiche fisse avanzate"
#: Configure.cpp:2481
msgid "Advanced Devices Removable"
msgstr "Periferiche removibili avanzate"
#: Configure.cpp:2481
msgid "Advanced Devices LVM"
msgstr "Periferiche LVM avanzate"
#: Configure.cpp:2482
msgid "Display"
msgstr "Visualizza"
#: Configure.cpp:2482
msgid "Display Trees"
msgstr "Visualizzazione Alberi"
#: Configure.cpp:2482
msgid "Display Tree Font"
msgstr "Visualizzazione Carattere albero"
#: Configure.cpp:2482
msgid "Display Misc"
msgstr "Visualizzazione Varie"
#: Configure.cpp:2483
msgid "Real Terminals"
msgstr "Terminali Reali"
#: Configure.cpp:2483
msgid "Terminal Emulator"
msgstr "Emulatore Terminale"
#: Configure.cpp:2483
msgid "Networks"
msgstr "Reti"
#: Configure.cpp:2484
msgid "Misc Undo"
msgstr "Misc Annulla"
#: Configure.cpp:2484
msgid "Misc Times"
msgstr "Misc Tempi"
#: Configure.cpp:2484
msgid "Misc Superuser"
msgstr "Misc Super utente"
#: Configure.cpp:2484
msgid "Misc Other"
msgstr "Misc Altro"
#: Configure.cpp:2508
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
"Le impostazioni nella pagina \"%s\" non sono state salvate.\n"
" Chiudere perdendo i cambiamenti?"
#: Configure.cpp:2616
msgid "Selected tree Font"
msgstr "Carattere Icona Selezionato"
#: Configure.cpp:2618
msgid "Default tree Font"
msgstr "Carattere albero predefinito"
#: Configure.cpp:3150
msgid " (Ignored)"
msgstr " (Ignorato)"
#: Configure.cpp:3211
msgid "Delete this Device?"
msgstr "Eliminare questo Dispositivo?"
#: Configure.cpp:3461
msgid "Selected terminal emulator Font"
msgstr "Carattere emulatore terminale selezionato"
#: Configure.cpp:3463
msgid "Default Font"
msgstr "Carattere Predefinito"
#: Configure.cpp:3666
msgid "Delete "
msgstr "Elimina"
#: Configure.cpp:3666
#: MyDirs.cpp:958
#: Redo.cpp:1110
#: Redo.cpp:1121
msgid "Are you SURE?"
msgstr "Sei SICURO?"
#: Configure.cpp:3677
msgid "That doesn't seem to be a valid ip address"
msgstr "Non sembra essere un indirizzo ip valido"
#: Configure.cpp:3680
msgid "That server is already on the list"
msgstr "Quel server è già in lista"
#: Configure.cpp:3843
msgid "Please enter the command to use, including any required options"
msgstr "Inserisci il comando da utilizzare, incluse le opzioni richieste"
#: Configure.cpp:3844
msgid "Command for a different gui su program"
msgstr "Comando per un diverso programma \"su\" in finestra"
#: Configure.cpp:3879
msgid "Each metakey pattern must be unique. Try again?"
msgstr "Ogni chiave di ricerca dev'essere univoca. Ritentare?"
#: Configure.cpp:3922
msgid "You chose not to export any data type!Aborting."
msgstr "Hai scelto di non esportare alcun tipo di dato! Azione annullata."
#: Configure.cpp:4400
msgid "Delete this toolbar button?"
msgstr "Eliminare questo pulsante dalla Barra?"
#: Configure.cpp:4488
msgid "Browse for the Filepath to Add"
msgstr "Sfoglia per il percorso al file da aggiungere"
#: Devices.cpp:219
msgid "Hard drive"
msgstr "Disco fisso"
#: Devices.cpp:219
msgid "Floppy disc"
msgstr "Floppy disc"
#: Devices.cpp:219
msgid "CD or DVDRom"
msgstr "CD o DVDRom"
#: Devices.cpp:219
msgid "CD or DVD writer"
msgstr "CD o masterizzatore DVD"
#: Devices.cpp:219
msgid "USB Pen"
msgstr "Penna USB"
#: Devices.cpp:219
msgid "USB memory card"
msgstr "Memoria USB"
#: Devices.cpp:219
msgid "USB card-reader"
msgstr "Lettore carte USB"
#: Devices.cpp:219
msgid "USB hard drive"
msgstr "Disco fisso USB"
#: Devices.cpp:219
msgid "Unknown device"
msgstr "Dispositivo sconosciuto"
#: Devices.cpp:299
msgid " menu"
msgstr "menù"
#: Devices.cpp:303
msgid "&Display "
msgstr "&Mostra"
#: Devices.cpp:304
msgid "&Undisplay "
msgstr "&Nascondi"
#: Devices.cpp:306
msgid "&Mount "
msgstr "&Monta"
#: Devices.cpp:306
msgid "&UnMount "
msgstr "&Smonta"
#: Devices.cpp:342
msgid "Mount a DVD-&RAM"
msgstr "Monta un DVD-&RAM"
#: Devices.cpp:345
msgid "Display "
msgstr "Visualizzazione"
#: Devices.cpp:346
msgid "UnMount DVD-&RAM"
msgstr "Smonta un DVD-&RAM"
#: Devices.cpp:352
msgid "&Eject"
msgstr "&Espelli"
#: Devices.cpp:449
msgid "Which mount do you wish to remove?"
msgstr "Quale montaggio vuoi eliminare?"
#: Devices.cpp:449
msgid "Unmount a DVD-RAM disc"
msgstr "Smonta un disco DVD-RAM"
#: Devices.cpp:527
msgid "Click or Drag here to invoke "
msgstr "Clicca o trascina qui per invocare "
#: Devices.cpp:579
msgid "I'm afraid you don't have permission to Read this file"
msgstr "Temo tu non abbia i permessi per leggere questo file"
#: Devices.cpp:579
msgid "Failed"
msgstr "Fallito"
#: Devices.cpp:589
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr "Lettura fallita a causa di mancanza di permessi in lettura"
#: Devices.cpp:590
msgid "Warning"
msgstr "Attenzione"
#: Devices.cpp:841
msgid "Floppy"
msgstr "Floppy"
#: Devices.cpp:866
msgid ""
"I can't find the file with the list of cd/dvd drives\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
"Non trovo il file con la lista delle periferiche CD/DVD\n"
"\n"
"Usa Configura per creare le impostazioni"
#: Devices.cpp:1361
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
"Oops, quel dispositivo non sembra disponibile.\n"
"\n"
" Buona giornata!"
#: Devices.cpp:1373
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
"Oops, quella partizione non sembra disponibile.\n"
"\n"
" Buona giornata!"
#: Devices.cpp:1393
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr "Spiacente, devi essere amministratore per poter smontare partizioni non fstab"
#: Devices.cpp:1397
msgid "Sorry, failed to unmount"
msgstr "Spiacente, smontaggio fallito"
#: Devices.cpp:1412
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
"\n"
"(Devi essere amministratore)"
#: Devices.cpp:1413
msgid "The partition "
msgstr "La partizione"
#: Devices.cpp:1413
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
" non ha una voce in fstab.\n"
"Dove vorresti montarlo?"
#: Devices.cpp:1417
msgid "Mount a non-fstab partition"
msgstr "Monta una partizione non fstab"
#: Devices.cpp:1424
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr "Il mount-point per questo dispositivo non esiste. Crearlo?"
#: Devices.cpp:1468
#: Mounts.cpp:111
#: Mounts.cpp:301
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr "Spiacente, devi essere amministratore per poter montare partizioni non fstab"
#: Devices.cpp:1474
#: Devices.cpp:1481
#: Mounts.cpp:310
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
"Oops, montaggio fallito\n"
"C'è stato un problema con /etc/mtab"
#: Devices.cpp:1475
#: Devices.cpp:1482
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
"Oops, montaggio fallito\n"
" Prova inserendo un disco funzionante"
#: Devices.cpp:1476
#: Devices.cpp:1483
#: Mounts.cpp:312
#: Mounts.cpp:394
#: Mounts.cpp:579
msgid "Oops, failed to mount successfully due to error "
msgstr "Oops, montaggio fallito a causa di un errore "
#: Devices.cpp:1479
#: Mounts.cpp:309
#: Mounts.cpp:392
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
"Oops, montaggio fallito\n"
"Hai i permessi per farlo?"
#: Devices.cpp:1582
msgid "I can't find the file with the list of partitions, "
msgstr "Non trovo il file con la lista delle partizioni, "
#: Devices.cpp:1582
#: Devices.cpp:2048
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
"\n"
"\n"
"Usa Configura per risolvere il problema"
#: Devices.cpp:1598
msgid "File "
msgstr "File"
#: Devices.cpp:2048
msgid "I can't find the file with the list of scsi entries, "
msgstr "Non trovo il file con la lista con le voci scsi, "
#: Devices.cpp:3042
#: Devices.cpp:3074
msgid "You must enter a valid command. Try again?"
msgstr "Devi inserire un comando valido. Ritentare?"
#: Devices.cpp:3042
#: Devices.cpp:3074
msgid "No app entered"
msgstr "Nessuna applicazione specificata"
#: Devices.cpp:3048
#: Devices.cpp:3080
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
"Il percorso al file sembra attualmente inesistente.\n"
" Lo uso lo stesso?"
#: Devices.cpp:3048
#: Devices.cpp:3080
msgid "App not found"
msgstr "Applicazione non trovata"
#: Devices.cpp:3099
msgid "Delete this Editor?"
msgstr "Eliminare questo Editor?"
#: Devices.cpp:3304
msgid "png"
msgstr "png"
#: Devices.cpp:3304
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3304
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3304
#: Devices.cpp:3306
#: configuredialogs.xrc:1564
#: configuredialogs.xrc:1698
#: configuredialogs.xrc:1873
#: configuredialogs.xrc:2212
#: configuredialogs.xrc:2389
#: configuredialogs.xrc:2575
#: configuredialogs.xrc:2711
#: configuredialogs.xrc:2880
#: configuredialogs.xrc:3110
#: configuredialogs.xrc:3221
#: configuredialogs.xrc:3483
#: configuredialogs.xrc:3691
#: configuredialogs.xrc:3840
#: configuredialogs.xrc:3942
#: configuredialogs.xrc:4746
#: configuredialogs.xrc:4856
#: configuredialogs.xrc:5080
#: configuredialogs.xrc:5240
#: configuredialogs.xrc:5425
#: configuredialogs.xrc:5608
#: configuredialogs.xrc:5750
#: configuredialogs.xrc:5895
#: configuredialogs.xrc:6053
#: dialogs.xrc:50
#: dialogs.xrc:503
#: dialogs.xrc:707
#: dialogs.xrc:786
#: dialogs.xrc:921
#: dialogs.xrc:987
#: dialogs.xrc:1057
#: dialogs.xrc:1203
#: dialogs.xrc:1408
#: dialogs.xrc:1553
#: dialogs.xrc:1662
#: dialogs.xrc:3465
#: moredialogs.xrc:5708
#: moredialogs.xrc:5789
msgid "Cancel"
msgstr "Annulla"
#: Devices.cpp:3305
msgid "Please select the correct icon-type"
msgstr "Seleziona un tipo corretto di icona"
#: Dup.cpp:45
msgid "I'm afraid you don't have Read permission for the file"
msgstr "Temo che tu non abbia i permessi in lettura per il file"
#: Dup.cpp:134
msgid "There seems to be a problem: the destination directory doesn't exist! Sorry."
msgstr "Sembra esserci un problema: la directory di destinazione non esiste! Spiacente."
#: Dup.cpp:147
#: Dup.cpp:225
msgid "There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr "Sembra esserci un problema: la directory di origine non esiste! Spiacente."
#: Dup.cpp:256
msgid "There's already a directory in the archive with the name "
msgstr "Esiste già una directory nell'archivio con lo stesso nome"
#: Dup.cpp:257
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
"\n"
"Ti suggerisco di rinominarla, oppure rinomina quella di origine"
#: Dup.cpp:330
msgid "For some reason, trying to create a dir to temporarily-save the overwritten file failed. Sorry!"
msgstr "Per qualche motivo, il tentativo di creare una directory per il salvataggio temporaneo è fallito. Spiacente!"
#: Dup.cpp:402
msgid "Both files have the same Modification time"
msgstr "Entrambi i files hanno la stessa data di Modifica"
#: Dup.cpp:408
msgid "The current file was modified on "
msgstr "Il file corrente è stato modificato il "
#: Dup.cpp:409
msgid "The incoming file was modified on "
msgstr "Il file di origine è stato modificato il "
#: Dup.cpp:430
msgid "You seem to want to overwrite this directory with itself"
msgstr "Sembra tu voglia sovrascrivere questa directory con se stessa"
#: Dup.cpp:472
msgid "Sorry, that name is already taken. Please try again."
msgstr "Spiacente, nome già esistente. Ritenta per favore."
#: Dup.cpp:475
#: MyFiles.cpp:601
msgid "No, the idea is that you CHANGE the name"
msgstr "No, l'idea è quella che tu ne CAMBI il nome"
#: Dup.cpp:495
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr "Spiacente, non posso duplicare il file. Forse un problema di permessi?"
#: Dup.cpp:527
msgid "Sorry, I couldn't make room for the incoming directory. A permissions problem maybe?"
msgstr "Spiacente, non posso fare spazio per la directory di origine. Forse un problema di permessi?"
#: Dup.cpp:530
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr "Spiacente, si è verificato un errore di filesystem non plausibile :-("
#: Dup.cpp:576
msgid "Symlink Deletion Failed!?!"
msgstr "Eliminazione Symlink Fallita!"
#: Dup.cpp:591
msgid "Multiple Duplicate"
msgstr "Duplicati Molteplici"
#: Dup.cpp:641
msgid "Confirm Duplication"
msgstr "Conferma Duplicazione"
#: Dup.cpp:895
#: Tools.cpp:1753
#: Tools.cpp:1890
msgid "RegEx Help"
msgstr "Aiuto RegEx"
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr "Successo\n"
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr "Azione fallita\n"
#: ExecuteInDialog.cpp:90
#: Tools.cpp:186
msgid "Process successfully aborted\n"
msgstr "Processo annullato con successo\n"
#: ExecuteInDialog.cpp:95
#: Tools.cpp:189
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
"SIGTERM fallito.\n"
"Eseguo SIGKILL\n"
#: ExecuteInDialog.cpp:98
#: Tools.cpp:193
msgid "Process successfully killed\n"
msgstr "Processo terminato con successo\n"
#: ExecuteInDialog.cpp:103
#: Tools.cpp:196
msgid "Sorry, Cancel failed\n"
msgstr "Spiacente, annullamento fallito\n"
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr "Esecuzione di '%s' fallita."
#: ExecuteInDialog.cpp:188
#: dialogs.xrc:72
msgid "Close"
msgstr "Chiudi"
#: Filetypes.cpp:330
msgid "Regular File"
msgstr "Semplice File"
#: Filetypes.cpp:331
msgid "Symbolic Link"
msgstr "Collegamento Simbolico"
#: Filetypes.cpp:332
msgid "Broken Symbolic Link"
msgstr "Collegamento Simbolico Rotto"
#: Filetypes.cpp:334
msgid "Character Device"
msgstr "Dispositivo a Caratteri"
#: Filetypes.cpp:335
msgid "Block Device"
msgstr "Dispositivo a Blocchi"
#: Filetypes.cpp:336
#: moredialogs.xrc:1412
msgid "Directory"
msgstr "Directory"
#: Filetypes.cpp:337
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:338
#: moredialogs.xrc:1416
msgid "Socket"
msgstr "Socket"
#: Filetypes.cpp:339
msgid "Unknown Type?!"
msgstr "Tipo sconosciuto!"
#: Filetypes.cpp:871
msgid "Applications"
msgstr "Applicazioni"
#: Filetypes.cpp:1114
msgid "Sorry, you're not allowed to delete the root folder"
msgstr "Spiacente, non sei autorizzato ad eliminare la cartella radice"
#: Filetypes.cpp:1115
msgid "Sigh!"
msgstr "Sigh!"
#: Filetypes.cpp:1122
#, c-format
msgid "Delete folder %s?"
msgstr "Eliminare la cartella %s?"
#: Filetypes.cpp:1134
msgid "Sorry, I couldn't find that folder!?"
msgstr "Spiacente, Non riesco a trovare la cartella!"
#: Filetypes.cpp:1187
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
"Non riesco a trovare l'eseguibile \"%s\".\n"
"Procedere ugualmente?"
#: Filetypes.cpp:1188
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
"Non riesco a trovare l'eseguibile \"%s\" nel tuo PATH.\n"
"Procedere ugualmente?"
#: Filetypes.cpp:1195
#: Filetypes.cpp:1560
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
"Spiacente, applicazione %s già esistente\n"
" Ritentare?"
#: Filetypes.cpp:1226
msgid "Please confirm"
msgstr "Prego confermare"
#: Filetypes.cpp:1228
msgid "You didn't enter an Extension!"
msgstr "Non hai inserito una Estensione!"
#: Filetypes.cpp:1229
msgid "For which extension(s) do you wish this application to be the default?"
msgstr "Per quale(i) estensione(i) vuoi che sia resa predefinita questa applicazione?"
#: Filetypes.cpp:1277
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr "Per quali Estensioni vuoi che %s sia predefinito?"
#: Filetypes.cpp:1309
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
"Sostituisco %s\n"
"con %s\n"
"come comando predefinito per il tipo di files %s?"
#: Filetypes.cpp:1449
#: Filetypes.cpp:1498
msgid "Sorry, I couldn't find the application!?"
msgstr "Spiacente, non trovo l'applicazione!"
#: Filetypes.cpp:1451
#, c-format
msgid "Delete %s?"
msgstr "Eliminare %s?"
#: Filetypes.cpp:1509
msgid "Edit the Application data"
msgstr "Modifica Dati Applicazione"
#: Filetypes.cpp:1820
msgid "Sorry, you don't have permission to execute this file."
msgstr "Spiacente, non hai i permessi per eseguire questo file."
#: Filetypes.cpp:1822
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
"Spiacente, non hai i permessi per eseguire questo file.\n"
"Vuoi tentare di leggerlo?"
#: Filetypes.cpp:1962
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr "Non usare più %s come comando predefinito per il tipo di files %s?"
#: Misc.cpp:213
msgid "Failed to create a temporary directory"
msgstr "Creazione directory temporanea fallita"
#: Misc.cpp:363
msgid "Show Hidden"
msgstr "Mostra nascosti"
#: Misc.cpp:369
#: configuredialogs.xrc:87
#: configuredialogs.xrc:444
#: configuredialogs.xrc:670
#: configuredialogs.xrc:859
#: configuredialogs.xrc:1027
#: configuredialogs.xrc:1979
#: configuredialogs.xrc:2072
#: configuredialogs.xrc:2165
#: configuredialogs.xrc:4064
#: configuredialogs.xrc:4208
#: configuredialogs.xrc:4403
#: configuredialogs.xrc:4574
#: configuredialogs.xrc:6432
#: configuredialogs.xrc:6554
#: configuredialogs.xrc:6643
#: configuredialogs.xrc:6958
#: configuredialogs.xrc:7275
#: configuredialogs.xrc:7497
#: dialogs.xrc:343
#: dialogs.xrc:2024
#: dialogs.xrc:2119
#: dialogs.xrc:2185
#: dialogs.xrc:2356
#: dialogs.xrc:2492
#: dialogs.xrc:2642
#: dialogs.xrc:2910
#: dialogs.xrc:3253
#: dialogs.xrc:3358
#: dialogs.xrc:3564
#: dialogs.xrc:4093
#: dialogs.xrc:4204
#: moredialogs.xrc:111
#: moredialogs.xrc:4254
#: moredialogs.xrc:4577
#: moredialogs.xrc:4843
#: moredialogs.xrc:5069
#: moredialogs.xrc:5310
#: moredialogs.xrc:5607
#: moredialogs.xrc:6099
#: moredialogs.xrc:6499
#: moredialogs.xrc:6788
#: moredialogs.xrc:7237
#: moredialogs.xrc:7645
#: moredialogs.xrc:7949
#: moredialogs.xrc:8396
#: moredialogs.xrc:8812
#: moredialogs.xrc:9120
#: moredialogs.xrc:9346
#: moredialogs.xrc:9637
#: moredialogs.xrc:9919
#: moredialogs.xrc:10056
#: moredialogs.xrc:10293
#: moredialogs.xrc:10637
#: moredialogs.xrc:10765
#: moredialogs.xrc:11186
#: moredialogs.xrc:11366
#: moredialogs.xrc:11529
msgid "OK"
msgstr "OK"
#: Misc.cpp:370
#: configuredialogs.xrc:102
#: configuredialogs.xrc:459
#: configuredialogs.xrc:685
#: configuredialogs.xrc:874
#: configuredialogs.xrc:1042
#: configuredialogs.xrc:4078
#: configuredialogs.xrc:4222
#: configuredialogs.xrc:4417
#: configuredialogs.xrc:4594
#: configuredialogs.xrc:6447
#: configuredialogs.xrc:6569
#: configuredialogs.xrc:6658
#: configuredialogs.xrc:6973
#: configuredialogs.xrc:7290
#: configuredialogs.xrc:7512
#: configuredialogs.xrc:7635
#: dialogs.xrc:358
#: dialogs.xrc:2053
#: dialogs.xrc:2134
#: dialogs.xrc:2200
#: dialogs.xrc:2371
#: dialogs.xrc:2507
#: dialogs.xrc:2658
#: dialogs.xrc:2925
#: dialogs.xrc:3268
#: dialogs.xrc:3373
#: dialogs.xrc:3579
#: dialogs.xrc:4107
#: dialogs.xrc:4233
#: moredialogs.xrc:126
#: moredialogs.xrc:2482
#: moredialogs.xrc:3791
#: moredialogs.xrc:3857
#: moredialogs.xrc:4268
#: moredialogs.xrc:4590
#: moredialogs.xrc:4858
#: moredialogs.xrc:5085
#: moredialogs.xrc:5325
#: moredialogs.xrc:5495
#: moredialogs.xrc:5622
#: moredialogs.xrc:6109
#: moredialogs.xrc:6509
#: moredialogs.xrc:6798
#: moredialogs.xrc:7252
#: moredialogs.xrc:7660
#: moredialogs.xrc:7964
#: moredialogs.xrc:8411
#: moredialogs.xrc:8827
#: moredialogs.xrc:9135
#: moredialogs.xrc:9361
#: moredialogs.xrc:9652
#: moredialogs.xrc:9934
#: moredialogs.xrc:10071
#: moredialogs.xrc:10309
#: moredialogs.xrc:10647
#: moredialogs.xrc:10780
#: moredialogs.xrc:11196
#: moredialogs.xrc:11381
#: moredialogs.xrc:11542
#: moredialogs.xrc:11875
msgid "CANCEL"
msgstr "Annulla"
#: Mounts.cpp:57
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
"Non hai inserito un mount-point.\n"
"Ritentare?"
#: Mounts.cpp:88
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr "Il mount-point per questa partizione non esiste. Crearlo?"
#: Mounts.cpp:120
msgid "Oops, failed to mount the partition."
msgstr "Oops, smontaggio della partizione fallito."
#: Mounts.cpp:123
#: Mounts.cpp:170
#: Mounts.cpp:229
msgid " The error message was:"
msgstr " Il messaggio di errore era:"
#: Mounts.cpp:133
#: Mounts.cpp:317
#: Mounts.cpp:399
#: Mounts.cpp:469
#: Mounts.cpp:570
msgid "Mounted successfully on "
msgstr "Montato con successo in "
#: Mounts.cpp:140
msgid "Impossible to create directory "
msgstr "Impossibile creare la directory "
#: Mounts.cpp:151
msgid "Oops, failed to create the directory"
msgstr "Oops, creazione directory fallita"
#: Mounts.cpp:164
msgid "Oops, I don't have enough permission to create the directory"
msgstr "Oops, non ho abbastanza permessi per creare la directory"
#: Mounts.cpp:167
msgid "Oops, failed to create the directory."
msgstr "Oops, creazione directory fallita."
#: Mounts.cpp:197
#: Mounts.cpp:620
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr "Smontare la root è VERAMENTE una pessima idea!"
#: Mounts.cpp:226
msgid "Oops, failed to unmount the partition."
msgstr "Oops, smontaggio della partizione fallito."
#: Mounts.cpp:237
#: Mounts.cpp:250
msgid "Failed to unmount "
msgstr "Smontaggio fallito"
#: Mounts.cpp:240
#: Mounts.cpp:253
#: Mounts.cpp:627
#: Mounts.cpp:677
msgid " unmounted successfully"
msgstr " smontato con successo"
#: Mounts.cpp:243
msgid "Oops, failed to unmount successfully due to error "
msgstr "Oops, smontaggio fallito a causa di errore "
#: Mounts.cpp:245
#: Mounts.cpp:669
msgid "Oops, failed to unmount"
msgstr "Oops, smontaggio fallito"
#: Mounts.cpp:275
msgid "The requested mount-point doesn't exist. Create it?"
msgstr "Il mount-point richiesto non esiste. Crearlo?"
#: Mounts.cpp:311
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
"Oops, montaggio fallito.\n"
"Sicuro che il file sia una immagine valida?"
#: Mounts.cpp:336
#: Mounts.cpp:338
msgid "This export is already mounted at "
msgstr "Questo export è già montato in "
#: Mounts.cpp:357
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr "Il mount-point per questo Export non esiste. Crearlo?"
#: Mounts.cpp:369
#: Mounts.cpp:525
#: Mounts.cpp:538
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr "Il mount-point per questa condivisione non esiste. Crearlo?"
#: Mounts.cpp:384
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr "Spiacente, devi avere privilegi root per montare exports non fstab"
#: Mounts.cpp:393
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
"Oops, montaggio fallito.\n"
"NFS è in esecuzione?"
#: Mounts.cpp:419
msgid "The selected mount-point doesn't exist. Create it?"
msgstr "Il mount-point richiesto non esiste. Crearlo?"
#: Mounts.cpp:430
msgid "The selected mount-point isn't a directory"
msgstr "Il mount-point richiesto non è una directory"
#: Mounts.cpp:431
msgid "The selected mount-point can't be accessed"
msgstr "Il mount-point richiesto non è accessibile"
#: Mounts.cpp:433
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr "Il mount-point selezionato non è vuoto. Procedere lo stesso?"
#: Mounts.cpp:476
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr "Smontaggio fallito usando ssh su %s"
#: Mounts.cpp:497
msgid "This share is already mounted at "
msgstr "Questa condivisione è già montata su "
#: Mounts.cpp:499
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
"Questa condivisione è già montata su %s\n"
"Vuoi montarla anche su %s?"
#: Mounts.cpp:560
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr "Spiacente, devi avere privilegi root per montare condivisioni non fstab"
#: Mounts.cpp:576
msgid "Oops, failed to mount successfully. The error message was:"
msgstr "Oops, montaggio fallito a causa di un errore:"
#: Mounts.cpp:606
msgid "No Mounts of this type found"
msgstr "Non trovo nessun Mount di questo tipo"
#: Mounts.cpp:610
msgid "Unmount a Network mount"
msgstr "Smonta una Rete"
#: Mounts.cpp:611
msgid "Share or Export to Unmount"
msgstr "Condivisione o Export da Smontare"
#: Mounts.cpp:612
#: moredialogs.xrc:10518
#: moredialogs.xrc:11009
msgid "Mount-Point"
msgstr "Mount-Point"
#: Mounts.cpp:639
msgid " Unmounted successfully"
msgstr " smontato con successo"
#: Mounts.cpp:666
msgid "Unmount failed with the message:"
msgstr "Smontaggio fallito con messaggio:"
#: Mounts.cpp:742
msgid "Choose a Directory to use as a Mount-point"
msgstr "Scegli una directory da usare come mount-point"
#: Mounts.cpp:774
msgid "Choose an Image to Mount"
msgstr "Scegli una immagine da montare"
#: Mounts.cpp:1080
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
"Non riesco a trovare l'applicazione \"smbclient\". Probabilmente Samba non è installato correttamente.\n"
"Altrimenti dev'esserci un problema di permessi o di PATH"
#: Mounts.cpp:1101
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
"Non riesco ad eseguire l'applicazione \"findsmb\". Probabilmente Samba non è installato correttamente.\n"
"Altrimenti dev'esserci un problema di permessi o di PATH"
#: Mounts.cpp:1110
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
"Non trovo il comando \"showmount\". Probabilmente NFS non è installato correttamente.\n"
"In alternativa potrebbe esserci un problema di permessi o di PATH"
#: Mounts.cpp:1114
msgid "Searching for samba shares..."
msgstr "Ricerca condivisioni samba..."
#: Mounts.cpp:1138
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
"Non trovo un server samba attivo.\n"
"Se ne conosci uno, inserisci il suo indirizzo, es.: 192.168.0.3"
#: Mounts.cpp:1139
msgid "No server found"
msgstr "Nessun server trovato"
#: Mounts.cpp:1256
msgid "I'm afraid I can't find the showmount utility. Please use Configure > Network to enter its filepath"
msgstr "Non riesco a trovare il comando showmount. Usa Configura 4Pane > Rete per impostare il suo percorso"
#: Mounts.cpp:1329
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
"Non trovo il comando \"showmount\". Probabilmente NFS non è installato correttamente.\n"
"In alternativa potrebbe esserci un problema di permessi o di PATH"
#: Mounts.cpp:1368
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
"Non sono a conoscenza di alcun server NFS nella tua rete.\n"
"Vuoi continuare inserendone uno?"
#: Mounts.cpp:1369
msgid "No current mounts found"
msgstr "Nessun mount trovato"
#: MyDirs.cpp:114
msgid "You can't link within a directory unless you alter the link's name."
msgstr "Non puoi creare un collegamento in una directory se prima non cambi il nome al collegamento."
#: MyDirs.cpp:114
msgid "Not possible"
msgstr "Impossibile"
#: MyDirs.cpp:230
msgid "Back to previous directory"
msgstr "Torna alla cartella precedente"
#: MyDirs.cpp:233
msgid "Re-enter directory"
msgstr "Rientra nella cartella"
#: MyDirs.cpp:237
#: MyDirs.cpp:238
msgid "Select previously-visited directory"
msgstr "Seleziona una cartella già visitata"
#: MyDirs.cpp:243
msgid "Show Full Tree"
msgstr "Mostra Albero Completo"
#: MyDirs.cpp:244
msgid "Up to Higher Directory"
msgstr "Apre la cartella di livello superiore"
#: MyDirs.cpp:402
msgid "Hmm. It seems that directory no longer exists!"
msgstr "Hmm. Sembra che la directory non esista più!"
#: MyDirs.cpp:438
msgid " D H "
msgstr " D N "
#: MyDirs.cpp:438
msgid " D "
msgstr " D "
#: MyDirs.cpp:446
msgid "Dir: "
msgstr "Dir: "
#: MyDirs.cpp:447
msgid "Files, total size"
msgstr "Files, Dimensione:"
#: MyDirs.cpp:448
msgid "Subdirectories"
msgstr "Sotto directories"
#: MyDirs.cpp:474
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
"Temo tu non possa Creare dall'interno di un archivio.\n"
"Potresti invece creare un nuovo elemento all'esterno, quindi spostarlo all'interno."
#: MyDirs.cpp:475
#: MyFiles.cpp:481
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr "Temo che tu non abbia i permessi di scrittura in questa directory"
#: MyDirs.cpp:525
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr "&Nascondi files e cartelle nascosti"
#: MyDirs.cpp:525
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr "&Mostra files e cartelle nascosti"
#: MyDirs.cpp:601
#: MyDirs.cpp:606
#: MyDirs.cpp:710
msgid "moved"
msgstr "spostato"
#: MyDirs.cpp:633
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
"Temo che tu non abbia i permessi per compiere questo spostamento.\n"
"Vuoi tentare la copia in alternativa?"
#: MyDirs.cpp:639
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr "Temo che tu non abbia i permessi per questo spostamento"
#: MyDirs.cpp:772
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
"Temo tu non possa creare collegamenti all'interno di un archivio.\n"
"Comunque puoi crearlo all'esterno per poi inserirlo."
#: MyDirs.cpp:773
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr "Temo tu non abbia i permessi per creare collegamenti in questa directory"
#: MyDirs.cpp:789
#, c-format
msgid "Create a new %s Link from:"
msgstr "Crea nuovo collegamento %s da:"
#: MyDirs.cpp:789
msgid "Hard"
msgstr "Hard"
#: MyDirs.cpp:789
msgid "Soft"
msgstr "Soft"
#: MyDirs.cpp:821
msgid "Please provide an extension to append"
msgstr "Per favore, aggiungi una estensione da accodare"
#: MyDirs.cpp:827
msgid "Please provide a name to call the link"
msgstr "Per favore, immetti un nome per il collegamento"
#: MyDirs.cpp:831
msgid "Please provide a different name for the link"
msgstr "Per favore, immetti un altro nome per il collegamento"
#: MyDirs.cpp:868
msgid "linked"
msgstr "collegato"
#: MyDirs.cpp:877
msgid "cut"
msgstr "taglia"
#: MyDirs.cpp:878
msgid "trashed"
msgstr "cestinato"
#: MyDirs.cpp:878
msgid "deleted"
msgstr "eliminato"
#: MyDirs.cpp:891
#: MyDirs.cpp:1115
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr "Temo che tu non abbia i permessi per la eliminazione da questa directory"
#: MyDirs.cpp:905
#: MyDirs.cpp:1103
msgid "At least one of the items to be deleted seems not to exist"
msgstr "Almeno uno degli oggetti da cancellare risulta inesistente"
#: MyDirs.cpp:905
#: MyDirs.cpp:1103
msgid "The item to be deleted seems not to exist"
msgstr "Il file da cancellare risulta inesistente"
#: MyDirs.cpp:906
#: MyDirs.cpp:1104
msgid "Item not found"
msgstr "Oggetto non trovato"
#: MyDirs.cpp:918
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr "Temo tu non abbia i permessi per spostare questi oggetti."
#: MyDirs.cpp:918
#: MyDirs.cpp:926
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
"\n"
"Puoi comunque cancellarli permanentemente."
#: MyDirs.cpp:919
#: MyDirs.cpp:927
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr "Temo tu non abbia i permessi per spostare %s."
#: MyDirs.cpp:920
#: MyDirs.cpp:928
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
"\n"
"Puoi comunque cancellarlo permanentemente."
#: MyDirs.cpp:925
#, c-format
msgid "I'm afraid you don't have permission to move %u of these %u items to a 'can'."
msgstr "Temo tu non abbia i permessi per spostare %u su %u oggetti selezionati."
#: MyDirs.cpp:929
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
"\n"
"\n"
"Vuoi cancellare altri oggetti?"
#: MyDirs.cpp:942
msgid "Discard to Trash: "
msgstr "Eliminare nel Cestino: "
#: MyDirs.cpp:943
msgid "Delete: "
msgstr "Eliminare: "
#: MyDirs.cpp:951
#: MyDirs.cpp:1130
#, c-format
msgid "%zu items, from: "
msgstr "%zu oggetti, da: "
#: MyDirs.cpp:954
#: MyDirs.cpp:1133
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
"\n"
"\n"
" In:\n"
#: MyDirs.cpp:964
msgid "For some reason, trying to create a dir to receive the deletion failed. Sorry!"
msgstr "Spiacente, per qualche motivo la creazione di una dir per mantenere i files cancellati è fallita!"
#: MyDirs.cpp:969
#: MyDirs.cpp:1145
msgid "Sorry, Deletion failed"
msgstr "Spiacente, Eliminazione fallita"
#: MyDirs.cpp:1058
#: MyDirs.cpp:1205
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
" Non hai i permessi per cancellare da questa directory.\n"
"Puoi provare a cancellare un po per volta."
#: MyDirs.cpp:1059
#: MyDirs.cpp:1206
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
" Non hai i permessi di eliminazione da una sotto directory di quest'ultima.\n"
"Puoi provare a cancellare una parte per volta."
#: MyDirs.cpp:1060
#: MyDirs.cpp:1207
msgid " The filepath was invalid."
msgstr " Il percorso del file non è valido."
#: MyDirs.cpp:1063
#: MyDirs.cpp:1064
#: MyDirs.cpp:1065
#: MyDirs.cpp:1210
#: MyDirs.cpp:1211
#: MyDirs.cpp:1212
msgid "For "
msgstr "Per"
#: MyDirs.cpp:1063
#: MyDirs.cpp:1210
msgid " of the items, you don't have permission to Delete from this directory."
msgstr " degli oggetti, non hai i permessi di cancellazione da questa directory."
#: MyDirs.cpp:1064
#: MyDirs.cpp:1211
msgid " of the items, you don't have permission to Delete from a subdirectory of this directory."
msgstr " degli oggetti, non hai i permessi di cancellazione da una sottodirectory di questa directory."
#: MyDirs.cpp:1065
#: MyDirs.cpp:1212
msgid " of the items, the filepath was invalid."
msgstr " degli oggetti, percorso non valido."
#: MyDirs.cpp:1067
#: MyDirs.cpp:1214
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
" \n"
"Puoi provare a cancellare un po alla volta."
#: MyDirs.cpp:1070
#: MyDirs.cpp:1217
msgid "I'm afraid the item couldn't be deleted."
msgstr "Non riesco ad eliminare questo oggetto."
#: MyDirs.cpp:1071
#: MyDirs.cpp:1218
msgid "I'm afraid "
msgstr "Temo "
#: MyDirs.cpp:1071
#: MyDirs.cpp:1218
msgid " items could not be deleted."
msgstr " oggetti non possono essere eliminati."
#: MyDirs.cpp:1074
#: MyDirs.cpp:1221
msgid "I'm afraid only "
msgstr "Temo solamente "
#: MyDirs.cpp:1074
#: MyDirs.cpp:1221
msgid " of the "
msgstr " di "
#: MyDirs.cpp:1074
#: MyDirs.cpp:1221
msgid " items could be deleted."
msgstr " oggetti possono essere eliminati."
#: MyDirs.cpp:1079
msgid "Cut failed"
msgstr "Taglia fallito"
#: MyDirs.cpp:1079
#: MyDirs.cpp:1226
msgid "Deletion failed"
msgstr "Eliminazione fallita"
#: MyDirs.cpp:1137
msgid "Permanently delete (you can't undo this!): "
msgstr "Eliminare permanentemente (Non potrai ripristinarlo!):"
#: MyDirs.cpp:1138
msgid "Are you ABSOLUTELY sure?"
msgstr "Sei ASSOLUTAMENTE sicuro?"
#: MyDirs.cpp:1151
#: MyDirs.cpp:1228
msgid "irrevocably deleted"
msgstr "irrevocabilmente eliminato"
#: MyDirs.cpp:1248
#: MyDirs.cpp:1255
msgid "Deletion Failed!?!"
msgstr "Eliminazione Fallita!"
#: MyDirs.cpp:1252
msgid "? Never heard of it!"
msgstr "? Mai sentito!"
#: MyDirs.cpp:1274
msgid "Directory deletion Failed!?!"
msgstr "Eliminazione cartella fallita!"
#: MyDirs.cpp:1287
msgid "The File seems not to exist!?!"
msgstr "Il File sembra inesistente!"
#: MyDirs.cpp:1462
msgid "copied"
msgstr "copiato"
#: MyDirs.cpp:1543
#: MyDirs.cpp:1550
#: MyDirs.cpp:1616
msgid "Directory skeleton pasted"
msgstr "Struttura directory incollata"
#: MyDirs.cpp:1544
#: MyDirs.cpp:1551
#: MyDirs.cpp:1617
msgid "pasted"
msgstr "incollato"
#: MyFiles.cpp:301
msgid "Make a S&ymlink"
msgstr "Crea Sym&link"
#: MyFiles.cpp:301
msgid "Make a Hard-Lin&k"
msgstr "Crea &Hard-Link"
#: MyFiles.cpp:309
msgid "Extract from archive"
msgstr "Estrai dall'archivio"
#: MyFiles.cpp:310
msgid "De&lete from archive"
msgstr "&Elimina dall'archivio"
#: MyFiles.cpp:312
msgid "Rena&me Dir within archive"
msgstr "Rino&mina Cartella nell'archivio"
#: MyFiles.cpp:313
msgid "Duplicate Dir within archive"
msgstr "Duplica Cartella nell'archivio"
#: MyFiles.cpp:316
msgid "Rena&me File within archive"
msgstr "Rino&mina File nell'archivio"
#: MyFiles.cpp:317
msgid "Duplicate File within archive"
msgstr "Duplica File nell'archivio"
#: MyFiles.cpp:325
msgid "De&lete Dir"
msgstr "E&limina Cartella"
#: MyFiles.cpp:325
msgid "Send Dir to &Trashcan"
msgstr "Invia Cartella al Ces&tino"
#: MyFiles.cpp:326
msgid "De&lete Symlink"
msgstr "E&limina Symlink"
#: MyFiles.cpp:326
msgid "Send Symlink to &Trashcan"
msgstr "Invia Symlink al Ces&tino"
#: MyFiles.cpp:327
msgid "De&lete File"
msgstr "E&limina File"
#: MyFiles.cpp:327
msgid "Send File to &Trashcan"
msgstr "Invia File al Ces&tino"
#: MyFiles.cpp:349
#: MyFiles.cpp:363
#: MyFiles.cpp:938
msgid "Other . . ."
msgstr "Altro . . ."
#: MyFiles.cpp:350
msgid "Open using root privile&ges with . . . . "
msgstr "Apri con privile&gi superutente con . . . . "
#: MyFiles.cpp:353
msgid "Open using root privile&ges"
msgstr "Apri con privile&gi superutente"
#: MyFiles.cpp:364
#: MyFiles.cpp:367
msgid "Open &with . . . . "
msgstr "&Apri con . . . . "
#: MyFiles.cpp:375
msgid "Rena&me Dir"
msgstr "Rino&mina Cartella"
#: MyFiles.cpp:376
msgid "&Duplicate Dir"
msgstr "&Duplica Cartella"
#: MyFiles.cpp:379
msgid "Rena&me File"
msgstr "Rino&mina File"
#: MyFiles.cpp:380
msgid "&Duplicate File"
msgstr "&Duplica File"
#: MyFiles.cpp:396
msgid "Create a New Archive"
msgstr "Crea Nuovo Archivio"
#: MyFiles.cpp:397
msgid "Add to an Existing Archive"
msgstr "Aggiungi ad Archivio Esistente"
#: MyFiles.cpp:398
msgid "Test integrity of Archive or Compressed Files"
msgstr "Test integrità Archivio o Files Compressi"
#: MyFiles.cpp:399
msgid "Compress Files"
msgstr "Files Compressi"
#: MyFiles.cpp:405
msgid "&Hide hidden dirs and files"
msgstr "&Nascondi files e cartelle nascosti"
#: MyFiles.cpp:407
msgid "&Show hidden dirs and files"
msgstr "&Mostra files e cartelle nascosti"
#: MyFiles.cpp:421
#: MyTreeCtrl.cpp:858
msgid "An extension starts at the filename's..."
msgstr "L'estensione del file comincia da..."
#: MyFiles.cpp:427
#: MyTreeCtrl.cpp:863
msgid "Extension definition..."
msgstr "Definizione estensione..."
#: MyFiles.cpp:429
msgid "Columns to Display"
msgstr "Colonne da visualizzare"
#: MyFiles.cpp:433
msgid "Unsplit Panes"
msgstr "Unisci Riquadri"
#: MyFiles.cpp:433
msgid "Repl&icate in Opposite Pane"
msgstr "Repl&ica nel Riquadro Adiacente"
#: MyFiles.cpp:433
msgid "Swap the Panes"
msgstr "Scambia i Riquadri"
#: MyFiles.cpp:480
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
"Temo tu non possa creare oggetti all'interno di un archivio.\n"
"Comunque puoi crearne uno all'esterno per poi inserirlo."
#: MyFiles.cpp:511
msgid "New directory created"
msgstr "Nuova cartella creata"
#: MyFiles.cpp:511
msgid "New file created"
msgstr "Nuovo file creato"
#: MyFiles.cpp:556
#: MyFiles.cpp:693
msgid "I don't think you really want to duplicate root, do you"
msgstr "Non credo tu voglia realmente duplicare la root, giusto?"
#: MyFiles.cpp:557
#: MyFiles.cpp:694
msgid "I don't think you really want to rename root, do you"
msgstr "Non credo tu voglia realmente rinominare la root, giusto?"
#: MyFiles.cpp:573
#: MyFiles.cpp:681
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr "Temo tu non abbia i permessi per Duplicare in questa directory"
#: MyFiles.cpp:574
#: MyFiles.cpp:682
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr "Temo tu non abbia i permessi per Rinominare in questa directory"
#: MyFiles.cpp:587
msgid "Duplicate "
msgstr "Duplica"
#: MyFiles.cpp:588
msgid "Rename "
msgstr "Rinomina "
#: MyFiles.cpp:600
msgid "No, the idea is that you supply a NEW name"
msgstr "No, l'idea è quella di specificare un NUOVO nome"
#: MyFiles.cpp:620
#: MyFiles.cpp:646
#: MyFiles.cpp:715
#: MyFiles.cpp:771
msgid "duplicated"
msgstr "duplicato"
#: MyFiles.cpp:620
#: MyFiles.cpp:664
#: MyFiles.cpp:715
#: MyFiles.cpp:771
msgid "renamed"
msgstr "rinominato"
#: MyFiles.cpp:623
msgid "Sorry, that didn't work. Try again?"
msgstr "Spiacente, non funziona. Ritentare?"
#: MyFiles.cpp:777
#: MyFiles.cpp:816
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
"Spiacente, questo nome non accettabile.\n"
" Ritentare?"
#: MyFiles.cpp:789
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
"Spiacente, uno di questi esiste già .\n"
" Ritentare?"
#: MyFiles.cpp:802
#: MyFiles.cpp:854
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
"Spiacente, operazione fallita\n"
"Ritentare?"
#: MyFiles.cpp:828
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
"Spiacente, nome già esistente.\n"
" Ritentare?"
#: MyFiles.cpp:936
msgid "Open with "
msgstr "Apri con "
#: MyFiles.cpp:959
msgid " D F"
msgstr " D F"
#: MyFiles.cpp:960
msgid " R"
msgstr " R"
#: MyFiles.cpp:961
msgid " H "
msgstr " N "
#: MyFiles.cpp:993
msgid " of files and subdirectories"
msgstr " di files e sottodirectories"
#: MyFiles.cpp:993
msgid " of files"
msgstr " di files"
#: MyFiles.cpp:1503
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
"La nuova destinazione per il collegamento è inesistente.\n"
"Ritentare?"
#: MyFiles.cpp:1509
msgid "For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr "Spiacente, per qualche motivo, il cambiamento di destinazione del collegamento non è andato a buon fine."
#: MyFiles.cpp:1569
msgid " alterations successfully made, "
msgstr " alterazioni eseguite con successo, "
#: MyFiles.cpp:1569
msgid " failures"
msgstr " fallimenti"
#: MyFiles.cpp:1638
msgid "Choose a different file or dir to be the new target"
msgstr "Scegli file/directory differente per la nuova destinazione"
#: MyFrame.cpp:135
#: MyFrame.cpp:140
#: MyFrame.cpp:150
msgid "Warning!"
msgstr "Attenzione!"
#: MyFrame.cpp:261
msgid "Sorry, you don't have permission to write to the directory containing your chosen configuration-file; aborting."
msgstr "Spiacente, non hai i permessi per scrivere nella directory contenente il tuo file di impostazioni; operazione annullata."
#: MyFrame.cpp:515
msgid "Cannot initialize the help system; aborting."
msgstr "Non è possibile inizializzare il sistema di aiuto; azione annullata."
#: MyFrame.cpp:663
msgid "Undo several actions at once"
msgstr "Annulla diverse azioni alla volta"
#: MyFrame.cpp:664
msgid "Redo several actions at once"
msgstr "Ripeti diverse azioni alla volta"
#: MyFrame.cpp:666
msgid "Cut"
msgstr "Taglia"
#: MyFrame.cpp:666
msgid "Click to Cut Selection"
msgstr "Clicca per tagliare la selezione"
#: MyFrame.cpp:667
msgid "Copy"
msgstr "Copia"
#: MyFrame.cpp:667
msgid "Click to Copy Selection"
msgstr "Clicca per copiare la selezione"
#: MyFrame.cpp:668
msgid "Click to Paste Selection"
msgstr "Clicca per incollare la selezione"
#: MyFrame.cpp:672
msgid "UnDo"
msgstr "Annulla"
#: MyFrame.cpp:672
msgid "Undo an action"
msgstr "Annulla una azione"
#: MyFrame.cpp:674
msgid "ReDo"
msgstr "Ripeti"
#: MyFrame.cpp:674
msgid "Redo a previously-Undone action"
msgstr "Ripeti una precedente azione annullata"
#: MyFrame.cpp:678
msgid "New Tab"
msgstr "Nuova Scheda"
#: MyFrame.cpp:678
msgid "Create a new Tab"
msgstr "Crea una nuova Scheda"
#: MyFrame.cpp:679
msgid "Delete Tab"
msgstr "Elimina Scheda"
#: MyFrame.cpp:679
msgid "Deletes the currently-selected Tab"
msgstr "Elimina la Scheda selezionata"
#: MyFrame.cpp:946
#: dialogs.xrc:86
msgid "About"
msgstr "Informazioni"
#: MyFrame.cpp:1719
#: MyGenericDirCtrl.cpp:803
#: MyGenericDirCtrl.cpp:821
#: MyGenericDirCtrl.cpp:832
msgid "Error"
msgstr "Errore"
#: MyFrame.cpp:1723
#: MyNotebook.cpp:208
#: MyNotebook.cpp:243
#: MyNotebook.cpp:256
#: Tools.cpp:2850
msgid "Success"
msgstr "Successo"
#: MyGenericDirCtrl.cpp:619
msgid "Computer"
msgstr "Computer"
#: MyGenericDirCtrl.cpp:621
msgid "Sections"
msgstr "Sezioni"
#: MyGenericDirCtrl.cpp:803
msgid "Illegal directory name."
msgstr "Nome cartella non valido."
#: MyGenericDirCtrl.cpp:821
msgid "File name exists already."
msgstr "Nome file già esistente."
#: MyGenericDirCtrl.cpp:832
msgid "Operation not permitted."
msgstr "Operazione non permessa."
#: MyNotebook.cpp:167
msgid "Which Template do you wish to Delete?"
msgstr "Quale Modello vuoi eliminare?"
#: MyNotebook.cpp:167
msgid "Delete Template"
msgstr "Elimina Modello"
#: MyNotebook.cpp:240
msgid "Template Save cancelled"
msgstr "Salvataggio Modello annullato"
#: MyNotebook.cpp:240
#: MyNotebook.cpp:250
msgid "Cancelled"
msgstr "Annullato"
#: MyNotebook.cpp:249
msgid "What would you like to call this template?"
msgstr "Come vuoi chiamare questo Modello?"
#: MyNotebook.cpp:249
msgid "Choose a template label"
msgstr "Scegli una etichetta per il Modello"
#: MyNotebook.cpp:250
msgid "Save Template cancelled"
msgstr "Salva Modello annullato"
#: MyNotebook.cpp:299
#: MyNotebook.cpp:358
msgid "Sorry, the maximum number of tabs are already open."
msgstr "Spiacente, raggiunto il limite massimo di schede aperte."
#: MyNotebook.cpp:361
msgid " again"
msgstr " copia"
#: MyNotebook.cpp:416
msgid "&Append Tab"
msgstr "Aggiungi Scheda"
#: MyNotebook.cpp:432
msgid "What would you like to call this tab?"
msgstr "Come vuoi chiamare questa Scheda?"
#: MyNotebook.cpp:432
msgid "Change tab title"
msgstr "Cambia titolo alla scheda"
#: MyTreeCtrl.cpp:714
msgid "Invalid column index"
msgstr "Indice colonna non valido"
#: MyTreeCtrl.cpp:728
#: MyTreeCtrl.cpp:742
msgid "Invalid column"
msgstr "Colonna non valida"
#: MyTreeCtrl.cpp:1500
msgid " *** Broken symlink ***"
msgstr " *** Collegamento simbolico interrotto ***"
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr "Decompressione stream lzma fallita"
#: Otherstreams.cpp:214
#: Otherstreams.cpp:255
msgid "xz compression failure"
msgstr "Decompressione xz fallita"
#: Redo.cpp:178
msgid "Oops, we're trying to open a new cluster when one is already open!?"
msgstr "Attenzione, si sta tentando di aprire un nuovo cluster ed uno è già aperto!"
#: Redo.cpp:188
msgid "Oops, we're trying to close a cluster when none is open!?"
msgstr "Attenzione, si sta tentando di chiudere un cluster con nessuno aperto!"
#: Redo.cpp:221
msgid "Oops, we're trying to add to a cluster when none is open!?"
msgstr "Attenzione, si sta tentando di aggiungere a un cluster con nessuno aperto!"
#: Redo.cpp:252
msgid " Redo: "
msgstr " Ripeti: "
#: Redo.cpp:252
msgid " Undo: "
msgstr " Annulla: "
#: Redo.cpp:270
#, c-format
msgid " (%zu Items) "
msgstr " (%zu oggetti) "
#: Redo.cpp:291
#: Redo.cpp:375
msgid " ---- MORE ---- "
msgstr " ---- SEGUE ---- "
#: Redo.cpp:291
#: Redo.cpp:375
msgid " -- PREVIOUS -- "
msgstr " -- PRECEDENTE -- "
#: Redo.cpp:354
msgid "Undo FAILED"
msgstr "Annulla FALLITO"
#: Redo.cpp:365
msgid "undone"
msgstr "incompiuto"
#: Redo.cpp:440
msgid "Redo FAILED"
msgstr "Ripeti FALLITO"
#: Redo.cpp:450
msgid "redone"
msgstr "rifatto"
#: Redo.cpp:516
#: Redo.cpp:538
#: Redo.cpp:571
#: Redo.cpp:586
#: Redo.cpp:600
#: Redo.cpp:615
#: Redo.cpp:628
#: Redo.cpp:641
#: Redo.cpp:655
#: Redo.cpp:669
#: Redo.cpp:689
#: Redo.cpp:704
#: Redo.cpp:722
#: Redo.cpp:741
#: Redo.cpp:764
#: Redo.cpp:787
#: Redo.cpp:814
#: Redo.cpp:840
#: Redo.cpp:877
#: Redo.cpp:901
#: Redo.cpp:913
#: Redo.cpp:926
#: Redo.cpp:939
#: Redo.cpp:952
#: Redo.cpp:983
#: Redo.cpp:1018
msgid "action"
msgstr "azione"
#: Redo.cpp:516
#: Redo.cpp:571
#: Redo.cpp:600
#: Redo.cpp:628
#: Redo.cpp:655
#: Redo.cpp:689
#: Redo.cpp:722
#: Redo.cpp:764
#: Redo.cpp:814
#: Redo.cpp:877
#: Redo.cpp:913
#: Redo.cpp:939
#: Redo.cpp:983
msgid " undone"
msgstr " incompiuto"
#: Redo.cpp:538
#: Redo.cpp:586
#: Redo.cpp:615
#: Redo.cpp:641
#: Redo.cpp:669
#: Redo.cpp:704
#: Redo.cpp:741
#: Redo.cpp:787
#: Redo.cpp:840
#: Redo.cpp:901
#: Redo.cpp:926
#: Redo.cpp:952
#: Redo.cpp:1018
msgid " redone"
msgstr " rifatto"
#: Redo.cpp:1081
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
"Spiacente, non puoi creare la sottodirectory Trashed che hai selezionato. Probabilmente per un problema di permessi.\n"
"Ti suggerisco di usare Configura 4Pane per scegliere un'altra destinazione."
#: Redo.cpp:1090
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
"Spiacente, non è possibile creare la sotto cartella per i files eliminati. Probabilmente causa problemi di permessi.\n"
"Ti consiglio di usare Configura 4Pane e scegliere un'altra destinazione."
#: Redo.cpp:1099
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
"Spiacente, non è possibile creare la sotto cartella per i files temporanei. Probabilmente causa problemi di permessi.\n"
"Ti consiglio di usare Configura 4Pane e scegliere un'altra destinazione."
#: Redo.cpp:1109
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
"Svuotando il Cestino di 4Pane eliminerà permanentemente tutti i files salvati al suo interno!\n"
"\n"
" Continuare?"
#: Redo.cpp:1116
msgid "Trashcan emptied"
msgstr "Cestino svuotato"
#: Redo.cpp:1120
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
"Lo svuotamento del cestino di 4Pane avviene automaticamente alla chiusura di 4Pane\n"
"Farlo prematuramente eliminerà definitivamente tutti i files in esso contenuti. Tutti i dati di Annulla-Ripeti andranno perduti!\n"
"\n"
" Continuare?"
#: Redo.cpp:1129
msgid "Stored files permanently deleted"
msgstr "File memorizzati cancellati definitivamente"
#: Tools.cpp:40
msgid "There is already a file with this name in the destination path. Sorry"
msgstr "Un file con lo stesso nome è già presente nel percorso di destinazione. Spiacente"
#: Tools.cpp:44
msgid "I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr "Temo tu non abbia abbastanza permessi per scrivere nella directory di destinazione. Spiacente"
#: Tools.cpp:49
msgid "You cannot make a hardlink to a directory."
msgstr "Non puoi creare un hardlink a una directory."
#: Tools.cpp:50
msgid "You cannot make a hardlink to a different device or partition."
msgstr "Non puoi creare un hardlink a un altro dispositivo o partizione."
#: Tools.cpp:52
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
"\n"
"Vuoi invece creare un collegamento simbolico?"
#: Tools.cpp:52
msgid "No can do"
msgstr "Non si può"
#: Tools.cpp:169
msgid "Sorry, no match found."
msgstr "Spiacente, non trovo alcuna corrispondenza."
#: Tools.cpp:171
msgid " Have a nice day!\n"
msgstr " Buona giornata!\n"
#: Tools.cpp:292
#: Tools.cpp:442
#: Tools.cpp:448
#: Tools.cpp:593
msgid "Show"
msgstr "Mostra"
#: Tools.cpp:292
#: Tools.cpp:442
#: Tools.cpp:448
#: Tools.cpp:593
msgid "Hide"
msgstr "Nascondi"
#: Tools.cpp:1127
msgid ""
"You haven't added this page's choices to the Find command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
"Non hai aggiunto le opzioni di questa pagina al comando di ricerca. Se la pagina cambia, verranno ignorate.\n"
"Ignoro queste opzioni?"
#: Tools.cpp:1634
msgid ""
"You haven't added this page's choices to the Grep command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
"Non hai aggiunto le opzioni di questa pagina al comando di Grep. Se la pagina cambia, verranno ignorate.\n"
"Ignoro queste opzioni?"
#: Tools.cpp:2222
msgid "GoTo selected filepath"
msgstr "Vai al percorso selezionato"
#: Tools.cpp:2223
msgid "Open selected file"
msgstr "Apri il file selezionato"
#: Tools.cpp:2444
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr "Spiacente, non è possibile richiamare il super-utente con questo metodo nel contesto attuale.\n"
#: Tools.cpp:2445
msgid "You need to start each command with 'sudo'"
msgstr "Devi eseguire ogni comando usando 'sudo'"
#: Tools.cpp:2446
msgid "You can instead do: su -c \"\""
msgstr "Altrimenti puoi usare: su -c \"\""
#: Tools.cpp:2655
msgid " items "
msgstr " oggetti"
#: Tools.cpp:2655
msgid " item "
msgstr " oggetto "
#: Tools.cpp:2686
#: Tools.cpp:2970
msgid "Repeat: "
msgstr "Ripeti: "
#: Tools.cpp:2832
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
"Spiacente, non c'è più spazio per un altro comando qui\n"
"Ti suggerisco di inserirlo in un sotto menù differente"
#: Tools.cpp:2850
msgid "Command added"
msgstr "Comando aggiunto"
#: Tools.cpp:3040
msgid "first"
msgstr "primo"
#: Tools.cpp:3040
msgid "other"
msgstr "altro"
#: Tools.cpp:3040
msgid "next"
msgstr "successivo"
#: Tools.cpp:3040
msgid "last"
msgstr "ultimo"
#: Tools.cpp:3056
#, c-format
msgid "Malformed user-defined command: using the modifier '%c' with 'b' doesn't make sense. Aborting"
msgstr "Comando definito dall'utente malformato: non ha senso usare contemporaneamente i modificatori '%c' e 'b'. Azione annullata"
#: Tools.cpp:3060
msgid "Malformed user-defined command: you can use only one modifier per parameter. Aborting"
msgstr "Comando definito dall'utente malformato: puoi usare un solo modificatore per parametro. Azione annullata"
#: Tools.cpp:3064
#, c-format
msgid "Malformed user-defined command: the modifier '%c' must be followed by 's','f','d' or'a'. Aborting"
msgstr "Comando definito dall'utente malformato: il modificatore '%c' dev'essere seguito da 's','f','d' oppure 'a'. Azione annullata"
#: Tools.cpp:3110
msgid "Please type in the"
msgstr "Inserisci nel"
#: Tools.cpp:3115
msgid "parameter"
msgstr "parametro"
#: Tools.cpp:3128
msgid "ran successfully"
msgstr "eseguito con successo"
#: Tools.cpp:3131
msgid "User-defined tool"
msgstr "Strumento personalizzato"
#: Tools.cpp:3132
msgid "returned with exit code"
msgstr "ritornato col codice di uscita"
#: Devices.h:416
msgid "Browse for new Icons"
msgstr "Sfoglia per nuove Icone"
#: Misc.h:50
msgid "File and Dir Select Dialog"
msgstr "Finestra di selezione Files e Directory"
#: Redo.h:110
#: Redo.h:302
#: configuredialogs.xrc:2460
#: dialogs.xrc:2591
msgid "Delete"
msgstr "Elimina"
#: Redo.h:126
msgid "Paste dirs"
msgstr "Incolla dirs"
#: Redo.h:158
msgid "Change Link Target"
msgstr "Cambia Collegamento Destinazione"
#: Redo.h:175
msgid "ChangeAttributes"
msgstr "Cambia Attributi"
#: Redo.h:194
msgid "New Directory"
msgstr "Nuova Directory"
#: Redo.h:194
msgid "New File"
msgstr "Nuovo File"
#: Redo.h:210
msgid "Duplicate Directory"
msgstr "Duplica Directory"
#: Redo.h:210
msgid "Duplicate File"
msgstr "Duplica File"
#: Redo.h:229
msgid "Rename Directory"
msgstr "Rinomina Directory"
#: Redo.h:229
msgid "Rename File"
msgstr "Rinomina File"
#: Redo.h:249
msgid "Duplicate"
msgstr "Duplica"
#: Redo.h:249
#: dialogs.xrc:290
#: dialogs.xrc:1048
msgid "Rename"
msgstr "Rinomina"
#: Redo.h:269
msgid "Extract"
msgstr "Estrai"
#: Redo.h:285
msgid " dirs"
msgstr " dirs"
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr "Inserisci Ritardo Messaggio a comparsa"
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr "Imposta il ritardo del Messaggio a comparsa, in secondi"
#: configuredialogs.xrc:63
msgid "Turn off Tooltips"
msgstr "Disabilita Messaggi a comparsa"
#: configuredialogs.xrc:89
#: configuredialogs.xrc:446
#: configuredialogs.xrc:672
#: configuredialogs.xrc:861
#: configuredialogs.xrc:1029
#: configuredialogs.xrc:1552
#: configuredialogs.xrc:1686
#: configuredialogs.xrc:1861
#: configuredialogs.xrc:2200
#: configuredialogs.xrc:2377
#: configuredialogs.xrc:2563
#: configuredialogs.xrc:2699
#: configuredialogs.xrc:2868
#: configuredialogs.xrc:3098
#: configuredialogs.xrc:3209
#: configuredialogs.xrc:3472
#: configuredialogs.xrc:3680
#: configuredialogs.xrc:3829
#: configuredialogs.xrc:3930
#: configuredialogs.xrc:4066
#: configuredialogs.xrc:4210
#: configuredialogs.xrc:4405
#: configuredialogs.xrc:4576
#: configuredialogs.xrc:4844
#: configuredialogs.xrc:5069
#: configuredialogs.xrc:5229
#: configuredialogs.xrc:5413
#: configuredialogs.xrc:5596
#: configuredialogs.xrc:5738
#: configuredialogs.xrc:5883
#: configuredialogs.xrc:6041
#: configuredialogs.xrc:6197
#: configuredialogs.xrc:6434
#: configuredialogs.xrc:6556
#: configuredialogs.xrc:6645
#: configuredialogs.xrc:6799
#: configuredialogs.xrc:6960
#: configuredialogs.xrc:7277
#: configuredialogs.xrc:7499
#: configuredialogs.xrc:7627
#: dialogs.xrc:345
#: dialogs.xrc:2026
#: dialogs.xrc:2121
#: dialogs.xrc:2187
#: dialogs.xrc:2358
#: dialogs.xrc:2494
#: dialogs.xrc:2644
#: dialogs.xrc:2912
#: dialogs.xrc:3255
#: dialogs.xrc:3360
#: dialogs.xrc:3566
#: dialogs.xrc:4095
#: dialogs.xrc:4206
#: dialogs.xrc:4220
#: moredialogs.xrc:113
#: moredialogs.xrc:2471
#: moredialogs.xrc:3780
#: moredialogs.xrc:4256
#: moredialogs.xrc:4579
#: moredialogs.xrc:4845
#: moredialogs.xrc:5071
#: moredialogs.xrc:5312
#: moredialogs.xrc:5482
#: moredialogs.xrc:5609
#: moredialogs.xrc:6101
#: moredialogs.xrc:6501
#: moredialogs.xrc:6790
#: moredialogs.xrc:7239
#: moredialogs.xrc:7647
#: moredialogs.xrc:7951
#: moredialogs.xrc:8398
#: moredialogs.xrc:8814
#: moredialogs.xrc:9122
#: moredialogs.xrc:9348
#: moredialogs.xrc:9639
#: moredialogs.xrc:9921
#: moredialogs.xrc:10058
#: moredialogs.xrc:10295
#: moredialogs.xrc:10639
#: moredialogs.xrc:10767
#: moredialogs.xrc:11188
#: moredialogs.xrc:11368
#: moredialogs.xrc:11531
#: moredialogs.xrc:11863
msgid "Click when finished"
msgstr "Clicca al termine"
#: configuredialogs.xrc:104
#: configuredialogs.xrc:461
#: configuredialogs.xrc:687
#: configuredialogs.xrc:876
#: configuredialogs.xrc:1044
#: configuredialogs.xrc:1566
#: configuredialogs.xrc:1700
#: configuredialogs.xrc:1875
#: configuredialogs.xrc:2214
#: configuredialogs.xrc:2391
#: configuredialogs.xrc:2577
#: configuredialogs.xrc:2713
#: configuredialogs.xrc:2882
#: configuredialogs.xrc:3112
#: configuredialogs.xrc:3223
#: configuredialogs.xrc:3485
#: configuredialogs.xrc:3693
#: configuredialogs.xrc:3842
#: configuredialogs.xrc:3944
#: configuredialogs.xrc:4080
#: configuredialogs.xrc:4224
#: configuredialogs.xrc:4419
#: configuredialogs.xrc:4596
#: configuredialogs.xrc:4858
#: configuredialogs.xrc:5082
#: configuredialogs.xrc:5242
#: configuredialogs.xrc:5427
#: configuredialogs.xrc:5610
#: configuredialogs.xrc:5752
#: configuredialogs.xrc:5897
#: configuredialogs.xrc:6055
#: configuredialogs.xrc:6449
#: configuredialogs.xrc:6571
#: configuredialogs.xrc:6660
#: configuredialogs.xrc:6975
#: configuredialogs.xrc:7292
#: configuredialogs.xrc:7514
#: configuredialogs.xrc:7637
#: dialogs.xrc:360
#: dialogs.xrc:505
#: dialogs.xrc:709
#: dialogs.xrc:788
#: dialogs.xrc:923
#: dialogs.xrc:989
#: dialogs.xrc:1059
#: dialogs.xrc:1205
#: dialogs.xrc:1410
#: dialogs.xrc:1555
#: dialogs.xrc:1760
#: dialogs.xrc:2040
#: dialogs.xrc:2055
#: dialogs.xrc:2136
#: dialogs.xrc:2202
#: dialogs.xrc:2373
#: dialogs.xrc:2509
#: dialogs.xrc:2660
#: dialogs.xrc:2927
#: dialogs.xrc:3270
#: dialogs.xrc:3375
#: dialogs.xrc:3467
#: dialogs.xrc:3581
#: dialogs.xrc:4109
#: dialogs.xrc:4235
#: moredialogs.xrc:128
#: moredialogs.xrc:2484
#: moredialogs.xrc:3793
#: moredialogs.xrc:3859
#: moredialogs.xrc:4270
#: moredialogs.xrc:4592
#: moredialogs.xrc:4860
#: moredialogs.xrc:5087
#: moredialogs.xrc:5327
#: moredialogs.xrc:5497
#: moredialogs.xrc:5624
#: moredialogs.xrc:5710
#: moredialogs.xrc:5791
#: moredialogs.xrc:6111
#: moredialogs.xrc:6511
#: moredialogs.xrc:6800
#: moredialogs.xrc:7254
#: moredialogs.xrc:7662
#: moredialogs.xrc:7966
#: moredialogs.xrc:8413
#: moredialogs.xrc:8829
#: moredialogs.xrc:9137
#: moredialogs.xrc:9363
#: moredialogs.xrc:9654
#: moredialogs.xrc:9936
#: moredialogs.xrc:10073
#: moredialogs.xrc:10311
#: moredialogs.xrc:10649
#: moredialogs.xrc:10782
#: moredialogs.xrc:11198
#: moredialogs.xrc:11383
#: moredialogs.xrc:11544
#: moredialogs.xrc:11877
msgid "Click to abort"
msgstr "Clicca per annullare"
#: configuredialogs.xrc:120
msgid "New device detected"
msgstr "Nuova periferica rilevata"
#: configuredialogs.xrc:142
msgid "A device has been attached that I've not yet met."
msgstr "E' stato inserito un dispositivo a me sconosciuto."
#: configuredialogs.xrc:149
msgid "Would you like to configure it?"
msgstr "Vuoi configurarlo?"
#: configuredialogs.xrc:169
msgid " Yes "
msgstr " Si "
#: configuredialogs.xrc:182
msgid " Not now "
msgstr " Non ora "
#: configuredialogs.xrc:184
msgid "Don't configure it right now, but ask again each time it appears"
msgstr "Non impostarlo ora, chiedi in seguito"
#: configuredialogs.xrc:196
msgid " Never "
msgstr " Mai "
#: configuredialogs.xrc:199
msgid "\"I don't want to be nagged about this device\". If you change your mind, it can be configured from Configure."
msgstr "\"Non assillarmi riguardo questo dispositivo\". Se cambi idea, puoi impostarlo da Configura 4Pane."
#: configuredialogs.xrc:216
#: configuredialogs.xrc:477
#: configuredialogs.xrc:703
msgid "Configure new device"
msgstr "Configura nuovo dispositivo"
#: configuredialogs.xrc:258
msgid "Devicenode"
msgstr "Devicenode"
#: configuredialogs.xrc:295
msgid "Mount-point for the device"
msgstr "Mount-point del dispositivo"
#: configuredialogs.xrc:331
#: dialogs.xrc:2266
msgid "What would you like to call it?"
msgstr "Come vuoi chiamarlo?"
#: configuredialogs.xrc:367
#: configuredialogs.xrc:593
#: configuredialogs.xrc:782
msgid "Device type"
msgstr "Tipo dispositivo"
#: configuredialogs.xrc:408
#: configuredialogs.xrc:634
#: configuredialogs.xrc:823
msgid "Device is read-only"
msgstr "Dispositivo a sola lettura"
#: configuredialogs.xrc:416
#: configuredialogs.xrc:642
#: configuredialogs.xrc:831
msgid "Neither prompt about the device nor load it"
msgstr "Non avvisare per un dispositivo e non caricarlo"
#: configuredialogs.xrc:418
#: configuredialogs.xrc:644
#: configuredialogs.xrc:833
msgid "Ignore this device "
msgstr "Ignora questo dispositivo"
#: configuredialogs.xrc:519
msgid "Manufacturer's name"
msgstr "Nome del fabbricante"
#: configuredialogs.xrc:536
#: configuredialogs.xrc:574
msgid "This is the name (or, if none, the ID) supplied by the device. You can change it to something more memorable if you wish"
msgstr "Questo è il nome (oppure ID) della periferica. Puoi modificarlo con qualcosa di più semplice da ricordare se vuoi"
#: configuredialogs.xrc:557
msgid "Model name"
msgstr "Nome modello"
#: configuredialogs.xrc:745
msgid "Mount-point for this device"
msgstr "Mount-point per questo dispositivo"
#: configuredialogs.xrc:762
msgid "What is the name of the directory onto which this device is auto-mounted? It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr "Qual'è il nome della directory nella quale viene montato automaticamente questo dispositivo? Probabilmente qualcosa di simile a /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
#: configuredialogs.xrc:892
msgid "Configure new device type"
msgstr "Configura il tipo del nuovo dispositivo"
#: configuredialogs.xrc:933
msgid "Label to give this device"
msgstr "Etichetta per questo dispositivo"
#: configuredialogs.xrc:950
msgid "If this is an unusual type of device that's not on the standard list, type the name that best describes it"
msgstr "Se questo è un tipo di periferica inusuale non incluso nella lista standard, inserisci un nome che lo descriva al meglio"
#: configuredialogs.xrc:970
msgid "Which is the best-matching description?"
msgstr "Qual'è la miglior descrizione corrispondente?"
#: configuredialogs.xrc:987
msgid "Select the nearest equivalent to the new type. This determines which icon appears on the toolbar"
msgstr "Seleziona un equivalente più prossimo al nuovo tipo. Questo determinerà quale icona verrà utilizzata nella toolbar"
#: configuredialogs.xrc:1062
msgid "Configure 4Pane"
msgstr "Configura 4Pane"
#: configuredialogs.xrc:1090
#: configuredialogs.xrc:6195
#: configuredialogs.xrc:6797
msgid "Finished"
msgstr "Ok"
#: configuredialogs.xrc:1092
msgid "Click when finished configuring"
msgstr "Clicca a fine impostazioni"
#: configuredialogs.xrc:1117
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
"I comandi definiti dall'utente sono programmi esterni che puoi\n"
"richiamare da 4Pane. Possono essere strumenti come 'df' o qualsiasi altro\n"
"programma avviabile oppure uno script eseguibile.\n"
"Es.: 'gedit %f' apre il file selezionato in gedit."
#: configuredialogs.xrc:1125
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
"I seguenti sono i parametri disponibili:\n"
"%s passa il file selezionato, o directory, all'applicazione\n"
"%f (%d) specifica esclusivamente il file (directory) selezionato\n"
"%a passa tutti gli oggetti selezionati nei riquadri attivi\n"
"%b passa una selezione da entrambi le viste files dei riquadri\n"
"%p visualizza il prompt per la richiesta di un parametro da passare all'applicazione\n"
"\n"
"Per eseguire un comando come superutente, usare come prefisso gksu oppure sudo."
#: configuredialogs.xrc:1133
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr "Nelle seguenti sotto pagine puoi Aggiungere, Modificare oppure Eliminare strumenti."
#: configuredialogs.xrc:1162
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
"Questa sezione è dedicata ai dispositivi.\n"
"Questi possono essere sia fissi come lettori DVDRW o removibili come penne USB.\n"
"\n"
"4Pane è in grado di rilevarli e configurarli automaticamente.\n"
"Nel caso di mancato riconoscimento o di impostazioni personalizzate,\n"
"puoi agire tramite le seguenti sotto pagine."
#: configuredialogs.xrc:1191
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
"Qui è dove puoi tentare di rendere funzionale il sistema\n"
"se qualcosa fallisce a causa di un sistema obsoleto\n"
"oppure molto recente.\n"
"\n"
"Probabilmente non hai necessità dell'utilizzo di questa sezione\n"
"altrimenti leggi i suggerimenti a comparsa."
#: configuredialogs.xrc:1220
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
"Questa sezione imposta l'apparenza di 4Pane.\n"
"\n"
"La prima sotto pagina è dedicata agli alberi di files e directories,\n"
"la seconda per i caratteri e la terza per impostazioni generiche."
#: configuredialogs.xrc:1249
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
"Queste due sotto pagine sono dedicate ai terminali.\n"
"La prima per quelli reali, l'altra per l'emulatore terminale."
#: configuredialogs.xrc:1278
msgid "Finally, four pages of miscellany."
msgstr "In fine, quattro pagine per impostazioni generiche."
#: configuredialogs.xrc:1307
msgid "These items deal with the directory and file trees"
msgstr "Queste opzioni riguardano gli alberi di files e directories"
#: configuredialogs.xrc:1324
msgid "Pixels between the parent"
msgstr "Pixels tra cartella superiore"
#: configuredialogs.xrc:1331
msgid "dir and the Expand box"
msgstr "e nodo di espansione"
#: configuredialogs.xrc:1339
msgid "There is an 'expand box' (in gtk2 actually a triangle) between the parent directory and the filename. This spincontrol sets the number of pixels between the parent directory and the triangle."
msgstr "Il nodo di espansione (in gtk2 viene rappresentato da un triangolino) si trova tra la cartelle superiore e il nome del file. Questo spincontrol imposta il numero di pixels tra la cartella e il triangolo."
#: configuredialogs.xrc:1361
msgid "Pixels between the"
msgstr "Pixels tra"
#: configuredialogs.xrc:1368
msgid "Expand box and name"
msgstr "nodo di espansione e nome"
#: configuredialogs.xrc:1376
msgid "There is an 'expand box' (in gtk2 actually a triangle) between the parent directory and the filename. This spincontrol sets the number of pixels between the triangle and the filename"
msgstr "Il nodo di espansione (in gtk2 viene rappresentato da un triangolino) si trova tra la cartelle superiore e il nome del file. Questo spincontrol imposta il numero di pixels tra triangolo e nome del file"
#: configuredialogs.xrc:1394
msgid "Show hidden files and dirs in the panes of a newly-created tab view. You can change this for individual panes from the context menu, or Ctrl-H"
msgstr "Mostra files e cartelle nascoste nei riquadri in una nuova vista a schede. Puoi cambiare questa visualizzazione per ogni riquadro dal menù contestuale oppure con Ctrl+H"
#: configuredialogs.xrc:1396
msgid " By default, show hidden files and directories"
msgstr " Mostra files e cartelle nascosti come predefinito"
#: configuredialogs.xrc:1403
msgid "If ticked, displayed files/dirs are sorted in a way appropriate for the language to which your locale is set. However, this may result in hidden files (when displayed) not being shown separately"
msgstr "Se selezionato, i files/cartelle visualizzati saranno disposti in modo appropriato in base alla lingua in uso nel sistema. Tuttavia, potrebbe disporre i files nascosti (se visualizzati) non separatamente"
#: configuredialogs.xrc:1405
msgid " Sort files in a locale-aware way"
msgstr " Ordina i files in base alla localizzazione"
#: configuredialogs.xrc:1412
msgid "Show a symlink-to-a-directory with the ordinary directories in the file-view, not beneath with the files"
msgstr "Mostra il collegamento a cartella assieme alle cartelle normali nella vista files, non sotto i files"
#: configuredialogs.xrc:1414
msgid " Treat a symlink-to-directory as a normal directory"
msgstr " Tratta un symlink come una directory normale"
#: configuredialogs.xrc:1421
msgid "Do you want visible lines between each directory and its subdirectories? Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No' in some versions of gtk2"
msgstr "Vuoi visualizzare delle linee tra ogni cartella e sotto cartella? Scegli come preferisci, lo stile predefinito è 'Si' in GTK1 e 'No' in alcune versioni di GTK2"
#: configuredialogs.xrc:1423
msgid " Show lines in the directory tree"
msgstr " Mostra linee nell'albero delle directories"
#: configuredialogs.xrc:1438
msgid "Choose colours to use as a pane's background. You can have different colours for dir-views and file-views"
msgstr "Scegli i colori da usare come sfondo per il riquadro. Hai diversi colori come scelta per la vista file e per le directory"
#: configuredialogs.xrc:1440
msgid " Colour the background of a pane"
msgstr " Colore di sfondo di un riquadro"
#: configuredialogs.xrc:1452
#: configuredialogs.xrc:1483
#: configuredialogs.xrc:3959
#: configuredialogs.xrc:4095
msgid "Select Colours"
msgstr "Seleziona Colori"
#: configuredialogs.xrc:1454
msgid "Click to select the background colours to use"
msgstr "Clicca per scegliere il colore di sfondo da utilizzare"
#: configuredialogs.xrc:1469
msgid "In a fileview, give alternate lines different background colours, resulting in a striped appearance"
msgstr "In una vista files, crea delle linee colorate alternate, risultando un effetto striato"
#: configuredialogs.xrc:1471
msgid " Colour alternate lines in a fileview"
msgstr " Colora alternativamente le linee nella vista files"
#: configuredialogs.xrc:1485
msgid "Click to select the colours in which to paint alternate lines"
msgstr "Clicca per selezionarte i colori da utilizzare nelle righe alternate"
#: configuredialogs.xrc:1499
msgid "Slightly highlight the column header of a file-view, or above the toolbar of a dir-view, to flag which pane currently has focus. Click the 'Configure' button to alter the amount of highlighting"
msgstr "Evidenzia leggermente l'intestazione di colonna in una vista files, o sopra la barra degli strumenti di una vista cartelle, per mostrare qual'è il riquadro attivo. Clicca il pulsante 'Configura' per cambiare l'intensità di evidenziazione"
#: configuredialogs.xrc:1501
msgid " Highlight the focused pane"
msgstr " Evidenzia riquadro attivo"
#: configuredialogs.xrc:1512
msgid " Configure "
msgstr " Configura "
#: configuredialogs.xrc:1514
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr "Clicca per alterare l'intensità di evidenziazione per ogni tipo di riquadro"
#: configuredialogs.xrc:1524
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
"Nelle versioni antecedenti la 1.1, 4Pane aggiornava lo stato dei file/directory modificati dal programma stesso ma non dall'esterno.\n"
"Ora con l'utilizzo di inotify, 4Pane informa le modifiche effettuate in entrambi i casi. Deseleziona la casella se preferisci il metodo precedente."
#: configuredialogs.xrc:1526
msgid " Use inotify to watch the filesystem"
msgstr " Usa inotify per monitorare il filesystem"
#: configuredialogs.xrc:1550
#: configuredialogs.xrc:1684
#: configuredialogs.xrc:1859
#: configuredialogs.xrc:2198
#: configuredialogs.xrc:2375
#: configuredialogs.xrc:2561
#: configuredialogs.xrc:2697
#: configuredialogs.xrc:2866
#: configuredialogs.xrc:3096
#: configuredialogs.xrc:3207
#: configuredialogs.xrc:3470
#: configuredialogs.xrc:3678
#: configuredialogs.xrc:3827
#: configuredialogs.xrc:3928
#: configuredialogs.xrc:4842
#: configuredialogs.xrc:5067
#: configuredialogs.xrc:5227
#: configuredialogs.xrc:5411
#: configuredialogs.xrc:5594
#: configuredialogs.xrc:5736
#: configuredialogs.xrc:5881
#: configuredialogs.xrc:6039
msgid "Apply"
msgstr "Applica"
#: configuredialogs.xrc:1601
msgid "Here you can configure the font used by the tree"
msgstr "Qui puoi impostare il carattere usato dall'albero"
#: configuredialogs.xrc:1609
msgid "Click the 'Change' button to select a different font or size"
msgstr "Clicca il pulsante 'Cambia' per selezionare un carattere o dimensione differente"
#: configuredialogs.xrc:1616
msgid "The 'Use Default' button will reset it to the system default"
msgstr "Il pulsante 'Usa Predefinito' ripristinerà le impostazioni predefinite di sistema"
#: configuredialogs.xrc:1634
#: configuredialogs.xrc:2303
msgid "This is how the terminal emulator font looks"
msgstr "Così è come si presenta il carattere dell'emulatore terminale"
#: configuredialogs.xrc:1640
#: configuredialogs.xrc:2310
#: configuredialogs.xrc:4007
#: configuredialogs.xrc:4044
#: configuredialogs.xrc:4142
#: configuredialogs.xrc:4179
msgid "Change"
msgstr "Cambia"
#: configuredialogs.xrc:1642
#: configuredialogs.xrc:2312
msgid "Change to a font of your choice"
msgstr "Cambia il carattere a tua scelta"
#: configuredialogs.xrc:1650
#: configuredialogs.xrc:2336
msgid "The appearance using the default font"
msgstr "Apparenza usando il carattere predefinito"
#: configuredialogs.xrc:1656
#: configuredialogs.xrc:2343
#: configuredialogs.xrc:4542
msgid "Use Default"
msgstr "Usa Predefinito"
#: configuredialogs.xrc:1658
#: configuredialogs.xrc:2345
msgid "Revert to the system default font"
msgstr "Ripristina il carattere predefinito di sistema"
#: configuredialogs.xrc:1738
msgid "If the currently-selected path in the active dirview is /home/david/Documents, make the titlebar show '4Pane [Documents]' instead of just '4Pane'"
msgstr "Se il percorso selezionato nella dirview attiva è /home/nomeutente/Documenti, la barra del titolo visualizzerà '4Pane [Documenti]' invece di '4Pane' solamente."
#: configuredialogs.xrc:1740
msgid " Show the currently-selected filepath in the titlebar"
msgstr " Mostra il percorso selezionato nella barra del titolo"
#: configuredialogs.xrc:1747
msgid "This is where you can see which file or directory is selected. You can also use Ctrl-C to copy it for use in external applications. Changes to this option won't take effect until 4Pane is restarted"
msgstr "Qui è dove puoi vedere quale file o cartella viene selezionato. Puoi anche usare Ctrl-C per copiarlo e utilizzarlo in applicazioni esterne. Il cambiamento di questa opzione non avrà effetto fino al prossimo riavvio di 4pane"
#: configuredialogs.xrc:1749
msgid " Show the currently-selected filepath in the toolbar"
msgstr " Mostra il percorso selezionato nella barra degli strumenti"
#: configuredialogs.xrc:1756
msgid "4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this box to use your theme's icons instead"
msgstr "4Pane fornisce delle icone predefinite per azioni come 'Copia' e 'Annulla'. Seleziona questa casella per usare in alternativa il tuo tema di icone"
#: configuredialogs.xrc:1758
msgid " Whenever possible, use stock icons"
msgstr " Usa le icone di sistema onde possibile"
#: configuredialogs.xrc:1765
msgid "4Pane stores 'trashed' files and directories, rather than deleting them. Even so, you may wish to be asked each time you try to do this; in which case, tick this box"
msgstr "4Pane mantiene i files e cartelle cestinati invece di eliminarli. In questo modo puoi avere una richiesta di conferma prima dell'invio al cestino; in tal caso seleziona questa casella"
#: configuredialogs.xrc:1767
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr " Chiedi conferma prima di inviare i files al Cestino"
#: configuredialogs.xrc:1774
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr "4Pane mantiene i files e cartelle eliminati in un suo contenitore"
#: configuredialogs.xrc:1776
msgid " Ask for confirmation before Deleting files"
msgstr " Chiedi conferma prima di Eliminare i files"
#: configuredialogs.xrc:1788
msgid "Make the cans for trashed/deleted files in this directory"
msgstr "Crea un contenitore per i files cestinati/eliminati in questa cartella"
#: configuredialogs.xrc:1813
msgid "Configure toolbar editors"
msgstr "Configura barra degli strumenti"
#: configuredialogs.xrc:1815
msgid "This is where you can add/remove the icons on the toolbar that represent editors and similar apps. These open when clicked, or you can drag file(s) onto one to open them in that app."
msgstr "Qui è dove puoi aggiungere/rimuovere le icone nella barra degli strumenti riguardante gli editors e applicazioni simili. Questi vengono eseguiti al click, oppure, trascinandoci sopra uno o più files, questi ultimi verranno aperti con l'applicazione scelta."
#: configuredialogs.xrc:1822
msgid "Configure small-toolbar Tools"
msgstr "Configura Pulsanti piccoli"
#: configuredialogs.xrc:1824
msgid "This is where you can add/remove buttons from the small toolbar at the top of each dir-view"
msgstr "Qui puoi aggiungere/rimuovere i pulsanti dalla piccola barra degli strumenti nella parte superiore di ogni vista delle directories"
#: configuredialogs.xrc:1831
msgid "Configure Tooltips"
msgstr "Configura Suggerimenti"
#: configuredialogs.xrc:1833
msgid "Configures whether and for how long tooltips are displayed. This is only partly effective: it currently doesn't work for toolbar tooltips."
msgstr "Configura se e per quanto tempo i suggerimenti vengono visualizzati. Questo è solo parzialmente implementato: al momento non funziona per i suggerimenti sulla barra degli strumenti."
#: configuredialogs.xrc:1914
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr "Seleziona il Terminale per l'applicazione da eseguire con Ctrl-T"
#: configuredialogs.xrc:1929
#: configuredialogs.xrc:2022
#: configuredialogs.xrc:2115
msgid "Either one of the following"
msgstr "Uno dei seguenti"
#: configuredialogs.xrc:1958
#: configuredialogs.xrc:2051
#: configuredialogs.xrc:2144
msgid "Or enter your own choice"
msgstr "Oppure uno a tua scelta"
#: configuredialogs.xrc:1972
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
"Inserisci l'esatto comando per eseguire il terminale.\n"
"Scegline uno presente nel tuo sistema ;)"
#: configuredialogs.xrc:2007
msgid "Which Terminal application should launch other programs?"
msgstr "Quale Terminale dovrebbe eseguire gli altri programmi?"
#: configuredialogs.xrc:2065
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
"Inserisci l'esatto comando per eseguire un altro programma all'interno del terminale.\n"
"Scegline uno presente nel tuo sistema ;)"
#: configuredialogs.xrc:2100
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr "Quale Terminale dovrebbe eseguire uno Strumento Definito dall'Utente?"
#: configuredialogs.xrc:2158
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
"Inserisci l'esatto comando per eseguire un altro programma all'interno del terminale, mantenendo il terminale aperto al termine del programma.\n"
"Scegline uno presente nel tuo sistema ;)"
#: configuredialogs.xrc:2253
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr "Configura il Prompt e Carattere per l'emulatore terminale"
#: configuredialogs.xrc:2261
msgid "Prompt. See the tooltip for details"
msgstr "Prompt. Vedi suggerimento per i dettagli"
#: configuredialogs.xrc:2278
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
"Questo è il prompt del terminale interno accessibile tramite Ctrl-M o Ctrl-F6. Puoi usare caratteri normali, ma esistono anche le seguenti opzioni:\n"
"%H = hostname %h = hostname fino al punto\n"
"%u = nome utente\n"
"%w = cwd %W = solamente l'ultimo segmento di cwd\n"
"%$ visualizza $, oppure # se root"
#: configuredialogs.xrc:2439
msgid "Currently-known possible nfs servers"
msgstr "Attuali possibili servers NFS conosciuti"
#: configuredialogs.xrc:2448
msgid "These are ip addresses of servers that are known to be, or have been, on your network"
msgstr "Questi sono gli indirizzi IP dei servers riconosciuti, o rilevati in precedenza, nella tua rete"
#: configuredialogs.xrc:2462
msgid "Delete the highlit server"
msgstr "Elimina server selezionato"
#: configuredialogs.xrc:2475
msgid "Enter another server address"
msgstr "Inserisci un altro indirizzo server"
#: configuredialogs.xrc:2483
msgid "Write in the address of another server here (e.g. 192.168.0.2), then click 'Add'"
msgstr "Scrivi qui un altro indirizzo server (es.: 192.168.0.2), quindi clicca su 'Aggiungi'"
#: configuredialogs.xrc:2493
#: moredialogs.xrc:4005
#: moredialogs.xrc:4723
#: moredialogs.xrc:10400
msgid "Add"
msgstr "Aggiungi"
#: configuredialogs.xrc:2508
msgid "Filepath for showmount"
msgstr "Percorso per showmount"
#: configuredialogs.xrc:2516
msgid "What is the filepath to the nsf helper showmount? Probably /usr/sbin/showmount"
msgstr "Qual'è il percorso per l'assistente NFS showmount? Probabilmente /usr/sbin/showmount"
#: configuredialogs.xrc:2536
msgid "Path to samba dir"
msgstr "Percorso directory Samba"
#: configuredialogs.xrc:2544
msgid "Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or symlinked from there)"
msgstr "Dove vengono memorizzati i files come smbclient e findsmb? Probabilmente in /usr/bin/ (o collegati simbolicamente da li)"
#: configuredialogs.xrc:2616
msgid "4Pane allows you undo (and redo) most operations."
msgstr "4Pane permette di annullare (e ripetere) più operazioni"
#: configuredialogs.xrc:2623
msgid "What is the maximum number that can be undone?"
msgstr "Qual'è il valore massimo di annullamenti?"
#: configuredialogs.xrc:2630
msgid "(NB. See the tooltip)"
msgstr "(Vedi suggerimento a comparsa)"
#: configuredialogs.xrc:2638
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
"Ogni volta che Incolli/Muovi/Rinomini/Elimini/ecc i files, i vari passaggi vengono registrati per poter esser successivamente annullati o ripetuti a piacimento. Questo è il valore massimo di azioni memorizzate da impostare.\n"
"Nota che puoi eliminare il contenuto di una cartella con 100 files, questo vale come 100 procedure! Per questo suggerisco un valore abbastanza alto: almeno 10000"
#: configuredialogs.xrc:2654
msgid "The number of items at a time on a drop-down menu."
msgstr "Quantità di voci da mantenere in un menu a discesa."
#: configuredialogs.xrc:2661
msgid "(See the tooltip)"
msgstr "(Vedi suggerimento a comparsa)"
#: configuredialogs.xrc:2669
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
"Questo si riferisce ai pulsanti a discesa per Annulla e Ripeti e per la barra degli strumenti della vista cartelle per navigare tra le recenti.\n"
"Qual'è il valore massimo di voci da visualizzare nel menù? Suggerisco 15. Puoi visualizzare le azioni precedenti o successive una pagina per volta."
#: configuredialogs.xrc:2750
msgid "Some messages are shown briefly, then disappear."
msgstr "Alcuni messaggi vengono visualizzati temporaneamente, dopo di che spariscono."
#: configuredialogs.xrc:2757
msgid "For how many seconds should they last?"
msgstr "Per quanti secondi dovrebbero restare visibili?"
#: configuredialogs.xrc:2776
msgid "'Success' message dialogs"
msgstr "Messaggi di Successo"
#: configuredialogs.xrc:2785
msgid "There are some dialogs that provide a message, such as \"Success\" or \"Oops, that didn't work\", and close themselves automatically after a few seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr "Alcune finestre di dialogo visualizzano un messaggio di avvenuto successo o azione fallita, chiudendosi automaticamente dopo alcuni secondi. Imposta qui quanti secondi deve rimanere un messaggio di Successo."
#: configuredialogs.xrc:2801
msgid "'Failed because...' dialogs"
msgstr "Messaggi di Azione Fallita"
#: configuredialogs.xrc:2810
msgid "There are some dialogs that provide a message, such as \"Success\" or \"Oops, that didn't work\", and close themselves automatically after a few seconds. This figure is the number of seconds to show a Failure message, which needs to be longer than a Success one to give you a chance to read it"
msgstr "Alcune finestre di dialogo visualizzano un messaggio di avvenuto successo o azione fallita, chiudendosi automaticamente dopo alcuni secondi. Imposta qui quanti secondi deve rimanere un messaggio di Azione Fallita."
#: configuredialogs.xrc:2826
msgid "Statusbar messages"
msgstr "Messaggi della Barra di Stato"
#: configuredialogs.xrc:2834
msgid "Some procedures e.g. mounting a partition, give a success message in the statusbar. This determines how long such a message persists"
msgstr "Alcune azioni quali il montaggio di una partizione. fanno apparire i risultati nella barra di stato. Qui viene definita la durata della visualizzazione di tali messaggi."
#: configuredialogs.xrc:2921
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr "Quale front-end vuoi utilizzare per gestire i vari task come root?"
#: configuredialogs.xrc:2942
msgid "Tick this box to have 4Pane manage running commands as root, either by calling su or sudo (depending on your distro or setup)"
msgstr "Seleziona questa casella per permettere a 4Pane di eseguire i comandi come root, utilizzando su oppure sudo (dipendentemente dalla distribuzione o impostazione di sistema in uso)"
#: configuredialogs.xrc:2944
msgid " 4Pane's own one"
msgstr " Proprio di 4Pane"
#: configuredialogs.xrc:2952
msgid "It should call:"
msgstr "Dovrebbe chiamare:"
#: configuredialogs.xrc:2954
msgid "Some distros (ubuntu and similar) use sudo to become superuser; most others use su. Select which is appropriate for you."
msgstr "Alcune distribuzioni (ubuntu o simili) utilizzano sudo per acquisire privilegi da amministratore, molti altri su. Seleziona il comando più appropriato per te."
#: configuredialogs.xrc:2958
msgid "su"
msgstr "su"
#: configuredialogs.xrc:2959
msgid "sudo"
msgstr "sudo"
#: configuredialogs.xrc:2973
msgid "Check the box if you want 4Pane to store the password and provide it automatically if needed. For security reasons the longest permitted time is 60 minutes"
msgstr "Seleziona la casella se vuoi che 4Pane memorizzi la password per utilizzarla in automatico quando richiesta. Per motivi di sicurezza il tempo massimo concesso è di 60 minuti"
#: configuredialogs.xrc:2975
msgid " Store passwords for:"
msgstr " Memorizza le password per:"
#: configuredialogs.xrc:2993
msgid "min"
msgstr "min"
#: configuredialogs.xrc:3003
msgid "If this box is checked, every time the password is supplied the time-limit will be renewed"
msgstr "Se questa casella è selezionata, ogni volta che la password verrà inserita il limite di tempo verrà aggiornato"
#: configuredialogs.xrc:3005
msgid " Restart time with each use"
msgstr " Tempo per il riavvio usati da ciascuno"
#: configuredialogs.xrc:3025
msgid "An external program e.g. gksu. Only ones available on your system will be selectable"
msgstr "Un programma esterno come gksu. Potranno essere selezionati solo quelli disponibili nel sistema"
#: configuredialogs.xrc:3027
msgid " An external program:"
msgstr " Un programma esterno:"
#: configuredialogs.xrc:3040
msgid " kdesu"
msgstr " kdesu"
#: configuredialogs.xrc:3048
msgid " gksu"
msgstr " gksu"
#: configuredialogs.xrc:3056
msgid " gnomesu"
msgstr " gnomesu"
#: configuredialogs.xrc:3064
msgid " Other..."
msgstr " Altro..."
#: configuredialogs.xrc:3065
msgid "Enter your own choice of application, including any necessary options. It would be best if it were available on your system..."
msgstr "Inserisci l'applicazione a tua scelta, incluse le opzioni necessarie. Assicurati che il comando sia disponibile nel tuo sistema..."
#: configuredialogs.xrc:3147
msgid ""
"The first two buttons configure D'n'D and the statusbar\n"
"The third exports 4Pane's configuration: see the tooltip"
msgstr ""
"I primi due pulsanti impostano il Trascinamento e la barra di stato\n"
"Il terzo esporta le impostazioni di 4Pane: vedi suggerimento a comparsa"
#: configuredialogs.xrc:3162
msgid "Configure Drag'n'Drop"
msgstr "Configura Trascinamento"
#: configuredialogs.xrc:3164
msgid "Click to configure the behaviour of Drag and Drop"
msgstr "Clicca per impostare il comportamento del Trascinamento "
#: configuredialogs.xrc:3171
msgid "Configure Statusbar"
msgstr "Configura Barra di Stato"
#: configuredialogs.xrc:3173
msgid "Click to configure the statusbar sections"
msgstr "Clicca per configurare le sezioni della barra di stato"
#: configuredialogs.xrc:3180
msgid "Export Configuration File"
msgstr "Esporta File Configurazione"
#: configuredialogs.xrc:3182
msgid "Click to save bits of your configuration as ~/4Pane.conf. Very few people will need to do this; probably only disto packagers. For more details, press F1 after clicking."
msgstr "Clicca per salvare la configurazione come ~/4Pane.conf. Poca gente necessiterà di questo; probabilmente solo packagers di distribuzione. Per ulteriori dettagli, premi F1 dopo il click."
#: configuredialogs.xrc:3275
msgid "Command to be run:"
msgstr "Comando da eseguire:"
#: configuredialogs.xrc:3283
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you shoud get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
"Inserisci un nome per l'applicazione o script da eseguire. Se è presente nella variabile PATH, è sufficiente il nome es.: 'df'. Altrimenti è necessario inserire l'intero percorso es.: '/usr/X11R6/bin/foo'\n"
"\n"
"Parametri:\n"
"%s passa il file selezionato, o directory, all'applicazione, %f (%d) specifica esclusivamente il file (directory) selezionato.\n"
"%a passa tutti gli oggetti selezionati nei riquadri attivi, %b passa una selezione da entrambi le viste files dei riquadri.\n"
"%p visualizza il prompt per la richiesta di un parametro da passare all'applicazione"
#: configuredialogs.xrc:3295
msgid "Click to browse for the application to run"
msgstr "Sfoglia per l'applicazione da eseguire"
#: configuredialogs.xrc:3311
#: configuredialogs.xrc:3596
msgid "Tick if you want the tool to be run in a Terminal"
msgstr "Seleziona se vuoi che il programma venga eseguito in un Terminale"
#: configuredialogs.xrc:3313
#: configuredialogs.xrc:3598
msgid "Run in a Terminal"
msgstr "Esegui in un Terminale"
#: configuredialogs.xrc:3320
#: configuredialogs.xrc:3605
msgid "Some programs need a terminal both to run in, and to display the results. If you tick this checkbox, the terminal will stay visible when the program is finished, to give you a chance to look at the output."
msgstr "Alcuni programmi necessitano di un terminale sia per l'esecuzione, sia per visualizzare i risultati. Attivando questa opzione, il terminale rimarrà visibile al termine del programma, per rendere visibile tutti gli esiti."
#: configuredialogs.xrc:3322
#: configuredialogs.xrc:3607
msgid "Keep terminal open"
msgstr "Mantieni aperto il terminale"
#: configuredialogs.xrc:3329
#: configuredialogs.xrc:3614
msgid "Tick if you want the current pane to be automatically updated when the tool has finished"
msgstr "Seleziona se vuoi che il riquadro corrente venga aggiornato automaticamente al termine di questo comando"
#: configuredialogs.xrc:3331
#: configuredialogs.xrc:3616
msgid "Refresh pane after"
msgstr "Aggiorna riquadro"
#: configuredialogs.xrc:3338
#: configuredialogs.xrc:3623
msgid "Tick if you want the other pane to be updated too"
msgstr "Seleziona se vuoi che venga aggiornato anche il riquadro adiacente"
#: configuredialogs.xrc:3340
#: configuredialogs.xrc:3625
msgid "Refresh opposite pane too"
msgstr "Aggiorna riquadro adiacente"
#: configuredialogs.xrc:3347
#: configuredialogs.xrc:3632
msgid "Tick if you want the tool to be run with superuser privileges, but not in a terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr "Seleziona se vuoi che lo strumento venga avviato con privilegi da amministratore, ma non in un terminale (nel terminale puoi comunque usare 'sudo' o 'su -c')"
#: configuredialogs.xrc:3349
#: configuredialogs.xrc:3634
msgid "Run command as root"
msgstr "Esegui comando come root"
#: configuredialogs.xrc:3372
msgid "Label to display in the menu:"
msgstr "Etichetta relativa al menù:"
#: configuredialogs.xrc:3395
msgid "Add it to this menu:"
msgstr "Aggiungi a questo menù:"
#: configuredialogs.xrc:3403
msgid "These are the menus that are currently available. Select one, or add a new one"
msgstr "Questi sono i menù attualmente disponibili. Selezionane uno oppure aggiungine un altro"
#: configuredialogs.xrc:3414
msgid "New Menu"
msgstr "Nuovo Menù"
#: configuredialogs.xrc:3416
msgid "Add a new menu or submenu to the list"
msgstr "Aggiunge un nuovo menù o sotto-menù alla lista"
#: configuredialogs.xrc:3424
msgid "Delete Menu"
msgstr "Elimina Menù"
#: configuredialogs.xrc:3426
msgid "Delete the currently-selected menu or submenu"
msgstr "Elimina il menù o sotto-menù selezionato"
#: configuredialogs.xrc:3444
msgid "Add the Tool"
msgstr "Aggiungi Strumento"
#: configuredialogs.xrc:3446
msgid "Click to add the new tool"
msgstr "Clicca per aggiungere il nuovo strumento"
#: configuredialogs.xrc:3529
msgid "Select a command, then click 'Edit this Command'"
msgstr "Seleziona un comando, quinci clicca 'Modifica questo Comando'"
#: configuredialogs.xrc:3551
#: configuredialogs.xrc:3756
msgid "Label in menu"
msgstr "Etichetta nel menù"
#: configuredialogs.xrc:3559
msgid "Select the label of the command you want to edit. You can edit this too if you wish."
msgstr "Seleziona l'etichetta del comando da modificare. Puoi modificare anche questa se vuoi."
#: configuredialogs.xrc:3573
#: configuredialogs.xrc:3778
msgid "Command"
msgstr "Comando"
#: configuredialogs.xrc:3581
msgid "The command to be edited"
msgstr "Comando da modificare"
#: configuredialogs.xrc:3733
msgid "Select an item, then click 'Delete this Command'"
msgstr "Seleziona un oggetto, quindi clicca 'Elimina questo Comando'"
#: configuredialogs.xrc:3764
msgid "Select the label of the command you want to delete"
msgstr "Seleziona l'etichetta del comando da eliminare"
#: configuredialogs.xrc:3786
msgid "The command to be deleted"
msgstr "Comando da eliminare"
#: configuredialogs.xrc:3801
msgid " Delete this Command "
msgstr "Elimina questo Comando"
#: configuredialogs.xrc:3878
msgid "Double-click an entry to change it"
msgstr "Doppio click sulla voce da modificare"
#: configuredialogs.xrc:3891
msgid "Show the labels below without any mnemonic e.g. show 'Cut' instead of 'C&ut'. You can still see and edit the mnemonic when you edit an item's label"
msgstr "Mostra le etichette senza alcun mnemonico es.: mostra 'Taglia' invece di '&Taglia'. E' possibile visualizzare e modificare il mnemonico alla modifica dell'etichetta dell'oggetto"
#: configuredialogs.xrc:3894
msgid "Display labels without mnemonics"
msgstr "Mostra etichette senza mnemonici"
#: configuredialogs.xrc:3972
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr "I colori visualizzati di seguito verranno utilizzati alternativamente nella vista files"
#: configuredialogs.xrc:3991
msgid " Current 1st Colour "
msgstr " 1° Colore Corrente "
#: configuredialogs.xrc:4029
msgid " Current 2nd Colour "
msgstr " 2° Colore Corrente "
#: configuredialogs.xrc:4108
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
"Seleziona il colore da utilizzare come sfondo per il riquadro.\n"
"Puoi scegliere un colore per la vista directory e un altro per la vista file.\n"
"In alternativa, spunta la casella per utilizzare lo stesso colore per entrambi."
#: configuredialogs.xrc:4127
msgid " Current Dir-view Colour "
msgstr " Colore Corrente Vista Directory "
#: configuredialogs.xrc:4164
msgid " Current File-view Colour "
msgstr " Colore Corrente Vista File "
#: configuredialogs.xrc:4191
msgid " Use the same colour for both types of pane"
msgstr " Usa lo stesso colore per entrambi i tipi di riquadro"
#: configuredialogs.xrc:4239
msgid "Select Pane Highlighting"
msgstr "Seleziona Riquadro Evidenziato"
#: configuredialogs.xrc:4252
msgid "A pane can optionally be highlit when focused. Here you can alter the degree of highlighting."
msgstr "Un riquadro può essere evidenziato durante l'attivazione. Qui puoi variarne la luminosità ."
#: configuredialogs.xrc:4259
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr "Per una vista directories, viene evidenziata una linea sottile sopra la barra degli strumenti."
#: configuredialogs.xrc:4266
msgid "For a file-view, the colour change is to the header, which is much thicker."
msgstr "Per una vista di files, il cambiamento di colore è nell'intestazione, che è molto più spessa."
#: configuredialogs.xrc:4273
msgid "So I suggest you make the file-view 'offset' smaller, as the difference is more obvious"
msgstr "Quindi ti suggerisco di variare meno colore nella vista files, dato che la differenza si nota maggiormente."
#: configuredialogs.xrc:4315
msgid " Dir-view focused"
msgstr " Vista cartelle attiva"
#: configuredialogs.xrc:4337
msgid "Baseline"
msgstr "Colore Originale"
#: configuredialogs.xrc:4359
msgid "File-view focused"
msgstr "Vista files attiva"
#: configuredialogs.xrc:4434
msgid "Enter a Shortcut"
msgstr "Inserisci Scorciatoia"
#: configuredialogs.xrc:4453
msgid "Press the keys that you want to use for this function:"
msgstr "Premi i tasti da utilizzare per questa funzione:"
#: configuredialogs.xrc:4461
msgid " Dummy "
msgstr " Fittizio "
#: configuredialogs.xrc:4486
msgid "Current"
msgstr "Attuale"
#: configuredialogs.xrc:4502
#: dialogs.xrc:63
msgid "Clear"
msgstr "Pulisci"
#: configuredialogs.xrc:4504
msgid "Click this if you don't want a shortcut for this action"
msgstr "Clicca qui se non vuoi una scorciatoia per questa azione"
#: configuredialogs.xrc:4526
msgid " Default: "
msgstr " Predefinito: "
#: configuredialogs.xrc:4534
msgid "Ctrl+Shift+Alt+M"
msgstr "Ctrl+Shift+Alt+M"
#: configuredialogs.xrc:4544
msgid "Clicking this will enter the default accelerator seen above"
msgstr "Clicca qui per inserire l'acceleratore visualizzato come predefinito"
#: configuredialogs.xrc:4617
msgid "Change Label"
msgstr "Cambia Etichetta"
#: configuredialogs.xrc:4626
msgid " Change Help String "
msgstr "Cambia Descrizione"
#: configuredialogs.xrc:4640
msgid "Duplicate Accelerator"
msgstr "Duplica Acceleratore"
#: configuredialogs.xrc:4658
msgid "This combination of keys is already used by:"
msgstr "Questa combinazione di tasti è già usata da:"
#: configuredialogs.xrc:4666
msgid " Dummy "
msgstr " Fittizio "
#: configuredialogs.xrc:4674
#: dialogs.xrc:472
#: dialogs.xrc:628
#: dialogs.xrc:749
#: dialogs.xrc:859
#: dialogs.xrc:963
#: dialogs.xrc:1170
#: dialogs.xrc:1328
#: dialogs.xrc:1472
#: dialogs.xrc:1617
msgid "What would you like to do?"
msgstr "Cosa vuoi fare?"
#: configuredialogs.xrc:4694
msgid "Choose different keys"
msgstr "Scegli tasti differenti"
#: configuredialogs.xrc:4702
msgid "Steal the other shortcut's keys"
msgstr "Ruba l'altra scorciatoia da tastiera"
#: configuredialogs.xrc:4710
msgid "Give up"
msgstr "Abbandona"
#: configuredialogs.xrc:4725
msgid " Try Again "
msgstr " Ritenta"
#: configuredialogs.xrc:4727
msgid "Return to the dialog to make another choice of keys"
msgstr "Ritorna alla finestra di dialogo per scegliere altri tasti"
#: configuredialogs.xrc:4736
msgid "Override"
msgstr "Sovrascrivi"
#: configuredialogs.xrc:4738
msgid "Use your selection anyway. You will be given the opportunity to make a new choice for the shortcut that is currently using them."
msgstr "Usa comunque la tua scelta. Hai l'opportunità di scegliere di modificare la scorciatoia che li sta già utilizzando."
#: configuredialogs.xrc:4748
msgid "The shortcut will revert to its previous value, if any"
msgstr "Questa scorciatoia sarà ripristinata col valore precedente, se presente"
#: configuredialogs.xrc:4781
msgid "How are plugged-in devices detected?"
msgstr "Come vengono rilevati i dispositivi inseriti?"
#: configuredialogs.xrc:4783
msgid "Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 kernels introduced the usb-storage method. More recent distros with 2.6 kernels usually use the udev/hal system. In between a few distros (e.g. SuSE 9.2) did something odd involving /etc/mtab"
msgstr "Prima del kernel 2.4, penne USB e simili non venivan rilevate. Con il kernel 2.4, è stato introdotto il metodo USB-storage. I kernels più recenti come il 2.6 usano di norma il sistema udev/hal. In alcune distribuzioni (es.: SuSE 9.2) venne usato un metodo non tradizionale tramite /etc/mtab"
#: configuredialogs.xrc:4787
msgid "The original, usb-storage, method"
msgstr "Metodo originale (USB-storage)"
#: configuredialogs.xrc:4788
msgid "By looking in mtab"
msgstr "Tramite controllo in mtab"
#: configuredialogs.xrc:4789
msgid "The new, udev/hal, method"
msgstr "Nuovo metodo (udev/hal)"
#: configuredialogs.xrc:4798
msgid "Floppy drives mount automatically"
msgstr "Monta automaticamente i lettori Floppy"
#: configuredialogs.xrc:4807
msgid "DVD-ROM etc drives mount automatically"
msgstr "Monta automaticamente i lettori DVD-ROM"
#: configuredialogs.xrc:4816
msgid "Removable devices mount automatically"
msgstr "Monta automaticamente i lettori dispositivi removibili"
#: configuredialogs.xrc:4902
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr "Quale file (se esistente) contiene i dati dei nuovi dispositivi inseriti?"
#: configuredialogs.xrc:4922
msgid "Floppies"
msgstr "Floppies"
#: configuredialogs.xrc:4931
#: configuredialogs.xrc:4974
#: configuredialogs.xrc:5016
msgid "This applies mostly to non-automounting distros, some of which insert information about devices directly into either /etc/mtab or /etc/fstab."
msgstr "Questo vale soprattutto per distribuzioni non-automounting, alcune delle quali inseriscono le informazioni sui dispositivi direttamente in /etc/mtab o /etc/fstab."
#: configuredialogs.xrc:4935
#: configuredialogs.xrc:4978
#: configuredialogs.xrc:5020
msgid "mtab"
msgstr "mtab"
#: configuredialogs.xrc:4936
#: configuredialogs.xrc:4979
#: configuredialogs.xrc:5021
msgid "fstab"
msgstr "fstab"
#: configuredialogs.xrc:4937
#: configuredialogs.xrc:4980
#: configuredialogs.xrc:5022
msgid "none"
msgstr "nessuno"
#: configuredialogs.xrc:4945
#: configuredialogs.xrc:4988
#: configuredialogs.xrc:5030
msgid "Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes. If so, a device's fstab entry may start with 'none' instead of the device name. In which case, check this box."
msgstr "Alcune distribuzioni (es.: Mandriva 10.1) utilizzano Supermount per aiutare a gestire le variazioni dei dischi. Se è così, la voce fstab di una periferica potrebbe iniziare con \"none\" invece del nome del dispositivo. In questo caso, selezionare questa casella."
#: configuredialogs.xrc:4947
#: configuredialogs.xrc:4990
#: configuredialogs.xrc:5032
msgid "Supermounts"
msgstr "Supermounts"
#: configuredialogs.xrc:4965
msgid "CDRoms etc"
msgstr "CDRoms ecc"
#: configuredialogs.xrc:5007
msgid "USB devices"
msgstr "Dispositivi USB"
#: configuredialogs.xrc:5128
msgid "Check how often for newly-attached usb devices?"
msgstr "Frequenza di aggiornamento per la ricerca di nuovi dispositivi USB"
#: configuredialogs.xrc:5141
msgid "4Pane checks to see if any removable devices have been removed, or new ones added. How often should this happen?"
msgstr "4Pane verifica se vengono inseriti o rimossi dei dispositivi USB. Quanto frequente deve avvenire?"
#: configuredialogs.xrc:5151
msgid "seconds"
msgstr "secondi"
#: configuredialogs.xrc:5167
msgid "How should multicard usb readers be displayed?"
msgstr "Come dovrebbero essere visualizzati i lettori USB multicard?"
#: configuredialogs.xrc:5175
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
"I lettori multicard vengono normalmente registrati come dispositivi separati per ciascun slot.\n"
"Per impostazione predefinita vengono visualizzati solo gli slots con scheda inserita.\n"
"Spuntando questa casella, ogni slot vuoto avrà un pulsante assegnato, quindi con 13 slot si visualizzeranno 13 pulsanti!"
#: configuredialogs.xrc:5177
msgid " Add buttons even for empty slots"
msgstr " Aggiungi Pulsante anche in caso di slots vuoti"
#: configuredialogs.xrc:5190
msgid "What to do if 4Pane has mounted a usb device?"
msgstr "Cosa fare quando 4Pane monta un dispositivo USB?"
#: configuredialogs.xrc:5198
msgid "Do you want to unmount before exiting? This only applies to removable devices, and only if your distro is non-automounting"
msgstr "Vuoi smontarlo prima di chiudere? Viene applicato solamente a dispositivi removibili e solamente se la tua distribuzione è non-automounting"
#: configuredialogs.xrc:5200
msgid " Ask before unmounting it on exit"
msgstr " Chiedi prima di smontarlo in uscita"
#: configuredialogs.xrc:5281
#: configuredialogs.xrc:5465
#: configuredialogs.xrc:5648
msgid "For information, please read the tooltips "
msgstr "Per informazioni, leggere i suggerimenti a comparsa"
#: configuredialogs.xrc:5300
msgid "Which file contains partition data?"
msgstr "Quale file contiene i dati delle partizioni?"
#: configuredialogs.xrc:5308
msgid "The list of known partitions. Default: /proc/partitions"
msgstr "Lista delle partizioni conosciute. Predefinito: /proc/partitions"
#: configuredialogs.xrc:5321
msgid "Which dir contains device data?"
msgstr "Quale directory contiene i dati sul dispositivo?"
#: configuredialogs.xrc:5329
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr "Contiene i 'files' come hda1, sda1. Predefinito: /dev/"
#: configuredialogs.xrc:5341
msgid "Which file(s) contains Floppy info"
msgstr "File(s) contenenti le informazioni sui Floppy"
#: configuredialogs.xrc:5349
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
"Le informazioni sui Floppy sono contenute solitamente in /sys/block/fd0, /sys/block/fd1 ecc.\n"
"Non inserire la numerazione, in caso, solamente /sys/block/fd "
#: configuredialogs.xrc:5361
msgid "Which file contains CD/DVDROM info"
msgstr "File contenente le informazioni sui CD/DVDROM"
#: configuredialogs.xrc:5369
msgid "Information about fixed devices like cdroms can usually be found in /proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr "Le informazioni sui dischi fissi come i cdroms si trovano solitamente in /proc/sys/dev/cdrom/info. Modifica il percorso se differente"
#: configuredialogs.xrc:5386
#: configuredialogs.xrc:5569
#: configuredialogs.xrc:5711
msgid "Reload Defaults"
msgstr "Ricarica Predefiniti"
#: configuredialogs.xrc:5484
msgid "2.4 kernels: usb-storage"
msgstr "Kernel 2.4: usb-storage"
#: configuredialogs.xrc:5492
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
"I kernels 2.4 rilevano i dispositivi removibili aggiungendo una directory /proc/scsi/usb-storage-0, storage-1 ecc.\n"
"Inserisci solamente la parte base qui (Predefinito: /proc/scsi/usb-storage-)"
#: configuredialogs.xrc:5504
msgid "2.4 kernels: removable device list"
msgstr "Kernel 2.4: lista dispositivi removibili"
#: configuredialogs.xrc:5512
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
"I kernels 2.4 mantengono una lista di dispositivi removibili connessi/precedentemente connessi.\n"
"Probabilmente /proc/scsi/scsi"
#: configuredialogs.xrc:5524
msgid "Node-names for removable devices "
msgstr "Nome dei nodi per i dispositivi removibili"
#: configuredialogs.xrc:5532
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
"Quale nodo di dispositivo viene assegnato a dispositivi removibili come le penne USB? Probabilmente /dev/sda, sdb1 ecc\n"
"Inserisci solamente la parte base qui (Predefinito: /dev/sd)"
#: configuredialogs.xrc:5544
msgid "2.6 kernels: removable device info dir"
msgstr "Kernel 2.6: directory di informazioni dei dispositivi removibili"
#: configuredialogs.xrc:5552
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
"Nei kernels 2.6 le informazioni sui dispositivi removibili vengono specificate qui\n"
"Probabilmente /sys/bus/scsi/devices"
#: configuredialogs.xrc:5666
msgid "What is the LVM prefix?"
msgstr "Prefisso LVM"
#: configuredialogs.xrc:5674
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
"Prefisso delle partizioni Logical Volume Management (es.: dm-0)\n"
"Inserisci solamente la parte base (es.: dm-)"
#: configuredialogs.xrc:5686
msgid "More LVM stuff. See the tooltip"
msgstr "Altre impostazioni LVM. Vedi suggerimento"
#: configuredialogs.xrc:5694
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
"Dove sono i proc 'block' files? Questo è necessario per la gestione LVM.\n"
"Probabilmente /dev/.udevdb/block@foo. Inserisci solo la parte '/dev/.udevdb/block@'"
#: configuredialogs.xrc:5804
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
"Seleziona un Disco da configurare\n"
"oppure \"Aggiungi Disco\" per aggiungerne"
#: configuredialogs.xrc:5835
#: configuredialogs.xrc:5992
msgid "Add a Drive"
msgstr "Aggiungi Disco"
#: configuredialogs.xrc:5844
#: configuredialogs.xrc:6001
msgid "Edit this Drive"
msgstr "Modifica questo Disco"
#: configuredialogs.xrc:5852
#: configuredialogs.xrc:6010
msgid "Delete this Drive"
msgstr "Elimina questo Disco"
#: configuredialogs.xrc:5936
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
"I dischi fissi dovrebbero essere rilevati automaticamente,\n"
"ma in caso di mancato rilevamento o per modificare alcuni dati\n"
"è possibile impostarli qui."
#: configuredialogs.xrc:5961
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
"Seleziona un disco da configurare\n"
"oppure \"Aggiungi Disco\" per aggiungerne uno"
#: configuredialogs.xrc:6074
msgid "Fake, used to test for this version of the file"
msgstr "Fittizio, usato come test per questa versione del file"
#: configuredialogs.xrc:6079
msgid "Configure dir-view toolbar buttons"
msgstr "Configura Pulsanti Barra strumenti Vista directories"
#: configuredialogs.xrc:6101
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
"Questi sono i pulsanti visualizzati a destra della piccola barra degli strumenti in ogni vista cartelle.\n"
"Sono come dei segnalibri: cliccandone uno si apre il percorso relativo"
#: configuredialogs.xrc:6130
#: configuredialogs.xrc:6726
msgid "Current Buttons"
msgstr "Pulsanti Attuali"
#: configuredialogs.xrc:6161
msgid "Add a Button"
msgstr "Aggiungi Pulsante"
#: configuredialogs.xrc:6170
msgid "Edit this Button"
msgstr "Modifica Pulsante"
#: configuredialogs.xrc:6178
msgid "Delete this Button"
msgstr "Elimina questo Pulsante"
#: configuredialogs.xrc:6210
msgid "Configure e.g. an Editor"
msgstr "Configura (es.: un Editor)"
#: configuredialogs.xrc:6258
#: moredialogs.xrc:654
msgid "Name"
msgstr "Nome"
#: configuredialogs.xrc:6275
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr "Questa è solo una etichetta per poterlo riconoscere (es.: kwrite)."
#: configuredialogs.xrc:6294
#: configuredialogs.xrc:6901
msgid "Icon to use"
msgstr "Icona da utilizzare"
#: configuredialogs.xrc:6311
msgid "Launch Command"
msgstr "Esegui Comando"
#: configuredialogs.xrc:6328
msgid "This is the string that invokes the program. e.g. kwrite or /opt/gnome/bin/gedit"
msgstr "Inserisci il comando per richiamare il programma. es.: kwrite oppure /opt/gnome/bin/gedit"
#: configuredialogs.xrc:6348
msgid "Working Directory to use (optional)"
msgstr "Directory di lavoro da utilizzare (opzionale)"
#: configuredialogs.xrc:6365
#: dialogs.xrc:3126
msgid "You can optionally provide a working directory. If you do, it will be 'cd'ed to before running the command. Most commands won't need this; in particular, it won't be needed for any commands that can be launched without a Path e.g. kwrite"
msgstr "Come opzione puoi provvedere una directory di partenza. In tal caso, verrà richiamato il 'cd' ad essa prima dell'avvio del comando. La maggior parte dei comandi non necessitano di un percorso specificato, come ad esempio kwrite"
#: configuredialogs.xrc:6392
msgid "For example, if pasted with several files, GEdit can open them in tabs."
msgstr "Per esempio, incollando diversi files, GEdit può aprirli nelle sue schede."
#: configuredialogs.xrc:6394
msgid "Accepts Multiple Input"
msgstr "Accetta Inserimenti Multipli"
#: configuredialogs.xrc:6402
msgid "Don't load the icon for this program. Its configuration is retained, and you can 'unignore' it in the future"
msgstr "Non caricare l'icona di questo programma. La configurazione sarà mantenuta e potrai 'riabilitarla' in futuro"
#: configuredialogs.xrc:6404
msgid "Ignore this program "
msgstr "Ignora questo programma"
#: configuredialogs.xrc:6465
msgid "Select Icon"
msgstr "Seleziona Icona"
#: configuredialogs.xrc:6489
msgid ""
"Current\n"
"Selection"
msgstr ""
"Selezione\n"
"Corrente"
#: configuredialogs.xrc:6515
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
"Clicca una icona per selezionarla\n"
"oppure Sfoglia per cercarne altre"
#: configuredialogs.xrc:6529
#: moredialogs.xrc:4485
#: moredialogs.xrc:5237
msgid "Browse"
msgstr "Sfoglia"
#: configuredialogs.xrc:6587
msgid "New Icon"
msgstr "Nuova Icona"
#: configuredialogs.xrc:6619
msgid "Add this Icon?"
msgstr "Aggiungere questa Icona?"
#: configuredialogs.xrc:6676
msgid "Configure Editors etc"
msgstr "Configura Editors ecc"
#: configuredialogs.xrc:6698
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
"Questi programmi possono essere eseguiti cliccando un pulsante\n"
"nella barra degli strumenti o trascinando un file sopra il pulsante.\n"
"Un semplice esempio potrebbe essere un editor di testo come\n"
"kwrite, ma può essere un qualsiasi programma a tua scelta."
#: configuredialogs.xrc:6757
msgid "Add a Program"
msgstr "Aggiungi un Programma"
#: configuredialogs.xrc:6766
msgid "Edit this Program"
msgstr "Modifica questo Programma"
#: configuredialogs.xrc:6775
msgid "Delete this Program"
msgstr "Elimina questo Programma"
#: configuredialogs.xrc:6812
msgid "Configure a small-toolbar icon"
msgstr "Configura Icona Barra degli Strumenti piccola"
#: configuredialogs.xrc:6858
msgid "Filepath"
msgstr "Percorso file"
#: configuredialogs.xrc:6866
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr "Inserisci il percorso da aprire quando il pulsante viene premuto"
#: configuredialogs.xrc:6881
msgid "Click to browse for the new filepath"
msgstr "Clicca per sfogliare per il nuovo percorso"
#: configuredialogs.xrc:6908
msgid "(Click to change)"
msgstr "(Clicca per cambiare)"
#: configuredialogs.xrc:6926
msgid "Enter Tooltip Text if required"
msgstr "Inserisci Suggerimento a comparsa se necessario"
#: configuredialogs.xrc:6991
msgid "Configure Drag and Drop"
msgstr "Configura Trascinamento"
#: configuredialogs.xrc:7005
msgid "Choose which keys should do the following:"
msgstr "Scegli i tasti da utilizzare per le azioni seguenti:"
#: configuredialogs.xrc:7023
msgid "Shift"
msgstr "Shift"
#: configuredialogs.xrc:7030
msgid "Ctrl"
msgstr "Ctrl"
#: configuredialogs.xrc:7037
msgid "Alt"
msgstr "Alt"
#: configuredialogs.xrc:7045
msgid "Move: "
msgstr "Muovi: "
#: configuredialogs.xrc:7077
msgid "Copy: "
msgstr "Copia: "
#: configuredialogs.xrc:7109
msgid "Hardlink: "
msgstr "Hardlink: "
#: configuredialogs.xrc:7141
msgid "Softlink: "
msgstr "Softlink: "
#: configuredialogs.xrc:7175
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr "Cambia i valori per ottenere una sensibilità differente per il Trascinamento"
#: configuredialogs.xrc:7193
msgid "Horizontal"
msgstr "Orizzontale"
#: configuredialogs.xrc:7201
msgid "How far left and right should the mouse move before D'n'D is triggered? Default value 10"
msgstr "Di quanto deve spostarsi il mouse, a destra o sinistra, prima che il Trascinamento venga innescato? Predefinito: 10"
#: configuredialogs.xrc:7219
msgid "Vertical"
msgstr "Verticale"
#: configuredialogs.xrc:7227
msgid "How far up and down should the mouse move before D'n'D is triggered? Default value 15"
msgstr "Di quanto deve spostarsi il mouse, sopra o sotto, prima che il Trascinamento venga innescato? Predefinito: 15"
#: configuredialogs.xrc:7245
msgid "How many lines to scroll per mouse-wheel click"
msgstr "Numero di linee per lo scroll tramite rotellina del mouse"
#: configuredialogs.xrc:7253
msgid "If it can't be found from your system settings, this determines how sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr "Se non viene rilevato dalle tue impostazioni di sistema, questo determina quanto dev'essere sensibile la rotellina del mouse, solamente durante il Trascinamento"
#: configuredialogs.xrc:7308
msgid "Configure the Statusbar"
msgstr "Configura Barra di Stato"
#: configuredialogs.xrc:7322
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr "La barra di stato ha quattro sezioni. Qui puoi cambiarne le proporzioni"
#: configuredialogs.xrc:7330
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr "(I cambiamenti non avranno effetto prima del riavvio di 4Pane)"
#: configuredialogs.xrc:7350
msgid "Menu-item help"
msgstr "Aiuto Voce di menù"
#: configuredialogs.xrc:7358
#: configuredialogs.xrc:7463
msgid "(Default 5)"
msgstr "(Predefinito 5)"
#: configuredialogs.xrc:7368
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr "Messaggi d'aiuto a comparsa quando passi sopra ad una voce di menu"
#: configuredialogs.xrc:7385
msgid "Success Messages"
msgstr "Messaggi di Successo"
#: configuredialogs.xrc:7393
msgid "(Default 3)"
msgstr "(Predefinito 3)"
#: configuredialogs.xrc:7404
msgid "Messages like \"Successfully deleted 15 files\". These messages disappear after a configurable number of seconds"
msgstr "Messaggi tipo \"15 files eliminati con successo\". Questi messaggi scompaiono dopo un certo numero di secondi da impostare"
#: configuredialogs.xrc:7421
msgid "Filepaths"
msgstr "Percorsi files"
#: configuredialogs.xrc:7429
msgid "(Default 8)"
msgstr "(Predefinito 8)"
#: configuredialogs.xrc:7439
msgid "Information about the currently-selected file or directory; usually its type, name and size"
msgstr "Informazione sul file o directory selezionato; di norma il tipo, nome e dimensione"
#: configuredialogs.xrc:7455
msgid "Filters"
msgstr "Filtri"
#: configuredialogs.xrc:7473
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
"Quel che mostra il pannello attivo: D=directories F=files N=files nascosti R=dimensione totale ricorsiva.\n"
"Ogni filtro viene mostrato come f*.txt per files di testo che cominciano per 'f'."
#: configuredialogs.xrc:7530
msgid "Export Data"
msgstr "Esporta Dati"
#: configuredialogs.xrc:7544
msgid "This is where, should you wish, you can export part of your configuration data to a file called 4Pane.conf."
msgstr "Qui è dove, se vuoi, puoi esportare parte delle tue impostazioni a un file chiamato 4Pane.conf."
#: configuredialogs.xrc:7552
msgid "If you're tempted, press F1 for more details."
msgstr "Premi F1 per ulteriori dettagli."
#: configuredialogs.xrc:7560
msgid "Deselect any types of data you don't want to export"
msgstr "Deseleziona ogni tipo di dati che non vuoi esportare"
#: configuredialogs.xrc:7572
msgid "Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr "Strumenti come 'df -h' da impostare come predefiniti. Consultare il manuale per ulteriori dettagli"
#: configuredialogs.xrc:7574
msgid " User-defined Tools data"
msgstr " Strumenti definiti dall'utente"
#: configuredialogs.xrc:7581
msgid "Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar by default"
msgstr "Quale(i) editor(s) (Es.: gedit, kwrite) devono avere una icona nella barra degli strumenti"
#: configuredialogs.xrc:7583
msgid " Editors data"
msgstr " Editors"
#: configuredialogs.xrc:7590
msgid "Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr "Impostati in \"Configura 4Pane > Dispositivi\". Consultare il manuale per ulteriori dettagli"
#: configuredialogs.xrc:7592
msgid " Device-mounting data"
msgstr " Dati Dispositivi montati"
#: configuredialogs.xrc:7599
msgid "Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr "Impostati in \"Configura 4Pane > Terminali\". Consultare il manuale per ulteriori dettagli"
#: configuredialogs.xrc:7601
msgid " Terminal-related data"
msgstr " Dati relativi ai Terminali"
#: configuredialogs.xrc:7608
msgid "The contents of the 'Open With...' dialog, and which programs should open which MIME types"
msgstr "Contenuti della finestra di dialogo \"Apri Con...\" e quali programmi utilizzare per i vari \"mime-types\""
#: configuredialogs.xrc:7610
msgid " 'Open With' data"
msgstr " Dati 'Apri Con...'"
#: configuredialogs.xrc:7625
msgid " Export Data "
msgstr " Esporta Dati "
#: dialogs.xrc:41
msgid "Locate"
msgstr "Cerca"
#: dialogs.xrc:99
msgid " Finished "
msgstr " Fatto "
#: dialogs.xrc:110
msgid "Can't Read"
msgstr "Lettura Fallita"
#: dialogs.xrc:128
msgid "I'm afraid you don't have Read permission for "
msgstr "Temo tu non abbia i permessi in lettura per "
#: dialogs.xrc:141
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164
msgid " Skip "
msgstr " Salta "
#: dialogs.xrc:166
msgid "Skip just this file"
msgstr "Salta solo questo file"
#: dialogs.xrc:179
#: dialogs.xrc:688
#: dialogs.xrc:900
#: dialogs.xrc:1389
#: dialogs.xrc:1532
msgid "Skip All"
msgstr "Salta Tutti"
#: dialogs.xrc:181
msgid "Skip any other files where I don't have Read permission"
msgstr "Salta ogni altro file dove non ho permessi di Lettura"
#: dialogs.xrc:194
msgid "Tsk Tsk!"
msgstr "Tsk Tsk!"
#: dialogs.xrc:212
msgid "You seem to be trying to join"
msgstr "Sembra che vuoi far entrare"
#: dialogs.xrc:220
#: dialogs.xrc:243
#: dialogs.xrc:1825
#: dialogs.xrc:1863
#: dialogs.xrc:2317
msgid "Pretend"
msgstr ""
#: dialogs.xrc:235
msgid "to one of its descendants"
msgstr "in uno dei suoi discendenti"
#: dialogs.xrc:251
msgid "This is certainly illegal and probably immoral"
msgstr "Questo non è certamente consentito e probabilmente immorale"
#: dialogs.xrc:273
msgid " I'm Sorry :-( "
msgstr " Spiacente :-( "
#: dialogs.xrc:275
msgid "Click to apologise"
msgstr "Clicca per scusarti"
#: dialogs.xrc:312
msgid "What would you like the new name to be?"
msgstr "Inserisci il nuovo nome"
#: dialogs.xrc:321
msgid "Type in the new name"
msgstr "Inserisci il nuovo nome"
#: dialogs.xrc:374
#: dialogs.xrc:518
msgid "Overwrite or Rename"
msgstr "Sovrascrivi o rinomina"
#: dialogs.xrc:406
#: dialogs.xrc:549
#: dialogs.xrc:1249
msgid "There is already a file here with the name "
msgstr "Nome già utilizzato da un altro file"
#: dialogs.xrc:487
#: dialogs.xrc:645
#: dialogs.xrc:1185
#: dialogs.xrc:1345
#: dialogs.xrc:1487
msgid "Overwrite it"
msgstr "Sovrascrivi"
#: dialogs.xrc:495
#: dialogs.xrc:662
msgid " Rename Incoming File "
msgstr " Rinomina File in Entrata "
#: dialogs.xrc:653
#: dialogs.xrc:1353
msgid " Overwrite All "
msgstr "Sovrascrivi Tutti "
#: dialogs.xrc:655
#: dialogs.xrc:1355
msgid "Overwrite all files when there is a name clash"
msgstr "Sovrascrivi tutti i files in caso di conflitto di nomi"
#: dialogs.xrc:670
msgid " Rename All "
msgstr " Rinomina Tutti "
#: dialogs.xrc:672
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr "Vai direttamente alla finestra di dialogo Rinomina in caso di conflitto di nomi"
#: dialogs.xrc:679
#: dialogs.xrc:891
#: dialogs.xrc:1380
#: dialogs.xrc:1523
#: dialogs.xrc:2038
msgid "Skip"
msgstr "Salta"
#: dialogs.xrc:681
#: dialogs.xrc:893
#: dialogs.xrc:1382
#: dialogs.xrc:1525
#: dialogs.xrc:1634
msgid "Skip this item"
msgstr "Salta questo oggetto"
#: dialogs.xrc:690
#: dialogs.xrc:1391
msgid "Skip all files where there is a name clash"
msgstr "Salta tutti i files dove c'è un conflitto di nomi"
#: dialogs.xrc:718
msgid "Rename or cancel"
msgstr "Rinomina o annulla"
#: dialogs.xrc:741
msgid "There is already a directory here with this name."
msgstr "Nome già utilizzato da un'altra directory."
#: dialogs.xrc:772
#: dialogs.xrc:874
msgid " Rename Incoming Dir "
msgstr " Rinomina Dir di Provenienza "
#: dialogs.xrc:806
#: dialogs.xrc:1564
msgid "Rename or skip"
msgstr "Rinomina o salta"
#: dialogs.xrc:829
#: dialogs.xrc:1442
msgid "There is already a Directory here with the name"
msgstr "Qui esiste già una Directory chiamata"
#: dialogs.xrc:882
msgid "Rename All"
msgstr "Rinomina Tutti"
#: dialogs.xrc:884
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr "Vai direttamente alla finestra di dialogo Rinomina per tutti i nomi in conflitto"
#: dialogs.xrc:902
#: dialogs.xrc:1534
#: dialogs.xrc:1643
msgid "Skip all items where there is a name clash"
msgstr "Salta gli oggetti dove si presenta un conflitto di nomi"
#: dialogs.xrc:932
msgid "Query duplicate in archive"
msgstr "Interroga duplicato nell'archivio"
#: dialogs.xrc:955
msgid "There is already a file with this name in the archive"
msgstr "File con lo stesso nome già presente nell'archivio"
#: dialogs.xrc:978
msgid "Store a duplicate of it"
msgstr "Salvane un duplicato"
#: dialogs.xrc:980
msgid "Inside an archive you're allowed to have two identical items with the same name. If that's what you want (and you'll presumably have a good reason :/ ) click this button"
msgstr "Ti è concesso di avere due oggetti identici con lo stesso nome in un archivio. Se è ciò che vuoi (e probabilmente hai un valido motivo :/ ) clicca questo pulsante"
#: dialogs.xrc:1002
msgid "Duplicate by Renaming in archive"
msgstr "Duplica Rinominando nell'archivio"
#: dialogs.xrc:1025
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr "Spiacente, non puoi creare una duplicazione direttamente nell'archivio"
#: dialogs.xrc:1033
msgid "Would you like to duplicate by renaming instead?"
msgstr "Vuoi invece fare una copia con rinomina?"
#: dialogs.xrc:1050
msgid "Make a copy of each item or items, using a different name"
msgstr "Crea una copia di uno o più oggetti usando un nome diverso"
#: dialogs.xrc:1072
msgid "Add to archive"
msgstr "Aggiungi all'archivio"
#: dialogs.xrc:1104
msgid "There is already an item here with the name "
msgstr "C'è già un oggetto chiamato "
#: dialogs.xrc:1187
msgid "Delete the original file from the archive, and replace it with the incoming one"
msgstr "Elimina il file originale dall'archivio, rimpiazzandolo con quello nuovo"
#: dialogs.xrc:1194
msgid " Store both items"
msgstr " Salva entrambi gli oggetti"
#: dialogs.xrc:1196
msgid "It's allowed inside an archive to have multiple files with the same name. Click this button if that's what you want (you'll presumably have a good reason :/ )"
msgstr "E' ammesso avere files molteplici con lo stesso nome in un archivio. Clicca questo pulsante se è ciò che vuoi (devi avere una buona ragione per volerlo :/ )"
#: dialogs.xrc:1218
#: dialogs.xrc:1419
msgid "Overwrite or add to archive"
msgstr "Sovrascrivi o aggiungi all'archivio"
#: dialogs.xrc:1362
#: dialogs.xrc:1505
msgid "Store both items"
msgstr "Salva entrambi gli oggetti"
#: dialogs.xrc:1364
msgid "Inside an archive you're allowed to have two files with the same name. If that's what you want (and you'll presumably have a good reason :/ ) click this button"
msgstr "Ti è concesso di avere due files con lo stesso nome in un archivio. Se è ciò che vuoi (e probabilmente hai un valido motivo :/ ) clicca questo pulsante"
#: dialogs.xrc:1371
#: dialogs.xrc:1514
msgid " Store All "
msgstr " Salva tutti"
#: dialogs.xrc:1373
msgid "Inside an archive you're allowed to have two files with the same name. If that's always what you want (and you'll presumably have a good reason :/ ) click this button"
msgstr "Ti è concesso di avere due files con lo stesso nome in un archivio. Se è sempre ciò che vuoi (e probabilmente hai un valido motivo :/ ) clicca questo pulsante"
#: dialogs.xrc:1489
msgid "Replace the current dir with the incoming one"
msgstr "Sostituisci la dir corrente con quella di provenienza"
#: dialogs.xrc:1496
msgid "Overwrite All"
msgstr "Sovrascrivi Tutti"
#: dialogs.xrc:1498
msgid "Replace the current dir with the incoming one, and do this for any other clashes"
msgstr "Sostituisci la dir corrente con quella di provenienza e ripeti azione in caso analogo"
#: dialogs.xrc:1507
msgid "Inside an archive you're allowed to have two dirs with the same name. If that's what you want (and you'll presumably have a good reason :/ ) click this button"
msgstr "Ti è concesso di avere due directories con lo stesso nome in un archivio. Se è ciò che vuoi (e probabilmente hai un valido motivo :/ ) clicca questo pulsante"
#: dialogs.xrc:1516
msgid "Inside an archive you're allowed to have two dirs with the same name. If that's always what you want (and you'll presumably have a good reason :/ ) click this button"
msgstr "Ti è concesso di avere due directories con lo stesso nome in un archivio. Se è sempre ciò che vuoi (e probabilmente hai un valido motivo :/ ) clicca questo pulsante"
#: dialogs.xrc:1587
msgid "There is already an item here with the name"
msgstr "Esiste già un oggetto con lo stesso nome"
#: dialogs.xrc:1632
msgid "Skip it"
msgstr "Salta"
#: dialogs.xrc:1641
msgid "Skip All Clashes"
msgstr "Salta Tutti i Conflitti"
#: dialogs.xrc:1664
msgid "Abort all items"
msgstr "Annulla tutti gli oggetti"
#: dialogs.xrc:1673
msgid "My Dialog"
msgstr ""
#: dialogs.xrc:1696
msgid "You seem to want to overwrite this file with itself"
msgstr "Pare che tu voglia sovrascrivere il file con se stesso"
#: dialogs.xrc:1704
msgid "Does this mean:"
msgstr "Questo significa:"
#: dialogs.xrc:1726
msgid "I want to DUPLICATE it"
msgstr "Voglio DUPLICARLO"
#: dialogs.xrc:1741
msgid "or:"
msgstr "oppure:"
#: dialogs.xrc:1758
msgid "Oops, I didn't mean it"
msgstr "Oops, non l'avevo inteso"
#: dialogs.xrc:1777
msgid "Make a Link"
msgstr "Crea un collegamento"
#: dialogs.xrc:1803
msgid " Create a new Link from: "
msgstr " Crea nuovo Collegamento da: "
#: dialogs.xrc:1827
#: dialogs.xrc:1865
#: dialogs.xrc:2319
msgid "This is what you are trying to Link to"
msgstr "Questo è ciò che stai tentando di Collegare"
#: dialogs.xrc:1847
msgid "Make the link in the following Directory:"
msgstr "Crea il link nella seguente Directory:"
#: dialogs.xrc:1889
msgid "What would you like to call the Link?"
msgstr "Come vuoi chiamare il Collegamento?"
#: dialogs.xrc:1906
msgid "Keep the same name"
msgstr "Mantieni lo stesso nome"
#: dialogs.xrc:1915
msgid "Use the following Extension"
msgstr "Usa la seguente Estensione"
#: dialogs.xrc:1923
msgid "Use the following Name"
msgstr "Usa il seguente Nome"
#: dialogs.xrc:1944
msgid "Enter the extension you would like to add to the original filename"
msgstr "Inserisci l'estensione che vuoi aggiungere al nome del file originale"
#: dialogs.xrc:1952
msgid "Enter the name you would like to give this link"
msgstr "Inserisci il nome che vuoi dare a questo collegamento"
#: dialogs.xrc:1967
msgid "Check this box if you wish to make relative symlink(s) e.g. to ../../foo instead of /path/to/foo"
msgstr "Seleziona questa casella se vuoi creare symlinks relativi (Es.: ../../foo invece di /path/to/foo)"
#: dialogs.xrc:1969
msgid "Make Relative"
msgstr "Rendi Relativo"
#: dialogs.xrc:1976
msgid "Check this box if you wish these choices to be applied automatically to the rest of the items selected"
msgstr "Seleziona questa casella se queste scelte siano applicate automaticamente a tutti gli altri oggetti selezionati"
#: dialogs.xrc:1978
msgid "Apply to all"
msgstr "Applica a tutti"
#: dialogs.xrc:1997
msgid "If you've changed your mind about which type of link you want, chose again here."
msgstr "Se cambi idea sul tipo di collegamento da creare, fallo da qui"
#: dialogs.xrc:2001
msgid "I want to make a Hard Link"
msgstr "Voglio creare un Hard Link"
#: dialogs.xrc:2002
msgid "I want to make a Soft link"
msgstr "Voglio creare un Soft Link"
#: dialogs.xrc:2069
msgid "Choose a name for the new item"
msgstr "Scegli un nome per il nuovo oggetto"
#: dialogs.xrc:2086
msgid "Do you want a new File or a new Directory?"
msgstr "Vuoi un nuovo File oppure una nuova Directory?"
#: dialogs.xrc:2090
msgid "Make a new File"
msgstr "Crea nuovo File"
#: dialogs.xrc:2091
msgid "Make a new Directory"
msgstr "Crea nuova Directory"
#: dialogs.xrc:2150
msgid "Choose a name for the new Directory"
msgstr "Scegli un nome per la nuova Directory"
#: dialogs.xrc:2216
msgid "Add a Bookmark"
msgstr "Aggiungi Segnalibro"
#: dialogs.xrc:2237
msgid "Add the following to your Bookmarks: "
msgstr "Aggiungi il seguente ai tuoi Segnalibri: "
#: dialogs.xrc:2251
msgid "This is the bookmark that will be created"
msgstr "Questo è il segnalibro che verrà creato"
#: dialogs.xrc:2280
msgid "What label would you like to give this bookmark?"
msgstr "Quale etichetta vuoi assegnare a questo segnalibro?"
#: dialogs.xrc:2301
#: dialogs.xrc:3155
msgid "Add it to the following folder:"
msgstr "Aggiungilo alla seguente cartella:"
#: dialogs.xrc:2332
msgid "Change Folder"
msgstr "Cambia Cartella"
#: dialogs.xrc:2334
msgid "Click if you want to save this bookmark in a different folder, or to create a new folder"
msgstr "Clicca se vuoi salvare questo segnalibro in una cartella differente, oppure crea una nuova cartella"
#: dialogs.xrc:2387
msgid "Edit a Bookmark"
msgstr "Modifica Segnalibro"
#: dialogs.xrc:2403
msgid "Make any required alterations below"
msgstr "Applica i cambiamenti richiesti qui sotto"
#: dialogs.xrc:2425
msgid "Current Path"
msgstr "Percorso Attuale"
#: dialogs.xrc:2439
msgid "This is current Path"
msgstr "Questo è il Percorso attuale"
#: dialogs.xrc:2454
msgid "Current Label"
msgstr "Etichetta Attuale"
#: dialogs.xrc:2468
msgid "This is the current Label"
msgstr "Questa è l'Etichetta attuale"
#: dialogs.xrc:2523
msgid "Manage Bookmarks"
msgstr "Gestisci Segnalibri"
#: dialogs.xrc:2549
#: dialogs.xrc:3185
msgid "New Folder"
msgstr "Nuova Cartella"
#: dialogs.xrc:2551
msgid "Create a new Folder"
msgstr "Crea nuova Cartella"
#: dialogs.xrc:2565
msgid "Insert a new Separator"
msgstr "Inserisci Separatore"
#: dialogs.xrc:2577
msgid "Edit Selection"
msgstr "Modifica Selezione"
#: dialogs.xrc:2579
msgid "Edit the highlit item"
msgstr "Modifica l'oggetto selezionato"
#: dialogs.xrc:2593
msgid "Delete the highlit item"
msgstr "Elimina oggetto selezionato"
#: dialogs.xrc:2674
msgid "Open with:"
msgstr "Apri con:"
#: dialogs.xrc:2694
msgid "Type in the path & name of the application to use, if you know it. If not, browse, or choose from the list below."
msgstr "Inserisci il percorso e il nome dell'applicazione da usare, se la conosci. Altrimenti sfoglia o scegli dalla lista qui sotto."
#: dialogs.xrc:2708
#: dialogs.xrc:3032
msgid "Click to browse for the application to use"
msgstr "Clicca per sfogliare per l'applicazione da utilizzare"
#: dialogs.xrc:2739
msgid "Edit Application"
msgstr "Modifica Applicazione"
#: dialogs.xrc:2741
msgid "Edit the selected Application"
msgstr "Modifica l'Applicazione selezionata"
#: dialogs.xrc:2753
msgid "Remove Application"
msgstr "Elimina Applicazione"
#: dialogs.xrc:2755
msgid "Remove the selected Application from the folder"
msgstr "Elimina l'Applicazione selezionata dalla cartella"
#: dialogs.xrc:2776
msgid "Add Application"
msgstr "Aggiungi Applicazione"
#: dialogs.xrc:2778
msgid "Add the Application to the selected folder below"
msgstr "Aggiungi l'Applicazione alla cartella selezionata qui sotto"
#: dialogs.xrc:2804
msgid " Add Folder "
msgstr " Aggiungi Cartella "
#: dialogs.xrc:2806
msgid "Add a folder to the tree below"
msgstr "Aggiungi una cartella all'albero qui sotto"
#: dialogs.xrc:2818
msgid "Remove Folder"
msgstr "Rimuovi Cartella"
#: dialogs.xrc:2820
msgid "Remove the selected folder from the tree below"
msgstr "Rimuovi la cartella selezionata dall'albero qui sotto"
#: dialogs.xrc:2850
msgid "Click an application to select"
msgstr "Clicca l'applicazione da selezionare"
#: dialogs.xrc:2872
#: dialogs.xrc:3215
msgid "Tick the box to open the file with this application within a terminal"
msgstr "Seleziona la casella per aprire il file con questa applicazione in un terminale"
#: dialogs.xrc:2874
#: dialogs.xrc:3217
msgid "Open in terminal"
msgstr "Apri in un Terminale"
#: dialogs.xrc:2881
#: dialogs.xrc:3224
msgid "Tick the box if in the future you want this application to be called automatically to launch this type of file"
msgstr "Seleziona la casella se in futuro vuoi che questa applicazione sia chiamata automaticamente per aprire questo tipo di file"
#: dialogs.xrc:2883
#: dialogs.xrc:3226
msgid "Always use the selected application for this kind of file"
msgstr "Usa sempre l'applicazione selezionata per questo tipo di file"
#: dialogs.xrc:2941
msgid "Add an Application"
msgstr "Aggiungi una Applicazione"
#: dialogs.xrc:2959
msgid "Label to give the Application (optional )"
msgstr "Etichetta da dare all'Applicazione (opzionale)"
#: dialogs.xrc:2978
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
"Questo nome deve essere univoco. Se non ne inserisci uno, verrà usata la fine del percorso del file.\n"
"Es.: /usr/local/bin/foo sarà chiamato 'foo'"
#: dialogs.xrc:3000
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
"Dov'è l'Applicazione? Es.: /usr/local/bin/gs\n"
"(in alcuni casi è sufficiente solo il nome del file)"
#: dialogs.xrc:3018
msgid "Type in the name of the application. If it is in your PATH, you should get away with just the name eg kwrite. Otherwise you will need the full pathname eg /usr/X11R6/bin/foo"
msgstr "Inserisci il nome dell'applicazione. Se è presente nel tuo PATH, è sufficiente solo il nome (Es.: kwrite). Altrimenti è richiesto il percorso completo (Es.: /usr/X11R6/bin/foo)"
#: dialogs.xrc:3052
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr "Estensioni dei files da aprire? (Es.: txt oppure htm, html)"
#: dialogs.xrc:3067
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
"Questo è opzionale. Se inserisci una o più estensioni, questa applicazione sarà elencata quando clicchi col tasto destro su tali estensioni. Devi inserirne almeno una per rendere predefinita questa applicazione con questo tipo di file. Quindi se vuoi che tutti i files con estensione 'txt', al doppio click, siano aperti con questa applicazione, scrivi txt qui.\n"
"Puoi inserire più di una estensione, separate da virgola. (Es.: htm,html)"
#: dialogs.xrc:3082
#, c-format
msgid " What is the Command String to use? e.g. kedit %s "
msgstr " Qual'è la Stringa di Comando da usare? (Es.: kedit %s)"
#: dialogs.xrc:3096
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
"Questo è il comando da usare per la lettura di un file. Di solito il programma seguito da %s, che rappresenta il file da leggere. Quindi se kedit è il tuo editor di testo predefinito e il comando da eseguire è kedit %s, il doppio click al file foo.txt eseguirà \" kedit 'foo.txt' \"\n"
"Se non funziona, dovrai leggere il manuale della applicazione in questione."
#: dialogs.xrc:3112
msgid " Working directory in which to run the app (optional) "
msgstr " Directory di lavoro dalla quale avviare l'applicazione (opzionale)"
#: dialogs.xrc:3176
msgid "Put the application in this group. So kedit goes in Editors."
msgstr "Inserisci l'applicazione in questo gruppo. Così kedit viene inserito in Editors."
#: dialogs.xrc:3187
msgid "Add a new group to categorise applications"
msgstr "Aggiungi gruppo categoria applicazioni"
#: dialogs.xrc:3301
msgid "For which Extensions do you want the application to be default."
msgstr "Per quale Estensione vuoi che l'applicazione sia la predefinita."
#: dialogs.xrc:3319
msgid "These are the extensions to choose from"
msgstr "Queste le estensioni dalle quali scegliere"
#: dialogs.xrc:3331
msgid "You can either use the first two buttons, or select using the mouse (& Ctrl-key for non-contiguous choices)"
msgstr "Puoi usare sia i primi due pulsanti, o selezionarli usando il mouse (abbina il tasto Ctrl per scelte non contigue)"
#: dialogs.xrc:3336
msgid "All of them"
msgstr "Tutti"
#: dialogs.xrc:3337
msgid "Just the First"
msgstr "Solo il Primo"
#: dialogs.xrc:3338
msgid "Select with Mouse (+shift key)"
msgstr "Seleziona col Mouse (+ tasto Shift)"
#: dialogs.xrc:3389
msgid "Save Template"
msgstr "Salva Modello"
#: dialogs.xrc:3417
msgid "There is a Template loaded already."
msgstr "Modello già caricato."
#: dialogs.xrc:3425
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr "Vuoi Sovrascrivere questo, oppure Salvarlo come nuovo Modello?"
#: dialogs.xrc:3440
msgid " Overwrite "
msgstr " Sovrascrivi "
#: dialogs.xrc:3454
msgid " New Template "
msgstr " Nuovo Modello "
#: dialogs.xrc:3478
msgid "Enter the Filter String"
msgstr "Specifica la Stringa di Filtro"
#: dialogs.xrc:3503
msgid "Enter a string to use as a filter, or use the history. Multiple filters can be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or *htm,*html"
msgstr "Inserisci una stringa da usare come filtro, oppure utilizza lo storico. Filtri multipli possono esser separati da | o virgola. Es.: Pre*.txt oppure *.jpg | *.png oppure *htm,*html"
#: dialogs.xrc:3520
msgid "Show only files, not dirs"
msgstr "Visualizza solo i Files, non le cartelle"
#: dialogs.xrc:3522
msgid "Display only Files"
msgstr "Visualizza solo i Files"
#: dialogs.xrc:3530
msgid "Reset the filter, so that all files are shown ie *"
msgstr "Reimposta il filtro, in modo da visualizzare tutti i files es.: *"
#: dialogs.xrc:3532
msgid "Reset filter to * "
msgstr "Reimposta filtro a * "
#: dialogs.xrc:3540
msgid "Use the selected filter on all panes in this Tab"
msgstr "Usa il filtro selezionato in tutti i riquadri di questa Scheda"
#: dialogs.xrc:3542
msgid "Apply to All visible panes"
msgstr "Applica a Tutti i riquadri visibili"
#: dialogs.xrc:3595
msgid "Multiple Rename"
msgstr "Rinomina Multipla"
#: dialogs.xrc:3618
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr "Puoi cambiare un foo.bar in, ad esempio, foo1.bar o nuovo.foo.bar"
#: dialogs.xrc:3626
msgid "or do something more complex with a regex"
msgstr "oppure usando una regex per adottare metodi più complessi"
#: dialogs.xrc:3661
msgid " Use a Regular Expression"
msgstr " Usa Espressione Regolare"
#: dialogs.xrc:3672
#: moredialogs.xrc:11636
msgid "Regex Help"
msgstr "Aiuto RegEx"
#: dialogs.xrc:3703
msgid "Replace"
msgstr "Sostituisci"
#: dialogs.xrc:3705
#: dialogs.xrc:3926
msgid "Type in the text or regular expression that you want to be substituted"
msgstr "Inserisci il testo o l'espressione regolare per la sostituzione"
#: dialogs.xrc:3713
msgid "Type in the text that you want to substitute"
msgstr "Inserisci il testo che vuoi sostituire"
#: dialogs.xrc:3732
msgid "With"
msgstr "Con"
#: dialogs.xrc:3796
msgid "Replace all matches in a name"
msgstr "Sostituisci tutte le ricorrenze"
#: dialogs.xrc:3811
msgid "Replace the first "
msgstr "Sostituisci le prime "
#: dialogs.xrc:3820
msgid "Given the name 'foo-foo-foo' and replacement text 'bar', setting the count to 2 would result in 'bar-bar-foo'"
msgstr "Dato un nome \"foo-foo-foo\" e \"bar\" come testo di sostituzione, impostando il conto a 2 darà \"bar-bar-foo\" come risultato"
#: dialogs.xrc:3829
msgid " matches in name"
msgstr " corrispondenze nel nome"
#: dialogs.xrc:3850
msgid "Suppose you select all the files in a directory and want to use a regex to change any .jpeg files to .jpg. If you don't tick this box, all other files in the selection will also be renamed by the non-regex section; which is probably not what you want."
msgstr "Supponiamo il caso nel quale devi selezionare tutti i file in una directory e di usare una espressione regolare per cambiare l'estensione .jpeg in .jpg. Selezionando questa casella, tutti gli altri file selezionati utilizzeranno la stessa espressione."
#: dialogs.xrc:3852
msgid "Completely ignore non-matching files"
msgstr "Ignora completamente tutti i file non corrispondenti"
#: dialogs.xrc:3873
msgid "How (else) to create new names:"
msgstr "Altri metodi di rinomina:"
#: dialogs.xrc:3875
msgid "If you have successfully used a regex above, this may not be necessary. But if you didn't, or some clashes remain, this is how they will be overcome."
msgstr "Se hai usato con successo la regex sopra, questo potrebbe non esser necessario. In caso contrario, o di alcuni riscontri, qui è come puoi sistemare."
#: dialogs.xrc:3888
msgid "Change which part of the name?"
msgstr "Parte del nome da cambiare:"
#: dialogs.xrc:3890
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
"Se il nome è foo.qualcosa.bar, selezionando \"Estensione\" influirà in \"bar\", non in \"qualcosa.bar\".\n"
"Se scegli \"Estensione\" quando non ne sono presenti, ne sarà invece modificato il corpo."
#: dialogs.xrc:3894
msgid "Body"
msgstr "Corpo"
#: dialogs.xrc:3895
msgid "Ext"
msgstr "Estensione"
#: dialogs.xrc:3924
msgid "Prepend text (optional)"
msgstr "Preponi testo (opzionale)"
#: dialogs.xrc:3933
msgid "Type in any text to Prepend"
msgstr "Inserisci il testo da preporre"
#: dialogs.xrc:3952
msgid "Append text (optional)"
msgstr "Accoda testo (opzionale)"
#: dialogs.xrc:3960
msgid "Type in any text to Append"
msgstr "Inserisci il testo da accodare"
#: dialogs.xrc:3992
msgid "Increment starting with:"
msgstr "Incrementa partendo da:"
#: dialogs.xrc:4008
#: dialogs.xrc:4016
msgid "If there's still a name-clash despite anything you've done above, this adds a digit or a letter to create a new name. So joe.txt will become joe0.txt (or joe.txt0 if you've chosen to change the ext)"
msgstr "Se c'è ancora un conflitto di nomi, nonostante tutto ciò che hai fatto in precedenza, questo aggiunge una lettera o una cifra per creare un nuovo nome. Così joe.txt diventerà joe0.txt (o joe.txt0 se hai scelto di cambiare Estensione)"
#: dialogs.xrc:4026
msgid "If this box is ticked, an Increment will only happen if it's needed to avoid a name-clash. If it's not, it will happen anyway."
msgstr "Selezionando questa casella, l'Incremento sarà applicato solamente se necessario per evitare un conflitto di nomi. Altrimenti sarà applicato ugualmente."
#: dialogs.xrc:4028
msgid " Only if needed"
msgstr " Solo all'occorrenza"
#: dialogs.xrc:4044
msgid "Increment with a"
msgstr "Incrementa con una"
#: dialogs.xrc:4046
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr "Determina se 'joe' cambierà in 'joe0' o 'joeA'"
#: dialogs.xrc:4050
msgid "digit"
msgstr "cifra"
#: dialogs.xrc:4051
msgid "letter"
msgstr "lettera"
#: dialogs.xrc:4065
msgid "Case"
msgstr "Lettere"
#: dialogs.xrc:4067
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr "Se vuoi che 'joe' diventi 'joeA' o 'joea'"
#: dialogs.xrc:4071
msgid "Upper"
msgstr "Maiuscole"
#: dialogs.xrc:4072
msgid "Lower"
msgstr "Minuscole"
#: dialogs.xrc:4127
msgid "Confirm Rename"
msgstr "Conferma Rinomina"
#: dialogs.xrc:4140
msgid "Are you sure that you want to make these changes?"
msgstr "Sei sicuro di applicare questi cambiamenti?"
#: dialogs.xrc:4218
msgid "Try Again"
msgstr "Ritenta"
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr "Locate"
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr "Inserisci la stringa di ricerca. Es.: *foo[ab]r"
#: moredialogs.xrc:31
msgid "This is the pattern to be matched. If you type in 'foo', both path/foo and path/foobar/morepath will be found. Alternatively you can use the wildcards *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr "Questo è uno schema per la corrispondenza. Se inserisci 'foo', sia percorso/foo e percorso/foobar/altropercorso verranno trovati. In alternativa puoi usare i metacaratteri *, ? e [ ]. In questo caso, Individua ritornerà solamente le esatte corrispondenze (Es.: devi inserire *foo[ab]r* per trovare percorso/foobar/altropercorso)"
#: moredialogs.xrc:51
msgid "Match only the final component of a file e.g. the 'foo' bit of /home/myname/bar/foo but not /home/myname/foo/bar"
msgstr "Individua solamente la parte finale del percorso di un file (Es.: trova 'foo' in /home/mionome/bar/foo e non in /home/mionome/foo/bar)"
#: moredialogs.xrc:53
msgid " -b Basename"
msgstr " -b nome Base"
#: moredialogs.xrc:60
msgid "If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr "Se selezionato, ricercando 'foo' come risultati potranno essere visualizzati sia foo che Foo (FoO ecc...)"
#: moredialogs.xrc:62
msgid " -i Ignore case"
msgstr " -i Ignora maiuscole/minuscole"
#: moredialogs.xrc:76
msgid "Locate searches a database, which is usually updated only once a day. If this box is ticked, each result is checked to make sure it still exists, and hasn't been deleted since the last update. If there are lots of results, this may take a noticeable time to do."
msgstr "Locate cercherà in un database, normalmente aggiornato una volta al giorno. Se questa casella è selezionata, ogni risultato verrà verificato per la sua esistenza, che non sia stato eliminato fino all'ultimo aggiornamento. Se ci sono molti risultati, impiegherà parecchio tempo."
#: moredialogs.xrc:78
msgid " -e Existing"
msgstr " -e Esistente"
#: moredialogs.xrc:85
msgid "If checked, treat the pattern as a Regular Expression, not just the usual glob"
msgstr "Se selezionato, tratta lo schema di ricerca come una Espressione Regolare, non come un tipico glob"
#: moredialogs.xrc:87
msgid " -r Regex"
msgstr " -r Regex"
#: moredialogs.xrc:142
msgid "Find"
msgstr "Trova"
#: moredialogs.xrc:163
#: moredialogs.xrc:760
msgid "Path"
msgstr "Percorso"
#: moredialogs.xrc:185
msgid ""
"Find is a decidedly complex command. If your needs are simple, instead use 'locate'\n"
"which is also much faster. If you do need to use Find, read its man page, or at least\n"
"each item's tooltips, as this command can damage your filesystem and your sanity."
msgstr ""
"Find è un comando decisamente complesso. Se invece le tue esigenze sono semplici, usare 'Locate'\n"
"che è anche più veloce. Se vuoi usare Trova, leggi la pagina relativa nel manuale, o per lo meno\n"
"ogni suggerimento a comparsa, in quanto potrebbe danneggiare il tuo filesystem e sanità mentale..."
#: moredialogs.xrc:193
msgid "Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr "Inserisci il Percorso da dove partire con la ricerca (o usa una delle scorciatoie) "
#: moredialogs.xrc:220
msgid "Path "
msgstr "Percorso "
#: moredialogs.xrc:229
msgid "Type in the Path from which to search"
msgstr "Inserisci il Percorso di partenza per la ricerca"
#: moredialogs.xrc:256
msgid "Search the current directory and below"
msgstr "Cerca partendo dalla directory corrente"
#: moredialogs.xrc:258
#: moredialogs.xrc:3667
#: moredialogs.xrc:11721
msgid "Current Directory"
msgstr "Cartella Attuale"
#: moredialogs.xrc:265
msgid "Search your Home directory and below"
msgstr "Cerca partendo dalla directory Home"
#: moredialogs.xrc:267
#: moredialogs.xrc:3675
#: moredialogs.xrc:11729
msgid "Home"
msgstr "Home"
#: moredialogs.xrc:274
msgid "Search the whole directory tree"
msgstr "Cerca nell'intero albero della directory"
#: moredialogs.xrc:276
#: moredialogs.xrc:3683
#: moredialogs.xrc:11737
msgid "Root ( / )"
msgstr "Root ( / )"
#: moredialogs.xrc:292
#: moredialogs.xrc:800
msgid "Add To Command String, surrounded by Quotes"
msgstr "Aggiungi alla stringa di comando, racchiuso tra virgolette"
#: moredialogs.xrc:294
#: moredialogs.xrc:802
#: moredialogs.xrc:3705
msgid "Add to the Command string. Single quotes will be provided to protect metacharacters."
msgstr "Aggiungi alla stringa di comando. Degli apici saranno aggiunti automaticamente in caso di metacaratteri."
#: moredialogs.xrc:308
#: moredialogs.xrc:9849
msgid "Options"
msgstr "Opzioni"
#: moredialogs.xrc:323
msgid "These options are applied to the whole command. Select any you wish."
msgstr "Queste opzioni verranno applicate all'intero comando. Seleziona quelle che desideri."
#: moredialogs.xrc:354
msgid "Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from 24 hours ago"
msgstr "Misura il tempo (tramite -amin, -atime, -cmin, -ctime, -mmin, and -mtime) dall'inizio del giorno corrente invece di 24 ore fa"
#: moredialogs.xrc:356
msgid "-daystart"
msgstr "-daystart"
#: moredialogs.xrc:363
msgid "Process each directory's contents before the directory itself. In other words, Find from the bottom upwards."
msgstr "Esamina ogni contenuto della directory prima della directory stessa. In altre parole, Trova dal basso verso l'alto."
#: moredialogs.xrc:365
msgid "-depth"
msgstr "-depth"
#: moredialogs.xrc:372
msgid "Dereference symbolic links (ie look at what is linked to, not the link itself). Implies -noleaf."
msgstr "Dereferenzia collegamenti simbolici (guarda alla destinazione, non il collegamento in se). Implica -noleaf."
#: moredialogs.xrc:374
msgid "-follow"
msgstr "-follow"
#: moredialogs.xrc:392
msgid "Descend at most the selected number of levels of directories below the start path. `-maxdepth 0' means only apply the tests and actions to the command line arguments."
msgstr "Ricorre al massimo il numero selezionato di livelli di directory a partire dal percorso base. `-maxdepth 0' corrisponde ai test e azioni degli argomenti della linea di comando."
#: moredialogs.xrc:394
msgid "-maxdepth"
msgstr "-maxdepth"
#: moredialogs.xrc:401
msgid "Don't start searching until the selected depth down each directory branch. `-mindepth 1' means process all files except the command line arguments."
msgstr "Numero di livelli di directory da saltare prima di iniziare la ricerca."
#: moredialogs.xrc:403
msgid "-mindepth"
msgstr "-mindepth"
#: moredialogs.xrc:449
msgid "Don't optimise by assuming that directories contain 2 fewer subdirectories than their hard link count"
msgstr "Non ottimizzare la ricerca decrementando di 2 il numero di oggetti ignorando gli hard-link della directory corrente e superiore ('.' e '..')"
#: moredialogs.xrc:451
msgid "-noleaf"
msgstr "-noleaf"
#: moredialogs.xrc:458
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr "Non cercare negli altri filesystem. Sinonimo di -mount"
#: moredialogs.xrc:460
msgid "-xdev (-mount)"
msgstr "-xdev (-mount)"
#: moredialogs.xrc:467
msgid "HEELLLP!!"
msgstr "AIUUTOO!!"
#: moredialogs.xrc:469
msgid "-help"
msgstr "-help"
#: moredialogs.xrc:492
#: moredialogs.xrc:642
#: moredialogs.xrc:1191
#: moredialogs.xrc:1436
#: moredialogs.xrc:2005
#: moredialogs.xrc:2400
#: moredialogs.xrc:2684
#: moredialogs.xrc:2791
#: moredialogs.xrc:3067
#: moredialogs.xrc:3422
#: moredialogs.xrc:3593
#: moredialogs.xrc:3703
msgid "Add To Command String"
msgstr "Aggiungi alla Stringa di Comando"
#: moredialogs.xrc:494
#: moredialogs.xrc:644
#: moredialogs.xrc:2402
#: moredialogs.xrc:2686
#: moredialogs.xrc:2793
#: moredialogs.xrc:3069
#: moredialogs.xrc:3424
msgid "Add these choices to the Command string"
msgstr "Aggiungi queste scelte alla stringa di Comando"
#: moredialogs.xrc:504
msgid "Operators"
msgstr "Operatori"
#: moredialogs.xrc:524
msgid "Here for completeness, but it's usually easier to write them direct into the Command String."
msgstr "Qui per completezza, ma di solito è più facile scriverle direttamente nella stringa di comando."
#: moredialogs.xrc:532
msgid "Select one at a time."
msgstr "Selezionane una alla volta."
#: moredialogs.xrc:565
msgid "Logically AND the two surrounding expressions. Since this is the default, the only reason explicitly to use it is for emphasis."
msgstr "Applica l'operatore logico AND alle due espressioni circostanti (predefinito)"
#: moredialogs.xrc:567
msgid "-and"
msgstr "-and"
#: moredialogs.xrc:574
msgid "Logically OR the surrounding expressions"
msgstr "Applica l'operatore logico OR alle espressioni circostanti"
#: moredialogs.xrc:576
msgid "-or"
msgstr "-or"
#: moredialogs.xrc:583
msgid "Negate the following expression"
msgstr "Nega l'espressione seguente"
#: moredialogs.xrc:585
msgid "-not"
msgstr "-not"
#: moredialogs.xrc:599
msgid "Used (with Close Bracket) to alter precedence eg ensure two -path expressions are run before a -prune. It is automatically 'escaped' with a backslash."
msgstr "Utilizzato (abbinato a Parentesi Chiusa) per modificare la precedenza nelle opzioni. A questo viene applicato automaticamente un escape tramite backslash."
#: moredialogs.xrc:601
msgid "Open Bracket"
msgstr "Parentesi Aperta"
#: moredialogs.xrc:608
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr "Analogo a Parentesi Aperta, ma con escape utilizzando una backslash."
#: moredialogs.xrc:610
msgid "Close Bracket"
msgstr "Parentesi Chiusa"
#: moredialogs.xrc:617
msgid "Separates list items with a comma. If you can't think of a use for this, you're in good company."
msgstr "Separa la lista oggetti con virgola. Se non pensi di farne uso, sei in buona compagnia."
#: moredialogs.xrc:619
msgid "List ( , )"
msgstr "Lista ( , )"
#: moredialogs.xrc:673
msgid "If required, enter a filename, a path or a symbolic-link name, which can include wildcards."
msgstr "Se necessario, inserisci un nome di file, di percorso o di collegamento simbolico, che può includere caratteri jolly."
#: moredialogs.xrc:680
msgid "Alternatively, enter a Regular Expression."
msgstr "In alternativa, inserisci una Espressione Regolare."
#: moredialogs.xrc:714
msgid "Name to match"
msgstr "Termine di ricerca"
#: moredialogs.xrc:724
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr "Inserisci la corrispondenza. Es.: *.txt oppure /usr/s*"
#: moredialogs.xrc:734
msgid "Ignore Case"
msgstr "Ignora Maiuscole/Minuscole"
#: moredialogs.xrc:752
msgid "This is a"
msgstr "Questo è un"
#: moredialogs.xrc:754
msgid ""
"Select one of these alternatives. The first 3 can contain wildcards, but they won't match the '.' at the start of a filename that denotes a hidden file.\n"
"Regular Expression means the entry is a full-blown regular expression."
msgstr ""
"Seleziona una di queste alternative. Le prime 3 possono contenere caratteri jolly, ma non funzioneranno con corrispondenze per i file che iniziano col '.' (file nascosti).\n"
"Espressione Regolare significa che la voce corrisponde ad una espressione regolare."
#: moredialogs.xrc:758
msgid "Filename"
msgstr "Nome file"
#: moredialogs.xrc:759
msgid "Symbolic-Link"
msgstr "Collegamento Simbolico"
#: moredialogs.xrc:761
msgid "Regular Expression"
msgstr "Espressione Regolare"
#: moredialogs.xrc:780
msgid "Return Matches"
msgstr "Risultati"
#: moredialogs.xrc:781
msgid "Return any results (the default behaviour)"
msgstr "Visualizza tutti i risultati (comportamento predefinito)"
#: moredialogs.xrc:789
msgid "Ignore Matches"
msgstr "Ignora Corrispondenze"
#: moredialogs.xrc:790
msgid "Usually you WANT the results, but sometimes you'll wish to ignore eg a particular directory. If so, enter its path, then select Path and Ignore."
msgstr "Di norma VUOI tutti i risultati, ma talvolta vorresti ignorare, per esempio, una data directory. In tal caso, inserisci il percorso, quindi seleziona Percorso e Ignora."
#: moredialogs.xrc:837
msgid "To filter by Time, select one of the following:"
msgstr "Per filtrare per data/ora, seleziona uno dei seguenti:"
#: moredialogs.xrc:862
#: moredialogs.xrc:1006
msgid "Files that were"
msgstr "I file che sono stati"
#: moredialogs.xrc:880
#: moredialogs.xrc:1024
msgid "Accessed"
msgstr "Accessi"
#: moredialogs.xrc:888
#: moredialogs.xrc:1032
msgid "Modified"
msgstr "Modificato"
#: moredialogs.xrc:896
#: moredialogs.xrc:1040
msgid "Status changed"
msgstr "Proprietà modificata"
#: moredialogs.xrc:914
#: moredialogs.xrc:1125
#: moredialogs.xrc:1265
#: moredialogs.xrc:1599
msgid "More than"
msgstr "Più di"
#: moredialogs.xrc:922
#: moredialogs.xrc:1133
#: moredialogs.xrc:1273
#: moredialogs.xrc:1607
msgid "Exactly"
msgstr "Esattamente"
#: moredialogs.xrc:930
#: moredialogs.xrc:1141
#: moredialogs.xrc:1281
#: moredialogs.xrc:1615
msgid "Less than"
msgstr "Meno di"
#: moredialogs.xrc:946
msgid "Enter the number of minutes or days"
msgstr "Inserisci un valore in minuti o giorni"
#: moredialogs.xrc:967
msgid "Minutes ago"
msgstr "Minuti fa"
#: moredialogs.xrc:975
msgid "Days ago"
msgstr "Giorni fa"
#: moredialogs.xrc:1058
msgid "more recently than the file:"
msgstr "più recente del file:"
#: moredialogs.xrc:1070
#: moredialogs.xrc:3006
#: moredialogs.xrc:3047
#: moredialogs.xrc:3404
msgid "Type in the pathname of the file to compare with"
msgstr "Inserisci il percorso del file da confrontare"
#: moredialogs.xrc:1107
msgid "Files that were last accessed"
msgstr "Files con ultimo accesso"
#: moredialogs.xrc:1157
msgid "Enter the number of days"
msgstr "Inserisci il numero di giorni"
#: moredialogs.xrc:1174
msgid "days after being modified"
msgstr "giorni dopo la modifica"
#: moredialogs.xrc:1193
msgid "Add to the Command string."
msgstr "Aggiungi alla stringa di Comando."
#: moredialogs.xrc:1207
msgid "Size and type"
msgstr "Dimensione e tipo"
#: moredialogs.xrc:1221
#: moredialogs.xrc:1466
msgid "Choose up to one (at a time) of the following:"
msgstr "Scegli uno (alla volta) dei seguenti:"
#: moredialogs.xrc:1247
msgid "Files of size"
msgstr "Files di dimensione"
#: moredialogs.xrc:1317
msgid "bytes"
msgstr "bytes"
#: moredialogs.xrc:1325
msgid "512-byte blocks"
msgstr "Blocchi di 512 bytes"
#: moredialogs.xrc:1333
msgid "kilobytes"
msgstr "kilobytes"
#: moredialogs.xrc:1360
msgid "Empty files"
msgstr "Files vuoti"
#: moredialogs.xrc:1393
msgid "Type"
msgstr "Tipo"
#: moredialogs.xrc:1413
msgid "File"
msgstr "File"
#: moredialogs.xrc:1414
msgid "SymLink"
msgstr "SymLink"
#: moredialogs.xrc:1415
msgid "Pipe"
msgstr "Pipe"
#: moredialogs.xrc:1417
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1418
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1438
#: moredialogs.xrc:2007
msgid "Add to the Command string"
msgstr "Aggiungi alla stringa di Comando"
#: moredialogs.xrc:1452
msgid "Owner and permissions"
msgstr "Proprietario e permessi"
#: moredialogs.xrc:1507
#: moredialogs.xrc:1725
#: moredialogs.xrc:6176
#: moredialogs.xrc:7324
#: moredialogs.xrc:8483
msgid "User"
msgstr "Utente"
#: moredialogs.xrc:1541
msgid "By Name"
msgstr "Per Nome"
#: moredialogs.xrc:1554
msgid "By ID"
msgstr "Per ID"
#: moredialogs.xrc:1574
msgid "Type in the owner name to match. eg root"
msgstr "Inserisci il nome del proprietario da trovare. Esempio: root"
#: moredialogs.xrc:1631
msgid "Enter the ID to compare against"
msgstr "Inserisci l'ID da confrontare"
#: moredialogs.xrc:1665
msgid "No User "
msgstr "Nessun Utente"
#: moredialogs.xrc:1673
msgid "No Group"
msgstr "Nessun Gruppo"
#: moredialogs.xrc:1743
#: moredialogs.xrc:6192
#: moredialogs.xrc:7340
#: moredialogs.xrc:8499
msgid "Others"
msgstr "Altri"
#: moredialogs.xrc:1758
#: moredialogs.xrc:6206
#: moredialogs.xrc:7354
#: moredialogs.xrc:8513
msgid "Read"
msgstr "Lettura"
#: moredialogs.xrc:1803
#: moredialogs.xrc:6247
#: moredialogs.xrc:7395
#: moredialogs.xrc:8554
msgid "Write"
msgstr "Scrittura"
#: moredialogs.xrc:1848
#: moredialogs.xrc:6288
#: moredialogs.xrc:7436
#: moredialogs.xrc:8595
msgid "Exec"
msgstr "Esecuzione"
#: moredialogs.xrc:1893
#: moredialogs.xrc:6329
#: moredialogs.xrc:7477
#: moredialogs.xrc:8636
msgid "Special"
msgstr "Speciale"
#: moredialogs.xrc:1903
#: moredialogs.xrc:6337
#: moredialogs.xrc:7485
#: moredialogs.xrc:8644
msgid "suid"
msgstr "suid"
#: moredialogs.xrc:1912
#: moredialogs.xrc:6345
#: moredialogs.xrc:7493
#: moredialogs.xrc:8652
msgid "sgid"
msgstr "sgid"
#: moredialogs.xrc:1921
#: moredialogs.xrc:6353
#: moredialogs.xrc:7501
#: moredialogs.xrc:8660
msgid "sticky"
msgstr ""
#: moredialogs.xrc:1939
msgid "or Enter Octal"
msgstr "oppure inserisci Ottale"
#: moredialogs.xrc:1949
msgid "Type in the octal string to match. eg 0664"
msgstr "Inserisci la stringa ottale. Es.: 0664"
#: moredialogs.xrc:1971
msgid "Match Any"
msgstr "Qualsiasi Corrispondenza"
#: moredialogs.xrc:1979
msgid "Exact Match only"
msgstr "Solo Esatta Corrispondenza"
#: moredialogs.xrc:1987
msgid "Match Each Specified"
msgstr "Specifica Corrispondenza"
#: moredialogs.xrc:2021
msgid "Actions"
msgstr "Azioni"
#: moredialogs.xrc:2040
msgid "What to do with the results. The default is to Print them."
msgstr "Azione da compiere con i risultati. Predefinito è Stampa."
#: moredialogs.xrc:2066
msgid "Print the results on the standard output, each followed by a newline"
msgstr "Visualizza i risultati nell'output standard, andando a capo dopo ciascuno"
#: moredialogs.xrc:2068
msgid " print"
msgstr " print"
#: moredialogs.xrc:2091
msgid "The same as 'Print', but adds a terminal '\\0' to each string instead of a newline"
msgstr "Simile a 'print', ma aggiungendo una terminazione '\\0' a ogni stringa invece di una nuova riga"
#: moredialogs.xrc:2093
msgid " print0"
msgstr " print0"
#: moredialogs.xrc:2116
msgid "List the results in `ls -dils' format on the standard output"
msgstr "Elenca i risultati in uscita in un formato `ls -dils'"
#: moredialogs.xrc:2118
msgid " ls"
msgstr " ls"
#: moredialogs.xrc:2152
msgid "Execute the following command for each match"
msgstr "Esegui il seguente comando a ogni corrispondenza"
#: moredialogs.xrc:2154
msgid "exec"
msgstr "exec"
#: moredialogs.xrc:2161
msgid "Execute the following command, asking first for each match"
msgstr "Esegui il comando seguente, chiedendo prima per ogni corrispondenza"
#: moredialogs.xrc:2163
msgid "ok"
msgstr "ok"
#: moredialogs.xrc:2177
msgid "Command to execute"
msgstr "Comando da eseguire"
#: moredialogs.xrc:2188
msgid "This is the command to be executed. The {} ; will be added automatically"
msgstr "Questo è il comando da eseguire. I {} ; verranno aggiunti automaticamente"
#: moredialogs.xrc:2214
msgid "Output each string as in print, but using the following format: see 'man find(1)' for the byzantine details"
msgstr "Visualizza ogni stringa come print ma usando il seguente formato: vedi 'man find' per maggiori dettagli"
#: moredialogs.xrc:2216
msgid "printf"
msgstr "printf"
#: moredialogs.xrc:2230
#: moredialogs.xrc:2356
msgid "Format String"
msgstr "Formato Stringa"
#: moredialogs.xrc:2264
msgid "Output as ls, but to the following file"
msgstr "Visualizzalo come 'ls', ma per il seguente file"
#: moredialogs.xrc:2266
msgid "fls"
msgstr "fls"
#: moredialogs.xrc:2273
msgid "Output each string as print, but to the following file"
msgstr "Visualizza ogni stringa come con print, ma usando il file specificato"
#: moredialogs.xrc:2275
msgid "fprint"
msgstr "fprint"
#: moredialogs.xrc:2282
msgid "Same as fprint, but null-terminated"
msgstr "Simile a fprint, ma con terminazione nulla"
#: moredialogs.xrc:2284
msgid "fprint0"
msgstr "fprint0"
#: moredialogs.xrc:2298
#: moredialogs.xrc:2371
msgid "Destination File"
msgstr "File Destinazione"
#: moredialogs.xrc:2309
#: moredialogs.xrc:2380
msgid "The filepath of the destination file. It will be created/truncated as appropriate"
msgstr "Il percorso del file di destinazione. Sarà creato/troncato a seconda dei casi"
#: moredialogs.xrc:2333
msgid "Behaves like printf, but to the following file"
msgstr "Si comporta come printf, ma usando un file specificato"
#: moredialogs.xrc:2335
msgid "fprintf"
msgstr "fprintf"
#: moredialogs.xrc:2427
msgid "Command:"
msgstr "Comando:"
#: moredialogs.xrc:2437
msgid "This is where the Find command string will be built. Either use the dialog pages, or type things in direct"
msgstr "Qui è dove la stringa del comando Find viene composta. Puoi usare sia le opzioni nelle schede, sia scrivendoci direttamente"
#: moredialogs.xrc:2469
#: moredialogs.xrc:3778
#: moredialogs.xrc:11861
msgid "SEARCH"
msgstr "CERCA"
#: moredialogs.xrc:2497
msgid "Grep"
msgstr "Grep"
#: moredialogs.xrc:2518
msgid "General Options"
msgstr "Opzioni Generali"
#: moredialogs.xrc:2533
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
"Queste sono le opzioni avanzate per Grep.\n"
"Per le funzioni di ricerca più comuni\n"
"puoi usare il Grep Rapido"
#: moredialogs.xrc:2546
msgid "Click for Quick Grep"
msgstr "Clicca per Grep Rapido"
#: moredialogs.xrc:2548
msgid "Click here to go to the Quick-Grep dialog"
msgstr "Clicca qui per aprire la finestra di dialogo di Grep Rapido"
#: moredialogs.xrc:2556
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr "Seleziona questa casella per rendere predefinito Grep Rapido permanentemente"
#: moredialogs.xrc:2558
msgid "Make Quick Grep the default"
msgstr "Rendi Grep Rapido come predefinito"
#: moredialogs.xrc:2582
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr "Sintassi: grep [opzioni] [schema di corrispondenza] [file(s) da cercare]"
#: moredialogs.xrc:2590
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
"Seleziona qualsiasi opzione desideri dalle prime 4 schede, quindi inserisci lo schema di percorso nelle ultime 2\n"
"e il percorso o i files da cercare. In alternativa puoi scrivere direttamente nella casella per il comando."
#: moredialogs.xrc:2613
msgid "Select whichever options you need"
msgstr "Seleziona le opzioni desiderate"
#: moredialogs.xrc:2633
msgid "-w match Whole words only"
msgstr "-w corrispondenza su parole intere"
#: moredialogs.xrc:2640
msgid "Ignore case, both in the pattern and in filenames"
msgstr "Ignora maiuscole/minuscole, sia nello schema che nei nomi dei files"
#: moredialogs.xrc:2642
msgid "-i Ignore case"
msgstr "-i Ignora maiuscole"
#: moredialogs.xrc:2657
msgid "-x return whole Line matches only"
msgstr "-x corrispondenza nell'intera riga"
#: moredialogs.xrc:2665
msgid "-v return only lines that DON'T match"
msgstr "-v visualizza solo le righe NON corrispondenti"
#: moredialogs.xrc:2696
msgid "Directory Options"
msgstr "Opzioni Directory"
#: moredialogs.xrc:2713
msgid "Options to do with Directories"
msgstr "Opzioni per le Directories"
#: moredialogs.xrc:2739
msgid " Do what with Directories?"
msgstr " Cosa fare con le Directories?"
#: moredialogs.xrc:2757
msgid "Try to match the names (the default)"
msgstr "Nomi corrispondenti (Predefinito)"
#: moredialogs.xrc:2765
msgid " -r Recurse into them"
msgstr " -r Ricorsivo"
#: moredialogs.xrc:2773
#: moredialogs.xrc:2944
#: moredialogs.xrc:11834
msgid "Ignore them altogether"
msgstr "Ignora tutto"
#: moredialogs.xrc:2807
msgid "File Options"
msgstr "Opzioni File"
#: moredialogs.xrc:2821
msgid "Options to do with Files"
msgstr "Opzioni per i files"
#: moredialogs.xrc:2853
msgid " Stop searching a file after "
msgstr "Ferma la ricerca di un file dopo "
#: moredialogs.xrc:2869
msgid "Enter the maximum number of matches"
msgstr "Inserisci il massimo valore di corrispondenze"
#: moredialogs.xrc:2886
msgid "matches found"
msgstr "corrispondenze trovate"
#: moredialogs.xrc:2908
msgid " Do what with Binary Files?"
msgstr " Cosa fare con i Files Binari?"
#: moredialogs.xrc:2926
msgid "Report those containing a match (the default)"
msgstr "Riporta contenenti corrispondenza (Predefinito)"
#: moredialogs.xrc:2927
msgid "Search through the binary file, outputting only a 'Binary file matches' message, not the matching line"
msgstr "Cerca nel file binario, visualizzando solamente un messaggio per le corrispondenze trovate, non il risultato"
#: moredialogs.xrc:2935
msgid "Treat them as if they were textfiles"
msgstr "Trattali come se fossero files di testo"
#: moredialogs.xrc:2936
msgid "Search through the binary file, outputting any line that matches the pattern. This usually results in garbage"
msgstr "Cerca nel file binario, visualizzando ogni linea corrispondente allo schema di ricerca. Di norma ne risulta un codice illeggibile"
#: moredialogs.xrc:2966
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr " -D skip Ignora dispositivi, sockets, FIFO"
#: moredialogs.xrc:2989
msgid " Don't search in files that match the following pattern:"
msgstr " Non cercare nei files che rispettano questo schema:"
#: moredialogs.xrc:3030
msgid " Only search in files that match the following pattern: "
msgstr " Cerca solo nei files che rispettano questo schema:"
#: moredialogs.xrc:3079
msgid "Output Options"
msgstr "Opzioni Uscita"
#: moredialogs.xrc:3094
msgid "Options relating to the Output"
msgstr "Opzioni relative all'Output"
#: moredialogs.xrc:3123
msgid "-c print only Count of matches"
msgstr "-c visualizza solo il Conto delle corrispondenze"
#: moredialogs.xrc:3130
msgid "Print only the names of the files that contain matches, not the matches themselves"
msgstr "Visualizza solo i nomi dei files che contengono corrispondenze, non corrispondenze intere"
#: moredialogs.xrc:3132
msgid "-l print just each match's Filename"
msgstr "-l visualizza i nomi dei file corrispondenti"
#: moredialogs.xrc:3140
msgid "-H print the Filename for each match"
msgstr "-H Nome del file per ogni corrispondenza"
#: moredialogs.xrc:3148
msgid "-n prefix a match with its line-Number"
msgstr "-n visualizza numero riga corrispondente"
#: moredialogs.xrc:3156
msgid "-s don't print Error messages"
msgstr "-s non visualizzare messaggi di errore"
#: moredialogs.xrc:3173
msgid "-B Show"
msgstr "-B Mostra "
#: moredialogs.xrc:3188
#: moredialogs.xrc:3290
#: moredialogs.xrc:3347
msgid "Enter the number of lines of context you want to see"
msgstr "Imposta il numero di linee di contesto da visualizzare"
#: moredialogs.xrc:3204
msgid "lines of leading context"
msgstr " linee contesto precedente"
#: moredialogs.xrc:3223
msgid "-o print only Matching section of line"
msgstr "-o Mostra solo parte della riga corrispondente"
#: moredialogs.xrc:3230
msgid "Print only the names of those files that contain NO matches"
msgstr "Stampa solamente i nomi dei files che NON contengono corrispondenze"
#: moredialogs.xrc:3232
msgid "-L Print only filenames with no match"
msgstr "-L Nomi dei files senza corrispondenze"
#: moredialogs.xrc:3240
msgid "-h Don't print filenames if multiple files"
msgstr "-h Non mostrare nomi files se molteplici"
#: moredialogs.xrc:3247
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr "Visualizza ogni corrispondenza con la sua linea di offset del file espresso in bytes"
#: moredialogs.xrc:3249
msgid "-b prefix a match with its Byte offset"
msgstr "-b Mostra Byte offset per corrispondenza"
#: moredialogs.xrc:3256
msgid "No output at all, either matches or errors, but exit with 0 status at first match"
msgstr "Nessun output, ne corrispondenze ne errori, ma esce con un codice di ritorno 0 alla prima corrispondenza"
#: moredialogs.xrc:3258
msgid "-q print No output at all"
msgstr "-q Non mostrare l'output"
#: moredialogs.xrc:3275
msgid "-A Show"
msgstr "-A Mostra "
#: moredialogs.xrc:3306
msgid "lines of trailing context"
msgstr " linee di contesto seguente"
#: moredialogs.xrc:3331
msgid "-C Show"
msgstr "-C Mostra "
#: moredialogs.xrc:3364
msgid "lines of both leading and trailing context"
msgstr "linee di contesto precedente e seguente"
#: moredialogs.xrc:3385
msgid "Displays input actually coming from standard input (or a pipe) as input coming from this filename. eg if displaying the contents of an Archive"
msgstr "Mostra l'input proveniente dallo standard input (o pipe) come input proveniente da questo file. Es.: il contenuto di un archivio "
#: moredialogs.xrc:3387
msgid " Make the display pretend the input came from File:"
msgstr " "
#: moredialogs.xrc:3434
msgid "Pattern"
msgstr "Schema"
#: moredialogs.xrc:3453
msgid "If your search pattern begins with a minus sign eg -foo grep will try to find a non-existant option '-foo'. The -e option protects against this."
msgstr "Se il tuo schema di ricerca inizia con un segno meno (Es.: -foo) grep cercherà una opzione '-foo' inesistente. L'opzione -e aggira il problema."
#: moredialogs.xrc:3455
msgid "-e Use this if your pattern begins with a minus sign"
msgstr "-e Usa questo se il tuo schema inizia con un segno meno"
#: moredialogs.xrc:3471
#: moredialogs.xrc:11628
msgid "Regular Expression to be matched"
msgstr "Espressione Regolare di ricerca"
#: moredialogs.xrc:3483
#: moredialogs.xrc:11649
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr "Specifica il nome da cercare. Es.: foobar oppure f.*r"
#: moredialogs.xrc:3497
msgid ""
"Regex\n"
"Help"
msgstr ""
"Aiuto\n"
"Regex"
#: moredialogs.xrc:3519
msgid "Treat the pattern not as a Regular Expression but as a list of fixed strings, separated by newlines, any of which is to be matched ie as though using fgrep"
msgstr "Non trattare la maschera come Espressione Regolare ma come una lista di stringhe separate da ritorno a capo, ognuna delle quali verrà verificata come ad esempio in fgrep"
#: moredialogs.xrc:3521
msgid "-F Treat pattern as if using fgrep"
msgstr "-F Tratta lo schema come se usassi fgrep"
#: moredialogs.xrc:3536
msgid "-P treat pattern as a Perl regex"
msgstr "-P tratta lo schema come un regex Perl"
#: moredialogs.xrc:3557
msgid "Instead of entering the pattern in the box above, extract it from this file"
msgstr "Invece di inserire lo schema nella casella sopra, lo estrae da questo file"
#: moredialogs.xrc:3559
msgid "-f instead load the pattern from File:"
msgstr "-f carica invece lo schema dal File:"
#: moredialogs.xrc:3595
msgid "Add to the Command string. The Pattern will be given single quotes to protect metacharacters."
msgstr "Aggiungi alla stringa di comando. Verranno aggiunti degli apici alla maschera per proteggere i meta caratteri."
#: moredialogs.xrc:3605
msgid "Location"
msgstr "Percorso"
#: moredialogs.xrc:3618
msgid "Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr "Inserisci il percorso o lista file da cercare (oppure usa una delle scorciatoie)"
#: moredialogs.xrc:3641
#: moredialogs.xrc:11693
msgid "Type in the Path from which to search. If you use the shortcuts on the right, you can then append a /* if needed"
msgstr "Inserisci il percorso base per la ricerca. Se usi una delle scorciatoie sulla destra, puoi aggiungere un /* se necessario"
#: moredialogs.xrc:3730
msgid "This will be the grep command string"
msgstr "Stringa di comando grep risultante"
#: moredialogs.xrc:3754
msgid "This is where the grep command string will be built. Either use the dialog pages, or type things in direct"
msgstr "Qui è dove la riga di comando grep viene costruita. Puoi usare le pagine di dialogo, oppure scrivila direttamente"
#: moredialogs.xrc:3841
msgid "If checked, the dialog will automatically close 2 seconds after the last entry is made"
msgstr "Se selezionato, la finestra si chiuderà automaticamente 2 secondi dopo l'ultimo inserimento"
#: moredialogs.xrc:3843
msgid "Auto-Close"
msgstr "Chiusura Automatica"
#: moredialogs.xrc:3880
msgid "Archive Files"
msgstr "Archivia Files"
#: moredialogs.xrc:3921
#: moredialogs.xrc:4322
msgid "File(s) to store in the Archive"
msgstr "File(s) da inserire nell'Archivio"
#: moredialogs.xrc:3960
#: moredialogs.xrc:4361
#: moredialogs.xrc:4677
#: moredialogs.xrc:4939
#: moredialogs.xrc:5410
msgid "Add another File "
msgstr "Aggiungi un altro file"
#: moredialogs.xrc:3992
msgid "Browse for another file"
msgstr "Sfoglia per un altro file"
#: moredialogs.xrc:4007
#: moredialogs.xrc:4408
#: moredialogs.xrc:4725
#: moredialogs.xrc:4986
#: moredialogs.xrc:5458
msgid "Add the file or directory in the above box to the list on the left"
msgstr "Aggiungi il file o directory nel riquadro di qui sopra per la lista a sinistra"
#: moredialogs.xrc:4044
msgid "Name to give the Archive"
msgstr "Nome da dare all'Archivio"
#: moredialogs.xrc:4053
msgid "Enter just the main part of the name, not the extension eg foo, not foo.tar.gz"
msgstr "Inserisci solo la parte principale del nome, non l'estensione (es.: foo, non foo.tar.gz)"
#: moredialogs.xrc:4061
msgid "(Don't add an ext)"
msgstr "(Non aggiungere estensione)"
#: moredialogs.xrc:4080
msgid "Create in this folder"
msgstr "Crea in questa cartella"
#: moredialogs.xrc:4115
msgid "Browse for a suitable folder"
msgstr "Sfoglia per la cartella di destinazione"
#: moredialogs.xrc:4150
msgid "Create the archive using Tar"
msgstr "Crea Archivio usando Tar"
#: moredialogs.xrc:4162
#: moredialogs.xrc:4746
msgid "Compress using:"
msgstr "Comprimi usando:"
#: moredialogs.xrc:4164
msgid "Which program to use (or none) to compress the Archive. gzip and bzip2 are good choices. If it's available on your system, xz gives the best compression."
msgstr "Quale applicazione usare (se presente) per la compressione. gzip e bzip2 sono la scelta migliore. Se disponibile nel sistema, xz ha la miglior compressione."
#: moredialogs.xrc:4168
#: moredialogs.xrc:4752
msgid "bzip2"
msgstr "bzip2"
#: moredialogs.xrc:4169
#: moredialogs.xrc:4753
msgid "gzip"
msgstr "gzip "
#: moredialogs.xrc:4170
#: moredialogs.xrc:4754
msgid "xz"
msgstr "xz "
#: moredialogs.xrc:4171
#: moredialogs.xrc:4755
msgid "lzma"
msgstr "lzma "
#: moredialogs.xrc:4172
msgid "7z"
msgstr "7z "
#: moredialogs.xrc:4173
#: moredialogs.xrc:4756
msgid "lzop"
msgstr "lzop "
#: moredialogs.xrc:4174
msgid "don't compress"
msgstr "Non comprimere"
#: moredialogs.xrc:4186
#: moredialogs.xrc:4531
msgid "Don't store in the archive the Name of a symbolic link, store the file to which it points"
msgstr "Non memorizzare il nome di un collegamento simbolico nell'archivio, memorizza il file al quale punta"
#: moredialogs.xrc:4188
msgid "Dereference symlinks"
msgstr "Dereferenzia Symlinks"
#: moredialogs.xrc:4196
#: moredialogs.xrc:4540
msgid "Try to verify the integrity of the archive once it's made. Not guaranteed, but better than nothing. Takes a long time for very large archives, though."
msgstr "Tenta di verificare l'integrità dell'archivio una volta creato. Non garantito, ma meglio di niente. Richiede molto tempo per archivi di grandi dimensioni."
#: moredialogs.xrc:4198
msgid "Verify afterwards"
msgstr "Verifica al termine"
#: moredialogs.xrc:4205
#: moredialogs.xrc:4549
msgid "Delete the source files once they have been added to the archive. For courageous users only, unless the files are unimportant!"
msgstr "Elimina i files di origine una volta inseriti nell'archivio. Solamente per utenti coraggiosi, a meno che i files non sian importanti!"
#: moredialogs.xrc:4207
msgid "Delete source files"
msgstr "Elimina files di origine"
#: moredialogs.xrc:4234
msgid "Use zip both to archive the file(s) and compress them. It compresses less well than gzip or bzip2, so use it for compatability with lesser operating systems that don't have these programs."
msgstr "Usa zip sia per archiviare i files, sia per comprimerli. Comprime meno di gzip o bzip2, quindi usarlo per compatibilità dove sia presente nei sistemi operativi in uso."
#: moredialogs.xrc:4236
msgid "Use zip instead"
msgstr "Usa zip in alternativa"
#: moredialogs.xrc:4281
msgid "Append files to existing Archive"
msgstr "Aggiungi files a un Archivio esistente"
#: moredialogs.xrc:4406
#: moredialogs.xrc:4984
#: moredialogs.xrc:5456
msgid "Add to List"
msgstr "Aggiungi alla Lista"
#: moredialogs.xrc:4449
msgid "Archive to which to Append"
msgstr "Archivio al quale Aggiungere"
#: moredialogs.xrc:4470
#: moredialogs.xrc:5222
msgid "Path and name of the archive. If not already in the entry list, write it in or Browse."
msgstr "Percorso e nome dell'archivio. Se non già presente nella lista, scrivilo o Sfoglia."
#: moredialogs.xrc:4533
msgid "Dereference Symlinks"
msgstr "Dereferenzia Symlinks"
#: moredialogs.xrc:4542
msgid "Verify archive afterwards"
msgstr "Verifica l'archivio al termine"
#: moredialogs.xrc:4551
msgid "Delete Source Files afterwards"
msgstr "Elimina Files di Origine al termine"
#: moredialogs.xrc:4607
msgid "Compress files"
msgstr "Comprimi files"
#: moredialogs.xrc:4641
msgid "File(s) to Compress"
msgstr "File(s) da Comprimere"
#: moredialogs.xrc:4748
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
"Quale programma col quale comprimere. Bzip2 è conosciuto per l'alta compressione (almeno per file di grandi dimensioni) ma impiega molto tempo.\n"
"Se per qualche ragione vuoi usare Zip, questi è disponibile da Archivio > Crea."
#: moredialogs.xrc:4757
msgid "'compress'"
msgstr "'comprimi'"
#: moredialogs.xrc:4774
msgid "Faster"
msgstr "Veloce"
#: moredialogs.xrc:4783
msgid "Applies only to gzip. The higher the value, the greater the compression but the longer it takes to do"
msgstr "Valido solo da gzip. Maggiore è il valore, maggiore sarà il livello di compressione e il tempo impiegato"
#: moredialogs.xrc:4792
msgid "Smaller"
msgstr "Migliore"
#: moredialogs.xrc:4812
msgid "Normal behaviour is not to overwrite an existing compressed file with the same name. Check this box if you want to override this."
msgstr "Il normale comportamento è di non sovrascrivere i files compressi con lo stesso nome. Seleziona questa casella se vuoi sovrascriverli."
#: moredialogs.xrc:4814
msgid "Overwrite any existing files"
msgstr "Sovrascrivi tutti i files"
#: moredialogs.xrc:4821
msgid "If checked, all files in any selected directories (and their subdirectories) will be compressed. If unchecked, directories are ignored."
msgstr "Se selezionato, tutti i files di ogni directory selezionata (e relative sotto directories) verranno compresse. Se deselezionato le directories vengono ignorate."
#: moredialogs.xrc:4823
msgid "Recursively compress all files in any selected directories"
msgstr "Comprimi ricorsivamente tutti i files nelle cartelle selezionate"
#: moredialogs.xrc:4871
msgid "Extract Compressed Files"
msgstr "Estrai Files Compressi"
#: moredialogs.xrc:4905
msgid "Compressed File(s) to Extract"
msgstr "File(s) Compressi da Estrarre"
#: moredialogs.xrc:5021
msgid "If a selection is a directory, uncompress any compressed files within it and its subdirectories"
msgstr "Se la selezione è una directory, decomprime tutti i files compressi in essa e nelle sue sotto directories"
#: moredialogs.xrc:5023
msgid "Recurse into Directories"
msgstr "Ricorsivamente nelle Directories"
#: moredialogs.xrc:5031
msgid "If a file has the same name as an extracted file, automatically overwrite it"
msgstr "Se un file ha lo stesso nome di un file estratto, sovrascrivilo automaticamente"
#: moredialogs.xrc:5033
#: moredialogs.xrc:5284
msgid "Overwrite existing files"
msgstr "Sovrascrivi files esistenti"
#: moredialogs.xrc:5041
msgid "Uncompress, but don't extract, any selected archives. If unchecked, archives are ignored"
msgstr "Decomprime, ma non estrae, alcun archivio selezionato. Se deselezionato, gli archivi vengono ignorati"
#: moredialogs.xrc:5043
msgid "Uncompress Archives too"
msgstr "Decomprimi anche Archivi"
#: moredialogs.xrc:5103
msgid "Extract an Archive"
msgstr "Estrai un Archivio"
#: moredialogs.xrc:5142
msgid "Archive to Extract"
msgstr "Archivio da Estrarre"
#: moredialogs.xrc:5201
msgid "Directory into which to Extract"
msgstr "Directory di Estrazione"
#: moredialogs.xrc:5282
msgid "If there already exist files with the same name as any of those extracted from the archive, overwrite them."
msgstr "Se esistono già file con lo stesso nome di uno qualsiasi di quelli estratti dall'archivio, verranno sovrascritti."
#: moredialogs.xrc:5343
#: moredialogs.xrc:5480
msgid "Verify Compressed Files"
msgstr "Verifica Files Compressi"
#: moredialogs.xrc:5376
msgid "Compressed File(s) to Verify"
msgstr "Files Compressi da Verificare"
#: moredialogs.xrc:5513
msgid "Verify an Archive"
msgstr "Verifica un Archivio"
#: moredialogs.xrc:5547
msgid "Archive to Verify"
msgstr "Archivio da Verificare"
#: moredialogs.xrc:5668
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr "Vuoi estrarre un Archivio o dei Decomprimere Files?"
#: moredialogs.xrc:5683
msgid " Extract an Archive "
msgstr " Estrai un Archivio "
#: moredialogs.xrc:5697
msgid " Decompress File(s) "
msgstr " Decomprimi File(s) "
#: moredialogs.xrc:5749
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr "Vuoi verificare un Archivio o dei Files Compressi?"
#: moredialogs.xrc:5764
msgid " An Archive "
msgstr " Un Archivio "
#: moredialogs.xrc:5778
msgid " Compressed File(s) "
msgstr "Files Compressi"
#: moredialogs.xrc:5803
#: moredialogs.xrc:6820
#: moredialogs.xrc:7991
msgid "Properties"
msgstr "Proprietà "
#: moredialogs.xrc:5814
#: moredialogs.xrc:6831
#: moredialogs.xrc:8002
msgid "General"
msgstr "Generale"
#: moredialogs.xrc:5854
#: moredialogs.xrc:6872
#: moredialogs.xrc:8041
msgid "Name:"
msgstr "Nome:"
#: moredialogs.xrc:5870
#: moredialogs.xrc:6888
#: moredialogs.xrc:8057
msgid "Location:"
msgstr "Percorso:"
#: moredialogs.xrc:5885
#: moredialogs.xrc:6903
#: moredialogs.xrc:8072
msgid "Type:"
msgstr "Tipo:"
#: moredialogs.xrc:5970
#: moredialogs.xrc:7103
#: moredialogs.xrc:8264
msgid "Size:"
msgstr "Dimensione:"
#: moredialogs.xrc:5985
#: moredialogs.xrc:7118
#: moredialogs.xrc:8278
msgid "Accessed:"
msgstr "Ultimo Accesso:"
#: moredialogs.xrc:5999
#: moredialogs.xrc:7132
#: moredialogs.xrc:8292
msgid "Admin Changed:"
msgstr "Modifica Amministratore:"
#: moredialogs.xrc:6014
#: moredialogs.xrc:7147
#: moredialogs.xrc:8306
msgid "Modified:"
msgstr "Modificato:"
#: moredialogs.xrc:6123
#: moredialogs.xrc:7271
#: moredialogs.xrc:8430
msgid "Permissions and Ownership"
msgstr "Permessi e Proprietari"
#: moredialogs.xrc:6395
#: moredialogs.xrc:7540
#: moredialogs.xrc:8703
msgid "User:"
msgstr "Utente:"
#: moredialogs.xrc:6411
#: moredialogs.xrc:7556
#: moredialogs.xrc:8719
msgid "Group:"
msgstr "Gruppo:"
#: moredialogs.xrc:6478
#: moredialogs.xrc:7619
#: moredialogs.xrc:8786
msgid "Apply any change in permissions or ownership to each contained file and subdirectory"
msgstr "Applica tutti i cambiamenti di permesso o proprietà a tutti i files e sottodirectory contenuti"
#: moredialogs.xrc:6480
#: moredialogs.xrc:7621
#: moredialogs.xrc:8788
msgid "Apply changes to all descendants"
msgstr "Applica cambiamenti a tutti gli oggetti figlio"
#: moredialogs.xrc:6523
#: moredialogs.xrc:7679
#: moredialogs.xrc:8846
msgid "Esoterica"
msgstr "Esoterica"
#: moredialogs.xrc:6568
#: moredialogs.xrc:7724
#: moredialogs.xrc:8891
msgid "Device ID:"
msgstr "ID Dispositivo:"
#: moredialogs.xrc:6583
#: moredialogs.xrc:7739
#: moredialogs.xrc:8906
msgid "Inode:"
msgstr "Inode:"
#: moredialogs.xrc:6598
#: moredialogs.xrc:7754
#: moredialogs.xrc:8921
msgid "No. of Hard Links:"
msgstr "No. di Hard Links:"
#: moredialogs.xrc:6613
#: moredialogs.xrc:7769
#: moredialogs.xrc:8936
msgid "No. of 512B Blocks:"
msgstr "No. di blocchi (512B):"
#: moredialogs.xrc:6628
#: moredialogs.xrc:7784
#: moredialogs.xrc:8951
msgid "Blocksize:"
msgstr "Dimensione Blocchi:"
#: moredialogs.xrc:6642
#: moredialogs.xrc:7798
#: moredialogs.xrc:8965
msgid "Owner ID:"
msgstr "ID Proprietario:"
#: moredialogs.xrc:6657
#: moredialogs.xrc:7813
#: moredialogs.xrc:8980
msgid "Group ID:"
msgstr "ID Gruppo:"
#: moredialogs.xrc:6919
msgid "Link Target:"
msgstr "Destinazione Collegamento:"
#: moredialogs.xrc:6985
#: moredialogs.xrc:8174
msgid "To change the target, either write in the name of a different file or dir, or use the Browse button"
msgstr "Per cambiare la destinazione, scrivi il nome di un file o dir diverso, oppure usa il pulsante Sfoglia"
#: moredialogs.xrc:6999
msgid " Go To Link Target "
msgstr " Passa a Collegamento Destinazione "
#: moredialogs.xrc:7069
#: moredialogs.xrc:8183
msgid "Browse to select a different target for the symlink"
msgstr "Sfoglia e seleziona un'altra destinazione per il symlink"
#: moredialogs.xrc:8088
msgid "First Link Target:"
msgstr "Primo Collegamento Destinazione:"
#: moredialogs.xrc:8102
msgid "Ultimate Target:"
msgstr "Ultimo Collegamento Destinazione:"
#: moredialogs.xrc:8196
msgid " Go To First Link Target "
msgstr " Passa a collegamento diretto "
#: moredialogs.xrc:8198
msgid "Go to the link that is the immediate target of this one"
msgstr "Passa al collegamento seguente a questo"
#: moredialogs.xrc:8225
msgid " Go To Ultimate Target "
msgstr " Vai al file reale di destinazione "
#: moredialogs.xrc:8227
msgid "Go to the file that is the ultimate target of this link"
msgstr "Passa all'ultimo file di questa catena di collegamenti"
#: moredialogs.xrc:9162
msgid "Mount an fstab partition"
msgstr "Monta una partizione fstab"
#: moredialogs.xrc:9199
#: moredialogs.xrc:9416
msgid "Partition to Mount"
msgstr "Partizione da Montare"
#: moredialogs.xrc:9221
msgid "This is the list of known, unmounted partitions in fstab"
msgstr "Questa è la lista delle partizioni in fstab conosciute ma non montate"
#: moredialogs.xrc:9267
#: moredialogs.xrc:9484
msgid "Mount-Point for the Partition"
msgstr "Mount-Point per la Partizione"
#: moredialogs.xrc:9289
msgid "This is the mount-point corresponding to the selected partition, taken from fstab"
msgstr "Questo è il mount-point corrispondente alla partizione selezionata, preso da fstab"
#: moredialogs.xrc:9322
msgid " Mount a non-fstab partition "
msgstr " Monta una partizione non fstab"
#: moredialogs.xrc:9324
msgid "If a partition is not in fstab, it won't be listed above. Click this button for all known partitions"
msgstr "Se una partizione non è presente in fstab, non verrà elencata di seguito. Clicca questo pulsante per tutte le partizioni conosciute"
#: moredialogs.xrc:9379
msgid "Mount a Partition"
msgstr "Monta una Partizione"
#: moredialogs.xrc:9438
msgid "This is the list of known, unmounted partitions. If you think that you know another, you may write it in."
msgstr "Questa è la lista delle partizioni conosciute ma non montate. Se pensi di conoscerne altre le puoi inserire."
#: moredialogs.xrc:9506
#: moredialogs.xrc:10148
#: moredialogs.xrc:10246
msgid "If there is an fstab entry for this device, the mount-point will automatically have been entered. If not, you must enter one yourself (or browse)."
msgstr "Se esiste una voce in fstab per questo dispositivo, il mount-point verrà aggiunto automaticamente. Altrimenti puoi specificarlo manualmente (o sfogliando)."
#: moredialogs.xrc:9520
#: moredialogs.xrc:9828
#: moredialogs.xrc:10162
#: moredialogs.xrc:10260
#: moredialogs.xrc:10554
#: moredialogs.xrc:11045
msgid "Browse for a mount-point"
msgstr "Sfoglia per un mount-point"
#: moredialogs.xrc:9545
#: moredialogs.xrc:10579
#: moredialogs.xrc:11070
msgid "Mount Options"
msgstr "Opzioni Mount"
#: moredialogs.xrc:9559
msgid "No writing to the filesystem shall be allowed"
msgstr "Scrittura al filesystem non ammessa"
#: moredialogs.xrc:9561
msgid "Read Only"
msgstr "Sola Lettura"
#: moredialogs.xrc:9568
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr "La scrittura al filesystem mentre è montato deve essere sincrono "
#: moredialogs.xrc:9570
msgid "Synchronous Writes"
msgstr "Scritture Sincrone"
#: moredialogs.xrc:9577
msgid "Access times of files shall not be updated when the files are accessed"
msgstr "La data di accesso ai files non deve essere aggiornata"
#: moredialogs.xrc:9579
msgid "No File Access-time update"
msgstr "Non aggiornare accesso file"
#: moredialogs.xrc:9593
msgid "No files in the filesystem shall be executed"
msgstr "Nessun file nel filesystem dev'essere eseguito"
#: moredialogs.xrc:9595
msgid "Files not executable"
msgstr "Files non eseguibili"
#: moredialogs.xrc:9602
msgid "No device special files in the filesystem shall be accessible"
msgstr "I files speciali nel filesystem del dispositivo non devono essere accessibili"
#: moredialogs.xrc:9604
msgid "Hide device special files"
msgstr "Nascondi files speciali del dispositivo"
#: moredialogs.xrc:9611
msgid "Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr "I permessi Setuid e Setgid nei files del filesystem devono essere ignorati"
#: moredialogs.xrc:9613
msgid "Ignore Setuid/Setgid"
msgstr "Ignora Setuid/Setgid"
#: moredialogs.xrc:9670
msgid "Mount using sshfs"
msgstr "Monta usando sshfs"
#: moredialogs.xrc:9698
msgid "Remote user"
msgstr "Utente remoto"
#: moredialogs.xrc:9707
msgid "Optionally, enter the name of the remote user. If you leave it blank, your local username will be used"
msgstr "In alternativa, inserisci il nome dell'utente remoto. Lasciando il campo vuoto, verrà utilizzato il tuo nome utente locale"
#: moredialogs.xrc:9718
msgid " @ "
msgstr " @ "
#: moredialogs.xrc:9731
msgid "Host name"
msgstr "Host Name"
#: moredialogs.xrc:9740
msgid "Enter the name of the server e.g. myserver.com"
msgstr "Inserisci il nome del server es.: mioserver.com"
#: moredialogs.xrc:9752
msgid " : "
msgstr " : "
#: moredialogs.xrc:9765
msgid "Remote directory"
msgstr "Cartella remota"
#: moredialogs.xrc:9774
msgid "Optionally, supply a directory to mount. The default is the remote user's home dir"
msgstr "In alternativa, specifica una directory da montare. Quella predefinita è la home dell'utente remoto"
#: moredialogs.xrc:9794
msgid "Local mount-point"
msgstr "Mount-point locale"
#: moredialogs.xrc:9814
msgid "Enter an (empty) local directory to use for mounting (or browse)"
msgstr "Inserisci una directory locale (vuota) da utilizzare per il mount (o per la navigazione)"
#: moredialogs.xrc:9858
msgid "Translate the uid and gid of the remote host user to those of the local one. Recommended"
msgstr "Traduci uid e gid dell'utente dell'host remoto con quelli dell'utente locale. Raccomandato"
#: moredialogs.xrc:9860
msgid "idmap=user"
msgstr "idmap=user"
#: moredialogs.xrc:9872
msgid "mount read-only"
msgstr "Monta in sola lettura"
#: moredialogs.xrc:9895
msgid "Other options: "
msgstr "Altre opzioni:"
#: moredialogs.xrc:9903
msgid "Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust you to get the syntax right"
msgstr "Inserisci qualsiasi altra opzione che desideri, ad esempio -p 1234 -o cache_timeout=2. Mi raccomando per la sintassi"
#: moredialogs.xrc:9947
msgid "Mount a DVD-RAM Disc"
msgstr "Monta un Disco DVD-RAM"
#: moredialogs.xrc:9969
msgid "Device to Mount"
msgstr "Dispositivo da Montare"
#: moredialogs.xrc:9991
msgid "This is the device-name for the dvdram drive"
msgstr "Questo è il nome del dispositivo del lettore DVD-RAM"
#: moredialogs.xrc:10015
msgid "Mount-Point "
msgstr "Mount-Point "
#: moredialogs.xrc:10032
msgid "These are the appropriate mount-points in fstab. You can supply your own if you wish"
msgstr "Questi sono i mount-points inseriti nel file fstab. Se vuoi puoi aggiungerne altri"
#: moredialogs.xrc:10089
msgid "Mount an iso-image"
msgstr "Monta una immagine ISO"
#: moredialogs.xrc:10126
msgid "Image to Mount"
msgstr "Immagine da Montare"
#: moredialogs.xrc:10206
msgid "Mount-Point for the Image"
msgstr "Mount-Point per l'immagine"
#: moredialogs.xrc:10225
msgid ""
"Already\n"
"Mounted"
msgstr ""
"Già \n"
"Montato"
#: moredialogs.xrc:10327
msgid "Mount an NFS export"
msgstr "Monta un export NFS"
#: moredialogs.xrc:10363
msgid "Choose a Server"
msgstr "Scegli un Server"
#: moredialogs.xrc:10385
msgid "This is the list of NFS servers currently active on the network. If you know of another, use the button on the right to add it."
msgstr "Questa è la lista dei servers NFS presenti attualmente nella tua rete. Se ne conosci un altro, usa il pulsante a destra per aggiungerlo."
#: moredialogs.xrc:10402
msgid "Manually add another server"
msgstr "Aggiungi un altro server manualmente"
#: moredialogs.xrc:10433
msgid "Export to Mount"
msgstr "Export da Montare"
#: moredialogs.xrc:10458
msgid "These are the Exports available on the above Server"
msgstr "Questi sono gli Exports disponibili nel Server specificato"
#: moredialogs.xrc:10473
#: moredialogs.xrc:10966
msgid " already mounted"
msgstr " già montato"
#: moredialogs.xrc:10540
msgid "If there is an fstab entry for this export (or if it's already mounted!), the mount-point should automatically be entered. If not, you must choose one yourself."
msgstr "Se esiste una voce fstab per questo export (oppure se è già montato!), il mount-point verrà aggiunto automaticamente. Altrimenti, puoi inserirlo manualmente."
#: moredialogs.xrc:10593
msgid "What to do if the server fails. A Hard mount will freeze your computer until the server recovers; a Soft should quickly unfreeze itself, but may lose data"
msgstr "Cosa fare in caso di errore server. Un Hard mount potrebbe bloccare il tuo computer finchè la connessione al server non verrà ripristinata; uno Soft dovrebbe sbloccarsi velocemente, ma col rischio di perdita dati"
#: moredialogs.xrc:10597
msgid "Hard Mount"
msgstr "Hard Mount"
#: moredialogs.xrc:10598
msgid "Soft Mount"
msgstr "Soft Mount"
#: moredialogs.xrc:10617
#: moredialogs.xrc:11164
msgid "Mount read-write"
msgstr "Monta in lettura e scrittura"
#: moredialogs.xrc:10618
#: moredialogs.xrc:11165
msgid "Mount read-only"
msgstr "Monta in sola lettura"
#: moredialogs.xrc:10660
msgid "Add an NFS server"
msgstr "Aggiungi un server NFS"
#: moredialogs.xrc:10697
msgid "IP address of the new Server"
msgstr "Indirizzo IP del nuovo Server"
#: moredialogs.xrc:10719
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr "Inserisci l'indirizzo. Dovrebbe essere qualcosa come 192.168.0.2"
#: moredialogs.xrc:10739
msgid "Store this address for future use"
msgstr "Mantieni questo indirizzo per utilizzarlo in futuro"
#: moredialogs.xrc:10798
msgid "Mount a Samba Share"
msgstr "Monta Condivisione Samba"
#: moredialogs.xrc:10834
msgid "Available Servers"
msgstr "Servers Disponibili"
#: moredialogs.xrc:10857
msgid "IP Address"
msgstr "Indirizzo IP"
#: moredialogs.xrc:10867
msgid "These are the IP addresses of the known sources of samba shares on the network"
msgstr "Questi sono gli indirizzi IP delle condivisioni Samba di origine conosciute nella rete"
#: moredialogs.xrc:10883
msgid "Host Name"
msgstr "Host Name"
#: moredialogs.xrc:10893
msgid "These are the host-names of the known sources of samba shares on the network"
msgstr "Questi sono gli host-names delle condivisioni Samba di origine conosciute nella rete"
#: moredialogs.xrc:10929
msgid "Share to Mount"
msgstr "Condivisioni da Montare"
#: moredialogs.xrc:10951
msgid "These are the shares available on the above Server"
msgstr "Queste sono le condivisioni disponibili per il Server qui sopra"
#: moredialogs.xrc:11031
msgid "If there is an fstab entry for this share (or if it's already mounted!), the mount-point should automatically be entered. If not, you must choose one yourself."
msgstr "Se esiste una voce fstab per questa condivisione (oppure se è già montata!), il mount-point verrà aggiunto automaticamente. Altrimenti, puoi inserirlo manualmente."
#: moredialogs.xrc:11087
msgid "Use this Name and Password"
msgstr "Usa questo Nome e Password"
#: moredialogs.xrc:11088
msgid "Try to Mount Anonymously"
msgstr "Prova Montaggio Anonimo"
#: moredialogs.xrc:11113
msgid "Username"
msgstr "Nome Utente"
#: moredialogs.xrc:11121
msgid "Enter your samba username for this share"
msgstr "Inserisci il tuo nome utente Samba per questa condivisione"
#: moredialogs.xrc:11136
msgid "Password"
msgstr "Password"
#: moredialogs.xrc:11144
msgid "Enter the corresponding password (if there is one)"
msgstr "Inserisci (in caso) la relativa password"
#: moredialogs.xrc:11209
msgid "Unmount a partition"
msgstr "Smonta una partizione"
#: moredialogs.xrc:11246
msgid " Partition to Unmount "
msgstr " Partizione da Smontare "
#: moredialogs.xrc:11268
msgid "This is the list of mounted partitions from mtab"
msgstr "Questa è la lista delle partizioni montate da mtab"
#: moredialogs.xrc:11314
msgid "Mount-Point for this Partition"
msgstr "Mount-Point per questa Partizione"
#: moredialogs.xrc:11336
msgid "This is the mount-point corresponding to the selected partition"
msgstr "Questo è il mount-point corrispondente a questa partizione"
#: moredialogs.xrc:11399
msgid "Execute as superuser"
msgstr "Esegui come superutente"
#: moredialogs.xrc:11423
msgid "The command:"
msgstr "Comando:"
#: moredialogs.xrc:11438
msgid "requires extra privileges"
msgstr "richiede ulteriori privilegi"
#: moredialogs.xrc:11465
msgid "Please enter the administrator password:"
msgstr "Inserisci la password dell'amministratore"
#: moredialogs.xrc:11495
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr "Se spuntato, la password sarà ricordata, come predefinito, per 15 minuti"
#: moredialogs.xrc:11497
msgid " Remember this password for a while"
msgstr " Mantieni la password in memoria per un pò"
#: moredialogs.xrc:11553
msgid "Quick Grep"
msgstr "Grep Rapido"
#: moredialogs.xrc:11572
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
"Questa è la finestra di dialogo del Grep Rapido.\n"
"Essa rappresenta solamente le opzioni\n"
"più comuni di grep."
#: moredialogs.xrc:11585
msgid "Click for Full Grep"
msgstr "Clicca per Grep Completo"
#: moredialogs.xrc:11587
msgid "Click here to go to the Full Grep dialog"
msgstr "Clicca qui per aprire la finestra di dialogo di Grep Completo"
#: moredialogs.xrc:11595
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr "Spunta la casella per rendere Grep Completo come predefinito in futuro"
#: moredialogs.xrc:11597
msgid "Make Full Grep the default"
msgstr "Rendi Grep Completo"
#: moredialogs.xrc:11684
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
"Inserisci il Percorso o lista Files da cercare\n"
"(oppure usa una delle scorciatoie)"
#: moredialogs.xrc:11774
msgid "Only match whole words"
msgstr "Corrispondenza solo su parole intere"
#: moredialogs.xrc:11776
msgid "-w match Whole words only"
msgstr "-w Solo parole intere"
#: moredialogs.xrc:11783
msgid "Do a case-insensitive search"
msgstr "Ricerca ignorando maiuscole/minuscole"
#: moredialogs.xrc:11785
msgid "-i Ignore case"
msgstr "-i Ignora maiuscole/minuscole"
#: moredialogs.xrc:11792
#: moredialogs.xrc:11801
msgid "Don't bother searching inside binary files"
msgstr "Non cercare all'interno dei files binari"
#: moredialogs.xrc:11794
msgid "-n prefix match with line-number"
msgstr "-n prefissa risultato con numero riga"
#: moredialogs.xrc:11803
msgid "Ignore binary files"
msgstr "Ignora files binari"
#: moredialogs.xrc:11810
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr "Non tentare la ricerca nei dispositivi, FIFO, sockets e simili"
#: moredialogs.xrc:11812
msgid "Ignore devices, fifos etc"
msgstr "Ignora dispositivi, FIFO ecc"
#: moredialogs.xrc:11826
msgid "Do what with directories?"
msgstr "Cosa fare con le directories?"
#: moredialogs.xrc:11828
msgid "Which program to use (if any) to compress the Archive. Bzip2 is said to give the better compression, but takes longer to create"
msgstr "Quale applicazione usare (se presente) per la compressione. Bzip2 è conosciuto per una migliore compressione, ma richiede più tempo"
#: moredialogs.xrc:11832
msgid "Match the names"
msgstr "Nomi corrispondenti"
#: moredialogs.xrc:11833
msgid "Recurse into them"
msgstr "Ricerca ricorsiva"
#~ msgid "U&nmount an NFS export or Samba share"
#~ msgstr "Smonta un &Volume NFS o una Condivisione Samba"
#~ msgid "Install:"
#~ msgstr "Installazione:"
#~ msgid "Sorry, failed to unmount because the device was busy"
#~ msgstr "Spiacente, smontaggio fallito causa dispositivo occupato"
#~ msgid ""
#~ "Oops, failed to mount successfully\n"
#~ "Probably the wrong Samba password"
#~ msgstr ""
#~ "Oops, montaggio fallito\n"
#~ "Probabilmente password Samba errata"
#~ msgid "Mount-Point for this Export"
#~ msgstr "Mount-Point per questo Export"
#~ msgid "Oops, the Unmount failed"
#~ msgstr "Oops, smontaggio fallito"
#~ msgid "Name of the device"
#~ msgstr "Nome dispositivo"
#~ msgid "What would you like to call this device?"
#~ msgstr "Come vuoi chiamare questo dispositivo?"
#~ msgid "What type of device is it?"
#~ msgstr "Che tipo di dispositivo è?"
#~ msgid "Which gui 'su' program do you wish to call"
#~ msgstr "Quale interfaccia grafica 'su' da richiamare"
#~ msgid "to try to perform tasks as superuser?"
#~ msgstr "per eseguire processi come super utente?"
#~ msgid " None"
#~ msgstr " Nessuno"
#~ msgid ""
#~ "'None' will be selected if 4Pane can't detect any better alternative. You "
#~ "can also choose it yourself, if you don't want 4Pane to run things as "
#~ "superuser."
#~ msgstr ""
#~ "'Nessuno' verrà selezionato se 4Pane non individua alcuna alternativa. "
#~ "Puoi sceglierlo in caso non vuoi che 4Pane avvii comandi come super "
#~ "utente."
#~ msgid "Hard + intr"
#~ msgstr "Hard + intr"
#~ msgid "C&ut\tCtrl+X"
#~ msgstr "&Taglia"
#~ msgid "&Copy\tCtrl+C"
#~ msgstr "&Copia"
#~ msgid "&Paste\tCtrl+V"
#~ msgstr "&Incolla"
#~ msgid "Make a S&ymlink\tAlt+Shift+L"
#~ msgstr "Crea Sym&link"
#~ msgid "Make a Hard-Lin&k\tCtrl+Shift+L"
#~ msgstr "Crea &Hard-Link"
#~ msgid "Send Directory to &Trashcan\tDEL"
#~ msgstr "&Sposta Directory nel Cestino"
#~ msgid "De&lete Directory\tSHIFT-DEL"
#~ msgstr "&Elimina Directory"
#~ msgid "&Refresh the Display\tF5"
#~ msgstr "&Aggiorna Visualizzazione"
#~ msgid "Rena&me Directory\tF2"
#~ msgstr "Rin&omina Directory"
#~ msgid "&Duplicate Directory"
#~ msgstr "&Duplica Directory"
#~ msgid "&New Directory\tF10"
#~ msgstr "&Nuova Directory"
#~ msgid "&Filter display\tCtrl+Shift+F"
#~ msgstr "&Filtra visualizzazione"
#~ msgid "Unsplit Panes "
#~ msgstr "Unisci Riquadri"
#~ msgid ""
#~ "Here you can configure your computer's fixed devices\n"
#~ "such as DVDRoms, and removable ones e.g. Flash-pens.\n"
#~ "\n"
#~ "You can also add programs such as Editors, which can be\n"
#~ "accessed from the toolbar by clicking or by Drag'n'Drop."
#~ msgstr ""
#~ "Qui puoi configurare i tuoi dispositivi fissi\n"
#~ "come i lettori DVD oppure removibili come le penne USB.\n"
#~ "\n"
#~ "Puoi anche aggiungere programmi come gli Editors, i quali possono essere\n"
#~ "accessibili dalla barra degli strumenti tramite click o trascinamento."
#~ msgid "Configure Fixed Devices"
#~ msgstr "Configura Dispositivi Fissi"
#~ msgid "Configure Removable Devices"
#~ msgstr "Configura Dispositivi Removibili"
#~ msgid "Compress using bzip2"
#~ msgstr "Comprimi usando bzip2"
#~ msgid "Show Terminal Emulator"
#~ msgstr "Mostra Emulatore &Terminale"
4pane-5.0/locale/ca/ 0000755 0001750 0001750 00000000000 13130460751 011210 5 0000000 0000000 4pane-5.0/locale/ca/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 012776 5 0000000 0000000 4pane-5.0/locale/ca/LC_MESSAGES/ca.po 0000644 0001750 0001750 00000546373 13130150240 013647 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# el_libre como el chaval , 2011
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Catalan (http://www.transifex.com/davidgh/4Pane/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr "Ctrl"
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr "Alt"
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr "Majúscula"
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "Reta&lla"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&Copia"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr ""
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "&Suprimeix"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Suprimeix definitivament"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "Reano&mena"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "&Duplicat"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr ""
#: Accelerators.cpp:214
msgid "&Open"
msgstr "&Obre"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "&Obre amb..."
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "&Enganxa"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr ""
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr ""
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "Und&o"
msgstr ""
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "&Refés"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "Seleccion&a-ho tot"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr ""
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "&Nova pestanya"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr ""
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr ""
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr ""
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr ""
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr ""
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr ""
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr ""
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr ""
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "&Extensió"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&Mida"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "&Temps"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "&Permisos"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "Pr&opietari/a"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "&Grup"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "Enl&laç"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr ""
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr ""
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr ""
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr ""
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr ""
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr ""
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "&Afegeix a les adreces d'interès"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "Gestio&na les adreces d'interès"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr ""
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr ""
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr ""
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr ""
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr ""
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr ""
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr ""
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr ""
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr ""
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "Crea un arxiu &nou"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr ""
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "&Comprimeix arxius"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr ""
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr ""
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "S&urt"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr ""
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "Contingut de l'&ajuda"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&PMF"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr ""
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Edita"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Separador nou"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr ""
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr ""
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr ""
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr ""
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "Surt d'aquest programa"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr "&Fitxer"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "&Edita"
#: Accelerators.cpp:502
msgid "&View"
msgstr "&Visualitza"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "Pes&tanyes"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "Ad&reces d'interès"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "&Arxiu"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "&Munta"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr ""
#: Accelerators.cpp:502
msgid "&Options"
msgstr "&Opcions"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "&Ajuda"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr ""
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr "Acció"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Drecera"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Predeterminat"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Extensió"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr "Mida"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Temps"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Permisos"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Propietari/a"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Grup"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "Enllaça"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Edita les adreces d'interès"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr ""
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr ""
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "Estàs segur/a?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "Ups."
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Ups."
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr ""
#: Archive.cpp:1228
msgid "Compression failed"
msgstr ""
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr ""
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr ""
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr ""
#: Archive.cpp:1242
msgid "Archive created"
msgstr ""
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr ""
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr ""
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr ""
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr ""
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Extracció Fallida"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "Cap entrada"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Enganxa"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Mou"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr ""
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr ""
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Separador"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr ""
#: Bookmarks.cpp:204
msgid "Moved"
msgstr ""
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Copiat"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Canvia el nom de la carpeta"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Edita les adreces d'interès"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr ""
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr ""
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "Adreces d'interès"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr ""
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr ""
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr ""
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr ""
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "Ups."
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr ""
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "S'ha esborrat la carpeta"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr ""
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr ""
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr "AquÃ"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "Executa un prog&rama"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr ""
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Dreceres"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Eines"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr ""
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Edita una eina"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr ""
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Dispositius"
#: Configure.cpp:2052
msgid "Automount"
msgstr ""
#: Configure.cpp:2054
msgid "Mounting"
msgstr "Muntant"
#: Configure.cpp:2056
msgid "Usb"
msgstr "Usb"
#: Configure.cpp:2058
msgid "Removable"
msgstr "Extraïbles"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "Fixat"
#: Configure.cpp:2062
msgid "Advanced"
msgstr "Avançat"
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr "Pantalla"
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr "Miscel·là nia"
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr "Real"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "Emulador"
#: Configure.cpp:2088
msgid "The Network"
msgstr "Xarxa"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "Miscel·là nia"
#: Configure.cpp:2093
msgid "Numbers"
msgstr "Nombres"
#: Configure.cpp:2095
msgid "Times"
msgstr "Vegades"
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr "Altre"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "Tria un fitxer"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "Dispositius USB"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr "Pantalla"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr "Emulador de terminal"
#: Configure.cpp:2740
msgid "Networks"
msgstr "Xarxes"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr " (Ignorat)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr "Suprimeix aquest dispositiu?"
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr "Tipus de lletra predeterminat"
#: Configure.cpp:4036
msgid "Delete "
msgstr "Suprimeix"
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "Estàs segur/a?"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr "menú"
#: Devices.cpp:305
msgid "&Display "
msgstr "Mo&stra"
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr "&Munta"
#: Devices.cpp:308
msgid "&UnMount "
msgstr "Desm&unta"
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr "Mostra"
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr "&Expulsa"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr "Ha fallat"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr "AvÃs"
#: Devices.cpp:843
msgid "Floppy"
msgstr "Disquet"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr "La Partició"
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr "Fitxer"
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "Cancel·la"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr "Ha funcionat\n"
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr "L'execució de '%s' ha fallat"
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "Tanca"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr "Fitxer normal"
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr "Enllaç simbòlic"
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr "Enllaç simbòlic trencat"
#: Filetypes.cpp:350
msgid "Character Device"
msgstr "Dispositiu de carà cters"
#: Filetypes.cpp:351
msgid "Block Device"
msgstr "Dispositiu de blocs"
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "Directori"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr "Sòcol"
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr "Tipus desconegut?!"
#: Filetypes.cpp:959
msgid "Applications"
msgstr "Aplicacions"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr "Vols Suprimir la carpeta %s?"
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "Vols Suprimir %s?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr "Mostra ocults"
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr "retalla"
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr "Punt de muntatge"
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr "Impossible"
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr "Inici"
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr "Dir: "
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr "Arxius,Mida total"
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr "DifÃcil"
#: MyDirs.cpp:1033
msgid "Soft"
msgstr "Tou"
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr "enllaçat"
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr "suprimit"
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr "Esborra:"
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr "\n\n Fins a:\n"
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr "Per a"
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr "copiat"
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr "Suprimeix e&l fitxer"
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr "Altres..."
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr "Obre &amb...."
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr "Crea un arxiu nou"
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr "Comprimeix arxius"
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr "Duplicat"
#: MyFiles.cpp:665
msgid "Rename "
msgstr "Canvia el nom"
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr "Obre amb "
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr "de fitxers"
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr "errades"
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr "AvÃs"
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr "Talla"
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr "Copia"
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr "Desfés"
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr "Refés"
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr "Pestanya nova"
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr "Quant a"
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr "Error"
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr "Èxit"
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr "Ordinador"
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr "Seccions"
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr "La operació no es permet"
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr "Suprimeix la plantilla"
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr "Cancel·lat"
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr "Refés:"
#: Redo.cpp:258
msgid " Undo: "
msgstr "Desfés:"
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr " ---- MÉS ---- "
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr " -- ANTERIOR -- "
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr "acció"
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr "Mostra"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr "Amaga"
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr "Obre el fitxer seleccionat"
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr "elements"
#: Tools.cpp:2880
msgid " item "
msgstr "element"
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr "Repeteix:"
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr "primer"
#: Tools.cpp:3267
msgid "other"
msgstr "altres"
#: Tools.cpp:3267
msgid "next"
msgstr "següent"
#: Tools.cpp:3267
msgid "last"
msgstr "últim"
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr "parà metre"
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr "Suprimeix"
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr "Nou directori"
#: Redo.h:226
msgid "New File"
msgstr "Fitxer nou"
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr "Canvia el nom del fitxer"
#: Redo.h:281
msgid "Duplicate"
msgstr "Duplicat"
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr "Canvia el nom"
#: Redo.h:301
msgid "Extract"
msgstr "Extreu"
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "D'ACORD"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr "Tipus de dispositiu"
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr "Canvia"
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr "Utilitza els per defecte"
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr "Afegeix"
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr "Executa en un terminal"
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr "Ordre"
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr "LÃnia base"
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr "Actual"
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr "Neteja"
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr "Què vols fer?"
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr "cap"
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr "Dispositius USB"
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr "segons"
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr "Noms"
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr "Selecciona una icona"
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr "Horitzontal"
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr "Vertical"
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr "(Predeterminat 5)"
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr "(Predeterminat 3)"
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr "(Predeterminat 8)"
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr "Filtres"
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "&Ubica"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr "No es pot llegir"
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr "Omet aquest element"
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr "o:"
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr "Crea un enllaç"
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr "Aplica-ho a totes"
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr "Omet"
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr "Afegeix una adreça d'interès"
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr "Edita una adreça d'interès"
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr "Gestiona les adreces d'interès"
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr "Crea una carpeta nova"
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr "Obre amb:"
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr "Obre un terminal aquÃ"
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr "Afegeix una aplicació"
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr "Desa la plantilla"
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr " Usa expressions regulars"
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr "Reemplaça"
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr "Amb"
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr "Majúscules/minúscules"
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr "-b Nom base"
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr "-i Ignora diferències majúscules"
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr " -e Existent"
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr " -r Regex"
#: moredialogs.xrc:158
msgid "Find"
msgstr "Cerca"
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr "Ruta"
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr "Arrel (/)"
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr "Opcions"
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr "-depth"
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr "-help"
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr "Operadors"
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr "-and"
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr "-or"
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr "-not"
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr "Llista ( , )"
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr "No distingeixis entre majúscules i minúscules"
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr "Expressió regular"
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr "Enllaç simbòlic"
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr "Accedit"
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr "Modificat"
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr "Més que"
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr "Exactament"
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr "Menys que"
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr "Minuts fa"
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr "Dies fa"
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr "bytes"
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr "kilobytes"
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr "Tipus"
#: moredialogs.xrc:1531
msgid "File"
msgstr "Fitxer"
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr "Conducte"
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr "Usuari/a"
#: moredialogs.xrc:1662
msgid "By Name"
msgstr "Per nom"
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr "Altres"
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr "Llegeix"
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr "Escriu"
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr "Especial"
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr "suid"
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr "sgid"
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr "enganxós"
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr "Accions"
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr " imprimeix"
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr "ls"
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr "d'acord"
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr "Ordre per executar"
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr "Format de cadena"
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr "Fitxer destÃ"
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr "Ordre:"
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr "Grep"
#: moredialogs.xrc:2685
msgid "General Options"
msgstr "Opcions generals"
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr "-w concordança paraules senceres només"
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr "-i Ignora diferències de majúscules"
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr "Opcions de directori"
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr "Opcions d`arxiu"
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr "coincidències trobade"
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr "Opcions de sortida"
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr "-H Mostra el nom de fitxer de cada coincidència"
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr "-B Mostra"
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr "-A Mostra"
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr "-C Mostra"
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr "Patró"
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr "Ubicació"
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr "Arxiva fitxers"
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr "Navega"
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr "Comprimeix arxius"
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr "Més rà pid"
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr "Més petit"
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr "Extreu un arxiu"
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr "Propietats"
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr "General"
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr "Nom:"
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr "Ubicació:"
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr "Tipus:"
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr "Mida:"
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr "Accedit:"
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr "Modificat:"
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr "Nom d'usuari/a:"
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr "Grup:"
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr "Inode"
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr "ID del grup:"
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr "Destinació de l'enllaç"
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr "Opcions de muntatge"
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr "Només lectura"
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr "Adreça IP"
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr "Nom del servidor"
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr "Nom d'usuari/a"
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr "Contrasenya"
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr "La concordança ha de ser de paraules senceres"
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr "-w concordança amb paraules senceres només"
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr "-i Ignora diferències de majúscules"
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr "Ignora els fitxers binaris"
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/vi/ 0000755 0001750 0001750 00000000000 13130460751 011243 5 0000000 0000000 4pane-5.0/locale/vi/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013031 5 0000000 0000000 4pane-5.0/locale/vi/LC_MESSAGES/vi.po 0000644 0001750 0001750 00000537642 13130150240 013734 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Anh Phan , 2013
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Vietnamese (http://www.transifex.com/davidgh/4Pane/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "C&ắt"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&Sao chép"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "Gá»i đến T&hùng rác"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "X&óa"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Xóa hoà n toà n"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "Äổ&i tên"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "Tr&ùng nhau"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "Thu&á»™c tÃnh"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "M&ở"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Mở v&ới"
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "D&án"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "Tạo một &liên kết cứng"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "Tạo một li&ên kết biểu tượng"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "&Xóa Tab"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "Ä&ổi tên tab"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "Há»§y B&á»"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "L&à m lại"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "Chá»n tất&t cả"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "Tạ&o má»›i táºp tin hoặc thư mục"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "T&ab má»›i"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "C&hèn tab"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "Nhân đ&ôi tab nà y"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr ""
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr ""
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr ""
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr ""
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr ""
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr ""
#: Accelerators.cpp:217
msgid "&Extension"
msgstr ""
#: Accelerators.cpp:217
msgid "&Size"
msgstr ""
#: Accelerators.cpp:217
msgid "&Time"
msgstr ""
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr ""
#: Accelerators.cpp:218
msgid "&Owner"
msgstr ""
#: Accelerators.cpp:218
msgid "&Group"
msgstr ""
#: Accelerators.cpp:218
msgid "&Link"
msgstr ""
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr ""
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr ""
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr ""
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr ""
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr ""
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr ""
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr ""
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr ""
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr ""
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr ""
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr ""
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr ""
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr ""
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr ""
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr ""
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr ""
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr ""
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr ""
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr ""
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr ""
#: Accelerators.cpp:228
msgid "E&xit"
msgstr ""
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr ""
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr ""
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr ""
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr ""
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr ""
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr ""
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr ""
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr ""
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr ""
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr ""
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr ""
#: Accelerators.cpp:502
msgid "&Edit"
msgstr ""
#: Accelerators.cpp:502
msgid "&View"
msgstr ""
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr ""
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr ""
#: Accelerators.cpp:502
msgid "&Archive"
msgstr ""
#: Accelerators.cpp:502
msgid "&Mount"
msgstr ""
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr ""
#: Accelerators.cpp:502
msgid "&Options"
msgstr ""
#: Accelerators.cpp:502
msgid "&Help"
msgstr ""
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr ""
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr ""
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr ""
#: Accelerators.cpp:675
msgid "Default"
msgstr ""
#: Accelerators.cpp:694
msgid "Extension"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr ""
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr ""
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr ""
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr ""
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr ""
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr ""
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr ""
#: Archive.cpp:1228
msgid "Compression failed"
msgstr ""
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr ""
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr ""
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr ""
#: Archive.cpp:1242
msgid "Archive created"
msgstr ""
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr ""
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr ""
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr ""
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr ""
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr ""
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr ""
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr ""
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr ""
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr ""
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr ""
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr ""
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr ""
#: Bookmarks.cpp:204
msgid "Moved"
msgstr ""
#: Bookmarks.cpp:215
msgid "Copied"
msgstr ""
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr ""
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr ""
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr ""
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr ""
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr ""
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr ""
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr ""
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr ""
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr ""
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr ""
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr ""
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr ""
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr ""
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr ""
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr ""
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr ""
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr ""
#: Configure.cpp:2041
msgid "Tools"
msgstr ""
#: Configure.cpp:2043
msgid "Add a tool"
msgstr ""
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr ""
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr ""
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr ""
#: Configure.cpp:2052
msgid "Automount"
msgstr ""
#: Configure.cpp:2054
msgid "Mounting"
msgstr ""
#: Configure.cpp:2056
msgid "Usb"
msgstr ""
#: Configure.cpp:2058
msgid "Removable"
msgstr ""
#: Configure.cpp:2060
msgid "Fixed"
msgstr ""
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr ""
#: Configure.cpp:2085
msgid "Emulator"
msgstr ""
#: Configure.cpp:2088
msgid "The Network"
msgstr ""
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr ""
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr ""
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr ""
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr ""
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr ""
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr ""
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr ""
#: Configure.cpp:4036
msgid "Delete "
msgstr ""
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr ""
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr ""
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr ""
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr ""
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr ""
#: Devices.cpp:843
msgid "Floppy"
msgstr ""
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr ""
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr ""
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr ""
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr ""
#: Filetypes.cpp:353
msgid "FIFO"
msgstr ""
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr ""
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr ""
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr ""
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr ""
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/es/ 0000755 0001750 0001750 00000000000 13130460751 011234 5 0000000 0000000 4pane-5.0/locale/es/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013022 5 0000000 0000000 4pane-5.0/locale/es/LC_MESSAGES/es.po 0000644 0001750 0001750 00000631307 13130150240 013707 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Adolfo Jayme-Barrientos, 2014
# Adolfo Jayme-Barrientos, 2012-2013
# Adolfo Jayme-Barrientos, 2013
# Adolfo Jayme-Barrientos, 2014
# nemecis1000 , 2011
# Mario Rodriguez , 2011
# nemecis1000 , 2014
# Ricardo A. Hermosilla Carrillo , 2011-2012
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Spanish (http://www.transifex.com/davidgh/4Pane/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr "Ctrl"
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr "Alt"
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr "Mayús"
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "C&ortar"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&Copiar"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "Enviar a la &papelera"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "E&liminar"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Eliminar permanentemente"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "Reno&mbrar"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "&Duplicar"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "Propi&edades"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "&Abrir"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Abrir &con…"
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "&Pegar"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "Crear un enlace &duro"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "Crear un enlace &simbólico"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "&Eliminar pestaña"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "&Renombrar pestaña"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "Des&hacer"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "&Rehacer"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "Seleccion&ar todo"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "Archivo o carpeta &nuevo"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "Pestaña &nueva"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "&Insertar pestaña"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "D&uplicar esta pestaña"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr "Mostrar siempre la &barra de pestañas"
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Dar misma &anchura a las pestañas"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "&Replicar en el Panel Opuesto"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "&Intercambiar los Paneles"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "Dividir Paneles &Verticalmente"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "Dividir Paneles &Horizontalmente"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "&Juntar Paneles"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "&Extensión"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&Tamaño"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "&Fecha"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "&Permisos"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "&Propietario"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "&Grupo"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "En&lace"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "Mostrar &todas las columnas"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "&Ocultar todas las columnas"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "Guardar Configuraciones del &Panel"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "Guardar configuraciones del Panel al &salir"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "Guardar el Di&seño como Plantilla"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "&Eliminar una Plantilla"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "Actualiza&r"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "Ejecutar &terminal"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "&Filtrar Vista"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "Mostrar/Ocultar archivos y directorios ocultos"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "&Añadir a Marcadores"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "Ad&ministrar Marcadores"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "&Montar una Partición"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "&Desmontar una Partición"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "Montar una Imagen &ISO"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "Montar una exportación &NFS"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "Montar una compartición &Samba"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr "Sin usar"
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "Mostrar Emulador de &Terminal"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "Mostrar &LÃnea de Comandos"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "&Ir al archivo seleccionado"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "&Vaciar la Papelera"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "Eliminar permanentemente los archivos borra&dos"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "E&xtraer Archivo o Archivo(s) Comprimido(s)"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "Crear un &Nuevo Archivo"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "&Añadir a un archivo existente"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "&Probar integridad del Archivo o archivos comprimidos"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "&Comprimir archivos"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "&Mostrar recursivamente los tamaños de los directorios"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr "Conserva&r Destinos relativos de los Enlaces Simbólicos"
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "&Configurar 4Pane"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "&Salir"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "Ayuda contextual"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "&Contenido de la ayuda"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&Preguntas frecuentes"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "&Acerca de 4Pane"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "Configurar atajos"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "Ir al destino del enlace simbólico"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr "Ir al destino final del enlace simbólico"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Editar"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Separador nuevo"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "Repetir programa previo"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr "Navegar al panel opuesto"
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr "Navegar al panel adyacente"
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr "Cambiar a los paneles"
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr "Cambiar al emulador de terminal"
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr "Cambiar a la lÃnea de órdenes"
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr "Cambiar a control de texto de barra de herramientas"
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr "Cambiar a la ventana anterior"
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr "Ir a la pestaña anterior"
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr "Ir a la pestaña siguiente"
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr "Pegar como directorio&la plantilla "
#: Accelerators.cpp:231
msgid "&First dot"
msgstr "&Primer punto"
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr "&Penúltimo punto"
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr "&Ultimo punto"
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr "Montar con SSH mediante ssh&fs"
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr "Mostrar &previsualizaciones"
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "Cortar la selección actual"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "Copiar la selección actual"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "Enviar a la papelera"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr "Matar, pero puede ser resucitable"
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr "Eliminar con prejuicio extremo"
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "Pegar el contenido del portapapeles"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr "Crear Enlace Duro de los contenidos del Portapapeles aquÃ"
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr "Crear Enlace Simbólico de los contenidos del Portapapeles aquÃ"
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "Eliminar la pestaña seleccionada"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "Renombrar la pestaña seleccionada"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Anexar una nueva Pestaña"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "Insertar una nueva Pestaña después de la seleccionada"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "Esconder barra de pestañas si sólo hay una"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr "Copiar la ruta de este lado al panel opuesto"
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr "Intercambiar la ruta de este lado con el otro"
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr "Guardar el diseño de los paneles en cada pestaña"
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr "Siempre guardar el diseño de los paneles al salir"
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr "Guardar estas pestañas como una plantilla recargable"
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr "Añadir el elemento seleccionado a sus Marcadores"
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "Reorganizar, renombrar o eliminar marcadores"
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr "Buscar archivo(s) coincidentes(s)"
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr "Buscar en los archivos"
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "Mostrar/ocultar el emulador de terminal"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr "Mostrar/ocultar la lÃnea de órdenes"
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr "Vaciar la papelera de 4Pane"
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr "Eliminar la carpeta 'Borrados' de 4Pane"
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr "Calcular los tamaños de los directorios recursivamente en las visas de archivos"
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr "Al mover un enlace simbólico, mantener el mismo destino"
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "Cerrar este programa"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr "Pegar sólo la estructura de directorios del portapapeles"
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr "ext comienza al principio. en el nombre del archivo"
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr "ext comienza en última o penúltima uno. en el nombre del archivo"
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr "ext comienza al fin. en el nombre del archivo"
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr "Mostrar previsualizaciones de archivos de imágenes y texto"
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr "\n¡La matrices en ImplementDefaultShortcuts() no son del mismo tamaño!"
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr "Activar el modo de Ãrbol"
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr "¡No se puede cargar la configuración?"
#: Accelerators.cpp:502
msgid "&File"
msgstr "&Archivo"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "&Editar"
#: Accelerators.cpp:502
msgid "&View"
msgstr "&Ver"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "&Pestañas"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "&Marcadores"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "A&rchivador"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "&Montar"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "&Herramientas"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "&Opciones"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "Ay&uda"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "&Columnas que mostrar"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr "&Cargar una Plantilla de Pestaña"
#: Accelerators.cpp:673
msgid "Action"
msgstr "Acción"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Acceso directo"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Predeterminado"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Extensión"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr "Mostrar/Ocultar la columna Extensión de la vista de archivo"
#: Accelerators.cpp:694
msgid "Size"
msgstr "Tamaño"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr "Mostrar/Ocultar columna de Tamaño en la vista de archivo"
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Fecha"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr "Mostrar/Ocultar columna Fecha en la vista de archivo"
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Permisos"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr "Mostrar/Ocultar columna de Permisos en vista de archivo"
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Propietario"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr "Mostrar/Ocultar columna de Propietario en vista de archivo"
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Grupo"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr "Mostrar/Ocultar columna de Grupo en vista de archivo"
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "Enlace"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr "Mostrar/Ocultar columna de Enlace en la vista de archivo"
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "Mostrar todas las columnas"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr "Vista de Archivo: Mostrar todas las columnas"
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "Ocultar todas las columnas"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr "Vista de Archivo: Ocultar todas las columnas"
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Marcadores: editar"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "Marcadores: separador nuevo"
#: Accelerators.cpp:697
msgid "First dot"
msgstr "Primer punto"
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr "Las extensiones comienzan a partir del primer punto"
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr "Penúltimo punto"
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr "Las extensiones comienzan a partir del penúltimo punto"
#: Accelerators.cpp:698
msgid "Last dot"
msgstr "Último punto"
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr "Las extensiones comienzan a partir del último punto"
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "¿Perder los cambios?"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "¿Está seguro?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr "Escriba en la nueva Etiqueta para mostrar en este elemento del menú"
#: Accelerators.cpp:958
msgid "Change label"
msgstr "Cambiar etiqueta"
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr "Escriba en la cadena Ayuda para mostrar la ayuda sobre este elemento\nCancelar limpiará la cadena"
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr "Cambiar cadena de Ayuda"
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr "Me parece que no puedo encontrar este archivo o directorio.\nIntente utilizar el botón Examinar"
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "¡Vaya!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr "Elija los archivos o las carpetas"
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr "Elija la carpeta donde se guardará el archivo"
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr "Examine el archivador en el que se anexará"
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr "El directorio en el que quiere crear el archivo no parece existir.\n¿Utilizar el directorio actual?"
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr "Parece que no existe el archivador en el que quiere anexar el archivo.\n¿Quiere intentarlo de nuevo?"
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr "No se puede encontrar el programa binario de descompresión de 7z en el sistema"
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Vaya"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr "No se puede encontrar un archivo válido a extraer.\n¿Intentarlo nuevamente?"
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr "No se seleccionó ningún archivo comprimido relevante.\n¿Quiere intentarlo de nuevo?"
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr "Examine el archivo para Comprobar"
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr "Seleccione el Directorio en el cual Extraer el archivo"
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr "Fallo al crear el directorio de destino deseado.\n¿Intentarlo nuevamente?"
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr "No se puede encontrar el programa rpm2cpio en el sistema…"
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr "No se puede encontrar el programa ar en el sistema…"
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr "No se puede encontrar un archivo válido a extraer.\n¿Intentarlo nuevamente?"
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr "No se puede encontrar un archivo válido para comprobar.\n¿Intentarlo nuevamente?"
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "Archivos comprimidos"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "Falló la compresión"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "Archivos descomprimidos"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "Falló la descompresión"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr "Archivos comprobados"
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "Falló la comprobación"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "Se creó el archivador"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "Falló la creación del archivador"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "Archivos añadidos al archivador"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "Falló la adición al archivador"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "Archivador extraÃdo"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Falló la extracción"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr "Archivador comprobado"
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr "¿En qué carpeta quiere extraer los archivos?"
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr "¿En qué carpeta quiere extraer esto?"
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "Extrayendo desde archivador"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr "Me temo que no tiene permisos para Crear en este directorio\n ¿Intentarlo nuevamente?"
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "¡Sin entrada!"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr "Lo siento, %s ya existe\n ¿Intentarlo nuevamente?"
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr "Me temo que no tiene Permisos para escribir en este Directorio"
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr "Me temo que no tiene permisos para Acceder a los archivos en este Directorio"
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr "¡Sin Salida!"
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr "Por alguna razón, la creación de la copia de seguridad ha fallado. ¡Lo siento!"
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr "Lo siento, ha fallado la copia de seguridad"
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr "Lo siento, no se han podido eliminar los elementos"
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Pegar"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Mover"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr "Lo siento, necesita ser administrador para extraer o bloquear dispositivos"
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr "Me temo que su zlib es muy antigua para hacer esto :("
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr "Falló la apertura del archivador por algún motivo :("
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr "No se puede hurgar en ese tipo de archivadores a menos que instale liblzma."
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr "Falta una biblioteca"
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr "Este archivo está comprimido, pero no es un archivo, asà que no puede mirar dentro."
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "Lo siento"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr "No se puede hurgar en ese tipo de archivadores."
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Carpetas de Marcadores"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Separador"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "Duplicado"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "Movido"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Copiado"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Renombrar carpeta"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Editar marcador"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "SeparadorNuevo"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "CarpetaNueva"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr "Ocurrió un error al cargar la barra de menús."
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr "No se encontró el menú."
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr "Esta sección no existe en el archivo .ini."
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "Marcadores"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr "No se pudo ubicar esa carpeta"
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "Marcador añadido"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "¿Perder todos los cambios?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr "¿Qué Etiqueta quiere para esta nueva Carpeta?"
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr "Lo siento, ya existe una carpeta llamada %s\n ¿Intentarlo nuevamente?"
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "Carpeta añadida"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "Separador añadido"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr "Lo siento, ya existe una carpeta con el nombre %s\n ¿Quiere cambiar el nombre?"
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "¿Oops?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr "¿Cómo quiere llamar a esta Carpeta?"
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr "¿Qué Etiqueta quiere para esta Carpeta?"
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "Pegado"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr "Modifique la Etiqueta de la Carpeta"
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr "Lo siento, no le está permitido mover la carpeta principal"
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr "Lo siento, no le está permitido eliminar la carpeta principal"
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr "¡Tsk tsk!"
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr "¿Eliminar la carpeta %s y todo su contenido?"
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "Carpeta eliminada"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "Marcador eliminado"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Bienvenido a 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr "4Pane es un Administrador de Archivos que apunta a ser rápido y con varias caracterÃsticas sin ahogarse."
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr "Por favor, presione Siguiente para configurar 4Pane para su sistema."
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr "O si ya existe un archivo de configuración que quiera copiar, presione"
#: Configure.cpp:69
msgid "Here"
msgstr "AquÃ"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr "Recursos localizados correctamente. Por favor, presione Siguiente"
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr "He echado un vistazo alrededor de su sistema y he creado una configuración que deberÃa funcionar."
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr "Puede realizar una configuración completa en cualquier momento, en Opciones > Configurar 4Pane."
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Agregar un acceso directo de 4Pane en el escritorio"
#: Configure.cpp:158
msgid "&Next >"
msgstr "&Siguiente >"
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr "Examine en busca de un archivo de Configuración"
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr "Me temo que no tiene permisos para Copiar este archivo.\n¿Quiere intentarlo nuevamente?"
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr "Este no parece ser un archivo de configuración 4Pane válida \n¿Estás absolutamente seguro de que quieres usarlo?"
#: Configure.cpp:198
msgid "Fake config file!"
msgstr "Archivo de configuración Falso!"
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr "No se puede encontrar archivos de recursos de 4Pane. Debe haber algo mal con su instalación. :(\n ¿Quieres tratar de localizar de forma manual?"
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr "Examine por ..../4Pane/rc/"
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr "Examine por ..../4Pane/bitmaps/"
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr "Examine por ..../4Pane/doc/"
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "&Ejecutar un Programa"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr "Instalar .deb(s) como administrador:"
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr "Instalar rpm(s) como administrador:"
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "Ir al directorio Principal"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr "Ir al directorio Documentos"
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr "Si está viendo este mensaje (no deberÃa), es porque el archivo de configuración no ha podido ser guardado.\nLas razones menos probables pueden ser: permisos incorrectos o una partición de Sólo Lectura"
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Accesos Directos"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Herramientas"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "Añadir una herramienta"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Editar una herramienta"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "Eliminar una herramienta"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Dispositivos"
#: Configure.cpp:2052
msgid "Automount"
msgstr "Automontar"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "Montando"
#: Configure.cpp:2056
msgid "Usb"
msgstr "USB"
#: Configure.cpp:2058
msgid "Removable"
msgstr "ExtraÃble"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "Fijo"
#: Configure.cpp:2062
msgid "Advanced"
msgstr "Avanzado"
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr "Avanzado fijo"
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr "Avanzado extraÃble"
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr "lvm avanzado"
#: Configure.cpp:2072
msgid "The Display"
msgstr "La Pantalla"
#: Configure.cpp:2074
msgid "Trees"
msgstr "Ãrboles"
#: Configure.cpp:2076
msgid "Tree font"
msgstr "Fuente del árbol"
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr "Otros"
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr "Terminales"
#: Configure.cpp:2083
msgid "Real"
msgstr "Real"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "Emulador"
#: Configure.cpp:2088
msgid "The Network"
msgstr "La Red"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "Misceláneo"
#: Configure.cpp:2093
msgid "Numbers"
msgstr "Números"
#: Configure.cpp:2095
msgid "Times"
msgstr "Fechas"
#: Configure.cpp:2097
msgid "Superuser"
msgstr "Súper-usuario"
#: Configure.cpp:2099
msgid "Other"
msgstr "Otro"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr "Detener gtk2 el uso de la tecla F10"
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr "Si esto es desmarcado, gtk2 toma la tecla F10 y no se puede utilizar como acceso directo (es la predeterminada para \"Nuevo archivo o directorio\")."
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr "Lo siento, no hay espacio para otro submenú\nLe sugiero que lo ponga en otro lugar"
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr "Ingrese el nombre del nuevo submenú para agregar a "
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr "Lo siento, ya existe un menú con ese nombre\n ¿Intentarlo nuevamente?"
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr "Lo siento, no le es permitido eliminar el menú raÃz"
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr "¿Eliminar el menú \"%s\" y todo su contenido?"
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr "No puedo encontrar el comando \"%s\" ejecutable.\n¿Continuar de todas formas?"
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "No puedo encontrar el comando \"%s\" ejecutable en su PATH.\n¿Continuar de todas formas?"
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr " Presione cuando Termine "
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr " Editar este Comando "
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr "¿Eliminar el comando \"%s\"?"
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "Seleccione un archivo"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr "Herramientas definidas por el usuario"
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr "Dispositivos de Automontaje"
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr "Dispositivos de Montaje"
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "Dispositivos USB"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr "Dispositivos extraÃbles"
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr "Dispositivos fijos"
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr "Dispositivos fijos avanzados "
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr "Dispositivos removibles avanzados "
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr "Dispositivos LVM avanzados "
#: Configure.cpp:2739
msgid "Display"
msgstr "Mostrar"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr "Mostrar árboles"
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr "Terminales reales"
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr "Emulador de terminal"
#: Configure.cpp:2740
msgid "Networks"
msgstr "Redes"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr "Varios de superusuario"
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr "Hay cambios sin guardar en la página «%s».\n ¿Realmente quiere cerrarla?"
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr "Tipo de letra del árbol seleccionado"
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr "Tipo de letra del árbol predeterminado"
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr "(ignorado)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr "¿Quiere eliminar este dispositivo?"
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr "Tipo de letra seleccionado para el emulador de terminal"
#: Configure.cpp:3829
msgid "Default Font"
msgstr "Tipo de letra predeterminado"
#: Configure.cpp:4036
msgid "Delete "
msgstr "Eliminar"
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "¿Está seguro?"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr "Eso no parece ser una dirección IP válida"
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr "Ese servidor ya está en la lista"
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr "Escriba la orden que se usará, incluyendo cualquier opción necesaria"
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr "Orden de un programa gráfico de «su» diferente"
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr "Cada patrón metakey debe ser único. Intentar de nuevo?"
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr "¿Quiere eliminar este botón de la barra de herramientas?"
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr "Examinar la ruta de archivo que añadir"
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr "Dispositivo desconocido"
#: Devices.cpp:301
msgid " menu"
msgstr " menú"
#: Devices.cpp:305
msgid "&Display "
msgstr "&Mostrar"
#: Devices.cpp:306
msgid "&Undisplay "
msgstr "&Ocultar"
#: Devices.cpp:308
msgid "&Mount "
msgstr "&Montar"
#: Devices.cpp:308
msgid "&UnMount "
msgstr "&Desmontar"
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr "Montar un DVD-&RAM "
#: Devices.cpp:347
msgid "Display "
msgstr "Mostrar"
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr "Desmontar DVD-&RAM "
#: Devices.cpp:354
msgid "&Eject"
msgstr "&Expulsar"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr "¿Cuál montaje quieres remover?"
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr "Desmontar un disco DVD-RAM"
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr "Clic o Arrastrar aquà para invocar"
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr "Parece que no tiene permisos para leer este archivo"
#: Devices.cpp:581
msgid "Failed"
msgstr "Fallo"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr "archivo(s) no pudieron ser abiertos debido a que no cuentas con permisos de Lectura"
#: Devices.cpp:592
msgid "Warning"
msgstr "Aviso"
#: Devices.cpp:843
msgid "Floppy"
msgstr "Floppy"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr "Oops, ese dispositivo no parece estar disponible.\n\n¡Que tengas un buen dÃa!"
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr "Oops, esa partición no parece estar disponible.\n\n¡Que tengas un buen dÃa!"
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr "Lo siento, necesitas ser root para desmontar particiones non-fstab"
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr "Lo siento, fallo al desmontar"
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr "\n(Necesitarás 'su' para root)"
#: Devices.cpp:1435
msgid "The partition "
msgstr "La partición"
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr "no tiene una entrada fstab.\n¿Dónde te gustarÃa montarla?"
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr "Montar partición non-fstab"
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr "El punto de montaje para este dispositivo no existe. ¿Crearlo?"
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr "Lo siento, necesitas ser root para montar particiones non-fstab"
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr "Oops, fallo al montar\nHubo un problema con /etc/mtab"
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr "Oops, fallo al montar\nIntenta insertar un disco funcional"
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr "Oops, fallo al montar debido a un error"
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr "Oops, fallo al montar.\n¿Tienes permisos para hacer esto?"
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr "No puedo encontrar el archivo con la lista de particiones."
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr "\n\nNecesitas usar Configurar para ordenar las cosas"
#: Devices.cpp:1662
msgid "File "
msgstr "Archivo"
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr "No puedo encontrar el archivo con la lista de entradas scsi."
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr "Debe introducir una orden válida. ¿Intentarlo de nuevo?"
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr "Ninguna aplicación ingresada"
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr "La ruta no parece existir.\n¿Usar de todas formas?"
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr "Aplicación no encontrada"
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr "¿Eliminar este editor?"
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3449
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "Cancelar"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr "Seleccione el tipo de icono correcto"
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr "Me temo que no tienes permisos de Lectura para el archivo"
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr "Parece haber un problema: el directorio de destino no existe. Lo siento."
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr "Parece haber un problema: el directorio no existe. Lo siento."
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr "Ya existe un directorio en el archivo con el nombre"
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr "\nTe sugiero que renombres el archivo o el directorio"
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr "Por alguna razón, falló el intentar crear un directorio temporal. ¡Lo siento!"
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr "Ambos archivos tienen el mismo tiempo de modificación"
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr "El archivo actual fue modificado el "
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr "El archivo fue modificado el "
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr "Parece ser que quieres sobreescribir el mismo directorio"
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr "Lo siento, el nombre ya está tomado. Por favor, inténtalo nuevamente."
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr "No, la idea es que tu CAMBIES el nombre"
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr "Lo siento, no pude duplicar el archivo. ¿Quizá un problema de permisos?"
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr "Lo siento, no pude crear un espacio para el directorio. ¿Quizá un problema de permisos?"
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr "Lo siento, ha ocurrido un error inesperado en el sistema de archivos :-("
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr "Múltiples duplicados"
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr "Confirmar duplicación "
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr "Ayuda RegExp"
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr "Éxito\n"
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr "El proceso falló\n"
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr "Proceso correctamente abortado\n"
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr "Lo sentimos, falló la cancelación\n"
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr "Falló la ejecución de «%s»."
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "Cerrar"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr "Archivo normal"
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr "Enlace simbólico"
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr "Enlace simbólico roto"
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr "Bloquear dispositivo"
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "Carpeta"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr "¡¿Tipo desconocido?!"
#: Filetypes.cpp:959
msgid "Applications"
msgstr "Aplicaciones"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr "Lo sentimos, no tiene permitido eliminar la carpeta raÃz"
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr "¡Uf!"
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr "¿Eliminar la carpeta %s?"
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr "No se puede ubicar esa carpeta."
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr "No se puede encontrar el programa ejecutable «%s».\n¿Continuar de todos modos?"
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "No se puede encontrar el programa ejecutable «%s en su RUTA.\n¿Continuar de todos modos?"
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr "Lo sentimos, ya existe una aplicación llamada %s\n ¿Intentarlo de nuevo?"
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr "Confirmar"
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr "No introdujo una extensión."
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr "¿Qué extensión(es) quiere asociar con esta aplicación?"
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr "¿Qué extensión(es) quiere asociar con %s?"
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr "¿Reemplazar %s\ncon %s\ncomo la orden predeterminada para archivos %s?"
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr "No se pudo ubicar la aplicación."
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "¿Eliminar %s?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr "Editar los datos de la aplicación"
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr "Lo sentimos, no tiene permisos para ejecutar este archivo."
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr "No tiene permiso para ejecutar este archivo.\n¿Quiere intentar leerlo?"
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr "Mostrar ocultos"
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr "cortado"
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr "No ha introducido un punto de montaje.\n¿Intentarlo de nuevo?"
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr "No existe el punto de montaje para esta partición. ¿Crearlo?"
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr "El mensaje de error fue:"
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr "Se montó correctamente en"
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr "No se pudo crear la carpeta"
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr "Falló la creación de la carpeta"
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr "No hay permisos suficientes para crear la carpeta"
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr "¡Desmontar root es una MALÃSIMA idea!"
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr "Fallo al desmontar"
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr "desmontado correctamente"
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr "No se pudo desmontar correctamente debido a un error"
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr "Fallo al desmontar"
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr "El punto de montaje solicitado no existe. ¿Crearlo?"
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr "Falló el montaje.\nAsegúrese de que la imagen es válida."
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr "Falló el montaje.\nAsegúrese de que NFS se está ejecutando."
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr "El punto de montaje seleccionado no existe. ¿Crearlo?"
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr "El punto de montaje seleccionado no es un directorio"
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr "No se puede acceder al punto de motaje seleccionado"
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr "El recurso compartido ya está montado en"
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr "Desmontado correctamente"
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr "Falló el desmontaje con el mensaje:"
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr "Elija la carpeta que usar como punto de montaje"
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr "Elija una imagen a montar"
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr "Buscando recursos compartidos de Samba…"
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr "No se encontró ningún servidor"
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr "No es posible"
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr "Volver al directorio anterior"
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr "Mostrar árbol completo"
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr "Ir al directorio contenedor"
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr "Carpeta personal"
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr "Vaya, parece que ese directorio ya no existe."
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr "Archivos, tamaño total"
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr "Subcarpetas"
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr "&No mostrar carpetas y archivos ocultos\tCtrl+H"
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr "&Mostrar carpetas y archivos ocultos\tCtrl+H"
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr "movido"
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr "duro"
#: MyDirs.cpp:1033
msgid "Soft"
msgstr "suave"
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr "Proporcione una extensión a adjuntar"
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr "Proporcione un nombre para llamar al enlace"
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr "Proporcione un nombre diferente para el enlace"
#: MyDirs.cpp:1112
msgid "linked"
msgstr "enlazado"
#: MyDirs.cpp:1122
msgid "trashed"
msgstr "movido a la papelera"
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr "eliminado"
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr "Parece que no existe el elemento a eliminar"
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr "Elemento no encontrado"
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr "Mover a la papelera:"
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr "Eliminar:"
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr "%zu elementos, de:"
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr "\n\n A:\n"
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr "Lo sentimos, falló la eliminación"
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr "La ruta de archivo no era válida."
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr "Para"
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr "de los elementos, no tiene permisos para eliminar de este directorio."
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr "No se pudo eliminar el elemento."
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr "No se pudieron eliminar"
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr "elementos."
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr "Falló el cortado"
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr "Falló la eliminación"
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr "Eliminar permanentemente (no se puede deshacer):"
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr "¿Está COMPLETAMENTE seguro?"
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr "eliminado irrevocablemente"
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr "copiado"
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr "pegado"
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr "Crear un enlace s&imbólico"
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr "Extraer del archivador"
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr "E&liminar del archivador"
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr "Reno&mbrar directorio dentro del archivador"
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr "E&liminar el archivo"
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr "Enviar el archivo a la &papelera"
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr "Otros…"
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr "Abrir con privile&gios de administrador con…"
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr "Abrir con privile&gios de administrador"
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr "Abrir &con…"
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr "Reno&mbrar el archivo"
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr "&Duplicar el archivo"
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr "Crear un archivador nuevo"
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr "Añadir a un archivador existente"
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr "Comprobar integridad del archivador o los archivos comprimidos"
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr "Comprimir archivos"
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr "Definición de extensión…"
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr "Columnas a mostrar"
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr "Unir los paneles"
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr "Intercambiar los paneles"
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr "Directorio nuevo creado"
#: MyFiles.cpp:588
msgid "New file created"
msgstr "Archivo nuevo creado"
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr "Duplicar"
#: MyFiles.cpp:665
msgid "Rename "
msgstr "Renombrar"
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr "No, la idea es que proporcione un nombre NUEVO"
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr "duplicado"
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr "renombrado"
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr "Esa acción no funcionó. ¿Quiere intentarlo de nuevo?"
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr "Abrir con"
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr "de archivos y subdirectorios"
#: MyFiles.cpp:1077
msgid " of files"
msgstr "de archivos"
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr "El destino nuevo del elemento no existe.\n¿Quiere intentarlo de nuevo?"
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr "Parece que no se pudo cambiar el destino del enlace simbólico por algún motivo."
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr "fallos"
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr "Aviso"
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr "Deshacer varias acciones de una vez"
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr "Rehacer varias acciones de una vez"
#: MyFrame.cpp:743
msgid "Cut"
msgstr "Cortar"
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr "Pulse para cortar la selección"
#: MyFrame.cpp:744
msgid "Copy"
msgstr "Copiar"
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr "Pulse para copiar la selección"
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr "Pulse para pegar la selección"
#: MyFrame.cpp:749
msgid "UnDo"
msgstr "Deshacer"
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr "Deshacer una acción"
#: MyFrame.cpp:751
msgid "ReDo"
msgstr "Rehacer"
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr "Rehacer una acción deshecha anteriormente"
#: MyFrame.cpp:755
msgid "New Tab"
msgstr "Pestaña nueva"
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr "Crear una pestaña nueva"
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr "Eliminar pestaña"
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr "Elimina la pestaña seleccionada actualmente"
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr "Acerca de"
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr "Error"
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr "Éxito"
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr "Equipo"
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr "Secciones"
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr "El nombre de archivo ya existe."
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr "Operación no permitida."
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr "¿Cuál plantilla quiere eliminar?"
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr "Eliminar plantilla"
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr "Cancelado"
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr "¿Cómo quiere llamar a esta plantilla?"
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr "Elija una etiqueta de plantilla"
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr "Ya ha abierto la cantidad máxima de pestañas permitidas."
#: MyNotebook.cpp:346
msgid " again"
msgstr "de nuevo"
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr "¿Cómo quiere llamar a esta pestaña?"
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr "Cambiar tÃtulo de pestaña"
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr "Ãndice de columna no válido"
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr "Columna no válida"
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr " *** Enlace simbólico roto ***"
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr " Rehacer: "
#: Redo.cpp:258
msgid " Undo: "
msgstr " Deshacer: "
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr " (%zu elementos) "
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr " ---- MÃS ---- "
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr "-- ANTERIOR --"
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr "deshecho"
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr "rehecho"
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr "acción"
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr "deshecho"
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr "rehecho"
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr "Papelera vaciada"
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr "Los archivos almacenados se eliminaron permanentemente"
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr "No se encontraron coincidencias."
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr " ¡Que tenga un buen dÃa!\n"
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr "Mostrar"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr "Ocultar"
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr "Abrir el archivo seleccionado"
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr "Necesita iniciar cada orden con «sudo»"
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr "Puede hacer esto en su lugar: su -c \"\""
#: Tools.cpp:2880
msgid " items "
msgstr "elementos"
#: Tools.cpp:2880
msgid " item "
msgstr "elemento"
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr "Repetir:"
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr "Orden añadida"
#: Tools.cpp:3267
msgid "first"
msgstr "primero"
#: Tools.cpp:3267
msgid "other"
msgstr "otro"
#: Tools.cpp:3267
msgid "next"
msgstr "siguiente"
#: Tools.cpp:3267
msgid "last"
msgstr "último"
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr "parámetro"
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr "Herramienta definida por el usuario"
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr "Eliminar"
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr "Directorio nuevo"
#: Redo.h:226
msgid "New File"
msgstr "Archivo nuevo"
#: Redo.h:242
msgid "Duplicate Directory"
msgstr "Duplicar directorio"
#: Redo.h:242
msgid "Duplicate File"
msgstr "Duplicar archivo"
#: Redo.h:261
msgid "Rename Directory"
msgstr "Renombrar carpeta"
#: Redo.h:261
msgid "Rename File"
msgstr "Renombrar el archivo"
#: Redo.h:281
msgid "Duplicate"
msgstr "Duplicar"
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr "Renombrar"
#: Redo.h:301
msgid "Extract"
msgstr "Extraer"
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr "Desactivar información sobre herramientas"
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "Aceptar"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr "Pulse cuando termine"
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr "Pulse para cancelar"
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr "Se detectó un dispositivo nuevo"
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr "¿Quiere configurarlo?"
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr "No configurarlo ahora mismo, pero volver a preguntar cuando aparezca otra vez"
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr "Configurar dispositivo nuevo"
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr "Punto de montaje para el dispositivo"
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr "¿Cómo le gustarÃa llamarlo?"
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr "Tipo de dispositivo"
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr "El dispositivo es de solo lectura"
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr "Ignorar este dispositivo"
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr "Nombre del fabricante"
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr "Nombre del modelo"
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr "Punto de montaje para este dispositivo"
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr "Configurar tipo de dispositivo nuevo"
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr "Etiqueta que darle a este dispositivo"
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr "Configurar 4Pane"
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr "Pulse cuando termine de configurarlo"
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr "En las páginas siguientes puede añadir, editar o eliminar herramientas."
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr "Finalmente, cuatro páginas de miscelánea."
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr "De manera predeterminada, mostrar archivos y carpetas ocultos"
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr "Ordenar los archivos según la configuración regional"
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr "Mostrar lÃneas en el árbol de carpetas"
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr "Colorear lÃneas alternadas en las vistas de archivos"
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr "Pulse para seleccionar los colores que quiere para las lÃneas alternas"
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr "Resaltar el panel enfocado"
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr "Asà luce el tipo de letra del emulador de terminal"
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr "Revertir al valor del sistema"
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr "Mostrar la ruta del archivo seleccionado en la barra de tÃtulo"
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr " Pedir confirmación antes de mover archivos a la papelera"
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr "Pedir confirmación antes de eliminar archivos"
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr "Elija la aplicación de terminal que se ejecutará al oprimir Ctrl+T"
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr "Cambiar"
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr "Usar predeterminado"
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr "Escriba otra dirección de servidor"
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr "Escriba aquà la dirección de otro servidor (p.ek. 192.168.0.2), y pulse «Añadir»"
#: configuredialogs.xrc:2698
msgid "Add"
msgstr "Añadir"
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr "Ruta a la carpeta de Samba"
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr "4Pane le permite deshacer (y rehacer) la mayorÃa de las operaciones."
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr "Algunos mensajes se muestran brevemente y luego desaparecen."
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr "¿Cuántos segundos deberÃan durar?"
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr "Mensajes de la barra de estado"
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr "El propio de 4Pane"
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr "Algunas distribuciones (Ubuntu y similares) usan sudo para acceder al superusuario; muchas otras usan su. Seleccione la opción apropiada para usted."
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr "sudo"
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr "Almacenar contraseñas para:"
#: configuredialogs.xrc:3233
msgid "min"
msgstr "min"
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr "Un programa externo como gksu. Solo podrá seleccionar los que estén disponibles en su sistema"
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr "Un programa externo:"
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr " kdesu"
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr " gksu"
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr " gnomesu"
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr "Otro…"
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr "Pulse para configurar el comportamiento de arrastrar y soltar"
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr "Pulse para configurar las secciones de la barra de estado"
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr "Orden a ejecutar:"
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr "Pulse para buscar la aplicación con la que ejecutarlo"
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr "Ejecutar en una terminal"
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr "Mantener la terminal abierta"
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr "Actualizar el panel después de"
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr "Actualizar el panel opuesto también"
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr "Ejecutar orden como administrador"
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr "Etiqueta a mostrar en el menú:"
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr "Añadirlo a este menú:"
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr "Éstos son los menús disponibles actualmente. Seleccione uno, o añada uno nuevo"
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr "Añadir un menú o submenú nuevo a la lista"
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr "Eliminar el menú o submenú seleccionado actualmente"
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr "Pulse para añadir la herramienta nueva"
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr "Seleccione una orden, y luego pulse «Editar esta orden»"
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr "Etiqueta en el menú"
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr "Seleccione la etiqueta de la orden que quiere editar. Puede modificar esto también, si lo desea."
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr "Orden"
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr "La orden a editar"
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr "Seleccione un elemento y pulse en «Eliminar esta orden»"
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr "Seleccione la etiqueta de la orden que quiere eliminar"
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr "La orden a eliminar"
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr "Pulse dos veces en una entrada para cambiarla"
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr "Mostrar etiquetas sin mnemónicas"
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr "Seleccionar colores"
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr "1er. color actual"
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr "2.º color actual"
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr "Introduzca un atajo de teclado"
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr "Oprima las teclas que quiere usar para esta función:"
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr "Actual"
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr "Limpiar"
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr "Pulse si no quiere un atajo de teclado para esta acción"
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr "Predeterminado:"
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr "Ctrl+Mayús+Alt+M"
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr "Cambiar etiqueta"
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr "Duplicar acelerador"
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr "Esta combinación de teclas ya la usa:"
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr "¿Qué quiere hacer?"
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr "Elegir teclas diferentes"
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr "Montar automáticamente los disquetes"
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr "Montar automáticamente DVD-ROM, etc."
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr "Disquetes"
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr "mtab"
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr "fstab"
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr "ninguno"
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr "CD-ROM, etc."
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr "Dispositivos USB"
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr "segundos"
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr "¿Qué hacer si 4Pane ha montado un dispositivo USB?"
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr "¿Quiere desmontar antes de salir? Esto solo aplica a dispositivos extraÃbles, si la distribución no monta automáticamente"
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr "Preguntar antes de desmontar al salir"
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr "¿Qué archivo contiene datos de la partición?"
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr "La lista de particiones conocidas. Predet.: /proc/partitions"
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr "Recargar valores predeterminados"
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr "¿Qué es el prefijo LVM?"
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr "Botones actuales"
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr "Configure, p.ej., un editor"
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr "Nombre"
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr "Icono a usar"
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr "Ejecutar orden"
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr "Por ejemplo, si pega varios archivos, GEdit puede abrirlos en pestañas."
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr "Seleccionar icono"
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr "Selección\nactual"
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr "Icono nuevo"
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr "¿Añadir este icono?"
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr "Configurar editores, etc."
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr "Configurar un icono de barra de herramientas pequeña"
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr "Ruta del archivo"
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr "Pulse para buscar la ruta de archivo nueva"
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr "(Pulse para cambiar)"
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr "Configurar arrastrar y soltar"
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr "Elija qué teclas deberÃan realizar lo siguiente:"
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr "Mover:"
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr "Copiar:"
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr "Enlace duro:"
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr "Enlace suave:"
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr "Horizontal"
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr "Vertical"
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr "Ayuda del elemento del menú"
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr "(Predeterminado 5)"
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr "Mensajes de (a veces) ayuda cuando posa el ratón sobre un elemento del menú"
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr "Mensajes de éxito"
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr "Rutas de archivos"
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr "Información sobre el archivo o carpeta seleccionado actualmente; generalmente es su tipo, nombre y tamaño"
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr "Filtros"
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr "Exportar datos"
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr " Datos de herramientas del usuario"
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr "Cuáles editores (p.ej., gedit, kate…) mostrar en la barra de herramientas"
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr " Datos de editores"
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr " Datos de montaje de dispositivos"
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr " Datos relacionados con la terminal"
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr "Exportar datos"
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr "Anchura máxima (px)"
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr "Altura máxima (px)"
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr "Imágenes:"
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr "Archivos de texto:"
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "&Localizar"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr "No se puede leer"
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr "Solo omitir este archivo"
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr "Omitir cualquier archivo del cual no tenga permiso de lectura"
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr "Esto es sin duda ilegal, y probablemente inmoral"
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr "Pulse para disculparse"
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr "¿Cómo quiere nombrarlo?"
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr "Escriba el nombre"
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr "Sobreescribir o renombrar"
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr "Omitir este elemento"
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr "Renombrar o cancelar"
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr "Renombrar u omitir"
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr "Ya hay aquà una carpeta con este nombre"
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr "Ir al cuadro Renombrar para todos los conflictos de nombres"
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr "Omitir todos los elementos con conflictos de nombres"
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr "Ya existe un archivo con este nombre en el archivador"
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr "Añadir al archivador"
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr "Sobreescribir o añadir al archivador"
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr "Interrumpir todo"
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr "Esto quiere decir que:"
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr "o:"
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr "Crear un enlace"
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr "Esto es lo que quiere enlazar"
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr "Crear el enlace en la carpeta siguiente:"
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr "¿Cómo quiere nombrar al enlace?"
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr "Mantener el mismo nombre"
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr "Usar la siguiente extensión"
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr "Usar el siguiente nombre"
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr "Escriba la extensión que quiere añadir al nombre de archivo original"
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr "Aplicar a todo"
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr "Omitir"
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr "Elija un nombre para el elemento nuevo"
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr "¿Quiere un archivo nuevo o una carpeta nueva?"
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr "Crear un archivo nuevo"
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr "Crear una carpeta nueva"
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr "Añadir un marcador"
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr "Añadirlo a la carpeta siguiente:"
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr "Editar un marcador"
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr "Ruta actual:"
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr "Esta es la ruta actual"
#: dialogs.xrc:2620
msgid "Current Label"
msgstr "Etiqueta actual"
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr "Esta es la etiqueta actual"
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr "Gestionar los marcadores"
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr "Crear una carpeta nueva"
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr "Insertar un separador nuevo"
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr "Abrir con:"
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr "Editar la aplicación seleccionada"
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr "Añadir una carpeta al árbol siguiente"
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr "Quitar la carpeta seleccionada del árbol siguiente"
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr "Pulse en una aplicación para seleccionar"
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr "Marque la casilla para abrir el archivo con esta aplicación dentro de una terminal"
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr "Abrir en la terminal"
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr "Marque la casilla si quiere que esta aplicación abra de forma predeterminada este archivo en el futuro"
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr "Siempre usar la aplicación seleccionada para este tipo de archivo"
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr "Añadir una aplicación"
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr "Todas"
#: dialogs.xrc:3582
msgid "Just the First"
msgstr "Solo la primera"
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr "Seleccionar con el ratón (+tecla Mayús)"
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr "Guardar plantilla"
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr "Ya hay una plantilla cargada."
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr "¿Quiere sobreescribir esto, o guardarlo como una plantilla nueva?"
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr "Escriba la cadena del filtro"
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr "Mostrar solamente los archivos, no los directorios"
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr "Solo mostrar archivos"
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr "Aplicar a todos los paneles visibles"
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr "Renombrado múltiple"
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr "Usar una expresión regular"
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr "Reemplazar"
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr "Escriba el texto que quiere sustituir"
#: dialogs.xrc:4076
msgid "With"
msgstr "Con"
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr " coincidencias en el nombre"
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr "Cómo (también) crear nombres:"
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr "Solo si es necesario"
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr "Determina si «juan» cambia a «juan0» o «juanA»"
#: dialogs.xrc:4416
msgid "digit"
msgstr "dÃgito"
#: dialogs.xrc:4417
msgid "letter"
msgstr "letra"
#: dialogs.xrc:4431
msgid "Case"
msgstr "Mayúscula"
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr "¿Quiere que «juan» se vuelva «juanA» o «juana»?"
#: dialogs.xrc:4439
msgid "Upper"
msgstr "Mayúscula"
#: dialogs.xrc:4440
msgid "Lower"
msgstr "Minúscula"
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr "Confirmar renombrado"
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr "¿Está seguro de que quiere hacer estos cambios?"
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr "Ubicar archivos"
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr "Escriba la cadena de búsqueda; p. ej., *foo[ab]r"
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr "Buscar"
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr "Ruta"
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr "RaÃz ( / )"
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr "Opciones"
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr "¡¡AYUDAAA!!"
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr "Operadores"
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr "Seleccione uno a la vez."
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr "Ignorar uso de mayúsculas"
#: moredialogs.xrc:852
msgid "This is a"
msgstr "Hay un(a)"
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr "expresión regular"
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr "enlace simbólico"
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr "Archivos que fueron"
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr "Accedidos"
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr "Modificados"
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr "Estado modificado"
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr "Hace más de"
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr "Exactamente"
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr "Menor que"
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr "Escriba la cantidad de minutos o dÃas"
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr "Minutos"
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr "DÃas"
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr "más recientemente que el archivo:"
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr "Tamaño y tipo"
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr "bytes"
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr "Bloques de 512 bytes"
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr "kilobytes"
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr "Archivos vacÃos"
#: moredialogs.xrc:1511
msgid "Type"
msgstr "Tipo"
#: moredialogs.xrc:1531
msgid "File"
msgstr "Archivo"
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr "Enlace simbólico"
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr "TuberÃa"
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr "Propietario y permisos"
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr "Usuario"
#: moredialogs.xrc:1662
msgid "By Name"
msgstr "Por nombre"
#: moredialogs.xrc:1675
msgid "By ID"
msgstr "Por identificador"
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr "Otros"
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr "Lectura"
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr "Escritura"
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr "Ejecución"
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr "Especial"
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr "suid"
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr "sgid"
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr "persistente"
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr "Acciones"
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr "Orden que ejecutar"
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr "Orden:"
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr "Grep"
#: moredialogs.xrc:2685
msgid "General Options"
msgstr "Opciones generales"
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr "-w coincidir solo con palabras completas"
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr "-i Ignorar uso de mayúsculas"
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr "-x devolver solo coincidencias de lÃneas completas"
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr "-v devolver solo lÃneas que NO coinciden"
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr "Opciones de la carpeta"
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr "¿Qué hacer con las carpetas?"
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr "Opciones de archivos"
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr "Escriba la cantidad máxima de coincidencias"
#: moredialogs.xrc:3071
msgid "matches found"
msgstr "coincidencias encontradas"
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr "¿Qué hacer con los archivos binarios?"
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr "Opciones de salida"
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr "Patrón"
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr "Expresión regular con la que coincidir"
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr "Ubicación"
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr "Cerrar automáticamente"
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr "Archivadores"
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr "Archivos que almacenar en el archivador"
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr "Añadir otro archivo"
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr "Buscar otro archivo"
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr "Comprimir usando:"
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr "bzip2"
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr "gzip"
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr "xz"
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr "lzma"
#: moredialogs.xrc:4431
msgid "7z"
msgstr "7z"
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr "lzop"
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr "no comprimir"
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr "Examinar"
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr "Extraer un archivador"
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr "Archivador que extraer"
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr "Carpeta en la que se extraerá"
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr "Comprobar archivos comprimidos"
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr "Archivos comprimidos que comprobar"
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr "Comprobar un archivador"
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr "Archivador que comprobar"
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr "¿Quiere extraer un archivador o descomprimir los archivos?"
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr "¿Quiere comprobar un archivador o los archivos comprimidos?"
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr "Propiedades"
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr "Generales"
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr "Nombre:"
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr "Ubicación:"
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr "Tipo:"
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr "Tamaño:"
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr "Accedido el:"
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr "Administrador cambiado:"
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr "Modificado el:"
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr "Permisos y propietario"
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr "Usuario:"
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr "Grupo:"
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr "Montar usando sshfs"
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr "Usuario remoto"
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr "Nombre de equipo"
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr "Escriba el nombre del servidor, p.ej.: miservidor.com"
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr "Carpeta remota"
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr "Punto de montaje local"
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr "montar en modo de solo lectura"
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr "Otras opciones:"
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr "Montar un disco DVD-RAM"
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr "Dispositivo que montar"
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr "Montar una imagen ISO"
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr "Imagen que montar"
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr "Punto de montaje de la imagen"
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr "Ya se\nmontó"
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr "Montar una exportación NFS"
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr "Elija un servidor"
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr "Usar este usuario y contraseña"
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr "Intentar montar anónimamente"
#: moredialogs.xrc:11695
msgid "Username"
msgstr "Nombre de usuario"
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr "Escriba el nombre de usuario para este recurso"
#: moredialogs.xrc:11720
msgid "Password"
msgstr "Contraseña"
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr "Escriba la contraseña correspondiente (si la hay)"
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr "Desmontar una partición"
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr "Partición que desmontar"
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr "Ejecutar como superusuario"
#: moredialogs.xrc:12025
msgid "The command:"
msgstr "La orden:"
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr "requiere privilegios adicionales"
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr "Escriba la contraseña del administrador:"
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr "Recordar esta contraseña por un rato"
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr "Ignorar archivos binarios"
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr "¿Qué hacer con las carpetas?"
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/pl/ 0000755 0001750 0001750 00000000000 13130460751 011240 5 0000000 0000000 4pane-5.0/locale/pl/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013026 5 0000000 0000000 4pane-5.0/locale/pl/LC_MESSAGES/pl.po 0000644 0001750 0001750 00000545511 13130150240 013720 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Tomasz Przybył , 2014-2015
# Tomasz "Ludvick" Niedzielski , 2013
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Polish (http://www.transifex.com/davidgh/4Pane/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "Wytnij"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "Kopiuj"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "PrzenieÅ› do Kosza"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "Usuń"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Usuń trwale"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "Zmień nazwę"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "Duplikuj"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "Właściwości"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "Otwórz"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Otwórz za pomocą..."
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "Wklej"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "Utwórz dowiązanie trwałe"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "Utwórz dowiązanie symboliczne"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "Usuń zakładkę"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "Zmień nazwę zakładki"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "Przywróć"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "Ponów"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "Zaznacz wszystko"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "Nowy plik lub katalog"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "Nowa zakładka"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "Wstaw zakładkę"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "Duplikuj tę zakładkę"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr "Pokazuj nawet pojedynczy nagłówek zakłdki"
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Nadaj wszystkim zakładkom równą szerokość"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "Replikuj do przeciwnej zakładki"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "Zamień panele"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "Rozmieść panele pionowo"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "Rozmieść panele poziomo"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "Cofnij rozmieszczenie paneli"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "Rozszerzenie"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "Wielkość"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "Czas"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "Uprawnienia"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "Właściciel"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "Grupa"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "DowiÄ…zanie"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "Pokaż wszystkie kolumny"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "Nie pokazuj wszystkich kolumn"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "Zapisz ustawienia paneli"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "Zapisz ustawienia paneli przy wyjściu"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "Zapisz układ jako szablon"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "Usuń szablon"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "Odśwież widok"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "Uruchom terminal"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "Filtruj widok"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "Pokaż/Ukryj ukryte pliki i katalogi"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "Dodaj do zakładek"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "Zarządzaj zakładkami"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "Zamontuj partycjÄ™"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "Odmontuj partycjÄ™"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "Zamontuj obraz ISO"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "Zamontuj NFS export"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "Zamontuj katalog Samby "
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr "Odmontuj"
#: Accelerators.cpp:224
msgid "Unused"
msgstr "Nieużywany"
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "Pokaż emulator terminalu"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "Pokaż linię komend"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "Przejdź do wybranego pliku"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "Opróżnij Kosz"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "Trwale usuń 'usunięte' pliki"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "Rozpakuj archiwum lub skompresowany plik"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "Utwórz nowe archiwum"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "Dodaj do istniejÄ…cego archiwum"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "Sprawdź integralność archiwum lub skompresowanego pliku"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "Kompresuj pliki"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "Wyświetl rekursywnie wielkość folderów "
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "Konfiguruj 4Pane"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "Wyjście"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "Pomoc kontekstowa"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "Zawartość pomocy"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "FAQ"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "O programie 4Pane"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "Konfiguruj skróty"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "Przejdź do celu dowiązania sykmbolicznego"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Edycja"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Nowy separator"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "Powtórz poprzedni program"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr "Przełącz do Terminala"
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr "Przełącz do Linii poleceń"
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr "Idź do poprzedniej zakładki"
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr "Idź do następnej zakładki"
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr "Pierwszy punkt"
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr "Przedostatni punkt"
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr "Ostatni punkt"
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr "Zamontuj ssh&fs używając SSH "
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr "Pokaż poprzednie"
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "Wytnij wybrane elementy"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "Kopiuje do bieżącego miejsca"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "PrzenieÅ› do Kosza"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "Wklej zawartość schowka"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "Usuń zaznaczoną zakładkę"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "Zmień nazwę zaznaczonej zakładki"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Dodaj nową zakładkę"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "Wstaw nową zakładkę za zaznaczoną"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "Ukryj nagłówek pojedynczej zakładki"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "Pokaż/Ukryj emulator terminala"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr "Pokaż/Ukryj linię poleceń"
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "Zamknij program"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr "Plik"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "Edycja"
#: Accelerators.cpp:502
msgid "&View"
msgstr "Widok"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "Karty"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "Zakładki"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "Archiwum"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "Zamontuj"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "Narzędzia"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "Opcje"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "Pomoc"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr ""
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr "Akcja"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Skrót"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Domyślny"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Rozszerzenie"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr "Pokaż kolumnę Rozszerzenie"
#: Accelerators.cpp:694
msgid "Size"
msgstr "Wielkość"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr "Pokaż kolumnę Wielkość"
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Czas"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr "Pokaż kolumnę Czas"
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Uprawnienia"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr "Pokaż kolumnę Uprawnienia"
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Właściciel"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Grupa"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr "Pokaż kolumnę grupy"
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "ÅÄ…cze"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr "Pokaż kolumnÄ™ ÅÄ…cze"
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "Pokaż wszystkie kolumny"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr "Widok plików: Pokaż wszystkie kolumny"
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "Ukryj wszystkie kolumny"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr "Widok plików: Ukryj wszystkie kolumny"
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Zakładki: Edycja"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "Zakładki: Nowy separator"
#: Accelerators.cpp:697
msgid "First dot"
msgstr "Pierwszy punkt"
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "Porzucić wprowadzone zmiany?"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "Czy jesteÅ› pewien?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "Coś poszło źle!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Oops"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr "Nie znaleziono rpm2cpio w systemie..."
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr ""
#: Archive.cpp:1228
msgid "Compression failed"
msgstr ""
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr ""
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr ""
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr ""
#: Archive.cpp:1242
msgid "Archive created"
msgstr ""
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr ""
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr ""
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr ""
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr ""
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr ""
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr ""
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr ""
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr ""
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr ""
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr ""
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr ""
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr ""
#: Bookmarks.cpp:204
msgid "Moved"
msgstr ""
#: Bookmarks.cpp:215
msgid "Copied"
msgstr ""
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr ""
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr ""
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr ""
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr ""
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr ""
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr ""
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr ""
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr ""
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr ""
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr ""
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr ""
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr ""
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Witaj w 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr "4Pane, to menadżer plików, który ma być szybki i w pełni funkcjonalny, bez zbędnych dodatków."
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr "Naciśnij Dalej, by skonfigurować 4Pane."
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr "Jeśli już posiadasz plik konfiguracyjny, którego chciałbyś użyć, kliknij"
#: Configure.cpp:69
msgid "Here"
msgstr "Tutaj"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr "Rozejrzałem się nieco po Twoim systemie i stworzyłem konfigurację, która powinna działać."
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr "Pełniejszą konfigurację możesz przeprowadzić w dowolnym czasie, używając menu Opcje > Konfiguruj 4Pane. "
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Umieść skrót do 4Pane na pulpicie"
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr ""
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr ""
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr ""
#: Configure.cpp:2041
msgid "Tools"
msgstr ""
#: Configure.cpp:2043
msgid "Add a tool"
msgstr ""
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr ""
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr ""
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr ""
#: Configure.cpp:2052
msgid "Automount"
msgstr ""
#: Configure.cpp:2054
msgid "Mounting"
msgstr ""
#: Configure.cpp:2056
msgid "Usb"
msgstr ""
#: Configure.cpp:2058
msgid "Removable"
msgstr ""
#: Configure.cpp:2060
msgid "Fixed"
msgstr ""
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr ""
#: Configure.cpp:2085
msgid "Emulator"
msgstr ""
#: Configure.cpp:2088
msgid "The Network"
msgstr ""
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr ""
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr ""
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr ""
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr ""
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr ""
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr ""
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr ""
#: Configure.cpp:4036
msgid "Delete "
msgstr ""
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr ""
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr ""
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr ""
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr ""
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr ""
#: Devices.cpp:843
msgid "Floppy"
msgstr ""
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr ""
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr ""
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr ""
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr ""
#: Filetypes.cpp:353
msgid "FIFO"
msgstr ""
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr ""
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr ""
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr ""
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "Zlokalizuj"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr "Wielkość:"
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/de/ 0000755 0001750 0001750 00000000000 13130460751 011215 5 0000000 0000000 4pane-5.0/locale/de/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013003 5 0000000 0000000 4pane-5.0/locale/de/LC_MESSAGES/de.po 0000644 0001750 0001750 00001006321 13130150240 013642 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# DavidGH , 2014,2017
# Ettore Atalan , 2014-2017
# Vincent_Vegan , 2012
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-07-06 12:34+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: German (http://www.transifex.com/davidgh/4Pane/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr "Strg"
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr "Alt"
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr "Umschalt"
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "&Ausschneiden"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&Kopieren"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "In den &Papierkorb verschieben"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "&Löschen"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Dauerhaft löschen"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "&Umbenennen"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "&Duplizieren"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "&Einstellungen"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "Ö&ffnen"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Öffnen &mit..."
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "&Einfügen"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "&Harte Verknüpfung erstellen"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "&Symbolische Verknüpfung erstellen"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "Tab &löschen"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "Tab &umbenennen"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "&Rückgängig"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "&Wiederherstellen"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "&Alles markieren"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "&Neue Datei oder neues Verzeichnis"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "&Neuer Tab"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "Tab &einfügen"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "Diesen Tab d&uplizieren"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr "Auch einzelne Tab-&Titel anzeigen"
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Allen Tab-Titeln die gleiche Breite geben"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "Im gegenüberliegenden Fenster wiede&rholen"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "Fenster vertau&schen"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "Fenster &vertikal teilen"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "Fenster &horizontal teilen"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "Fensterteilung a&ufheben"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "&Erweiterung"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&Größe"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "&Zeit"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "&Berechtigungen"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "&Eigentümer"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "&Gruppe"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "&Verknüpfung"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "&Alle Spalten anzeigen"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "Alle Spalten &ausblenden"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "&Fenstereinstellungen speichern"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "Fenstereinstellungen beim &Beenden speichern"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "Anordnung als Vorlage &speichern"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "Vorlage &löschen"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "Bildschirminhalt &aktualisieren"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "&Terminal starten"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "&Filteranzeige"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "Versteckte Verzeichnisse und Dateien anzeigen/ausblenden"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "Zu Lesezeichen &hinzufügen"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "Lesezeichen &verwalten"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "Partition &einhängen"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "Partition a&ushängen"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "&ISO-Abbild einhängen"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "&NFS-Export einhängen"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "&Samba-Freigabe einhängen"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr "Netzwerkfreigabe aushä&ngen"
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr "A&ushängen"
#: Accelerators.cpp:224
msgid "Unused"
msgstr "Frei"
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "&Terminalemulator anzeigen"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "Befehls&zeile anzeigen"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "Zur ausgewählten Datei &wechseln"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "&Papierkork löschen"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "\"Gelöscht\"-Dateien dauerhaft &löschen"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "Archiv oder komprimierte Datei(en) &entpacken"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "&Neues Archiv erstellen"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "Zu einem vorh&andenen Archiv hinzufügen"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "Integrität von Archiven oder komprimierten Dateien &prüfen"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "Dateien &komprimieren"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "Rekursive Verzeichnisgrößen &anzeigen"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr "&Relative symbolische Verknüpfungsziele beibehalten"
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "4Pane &konfigurieren"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "&Beenden"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "Kontextsensitive Hilfe"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "&Hilfeinhalte"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&HGF"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "&Über 4Pane"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "Tastenkombinationen konfigurieren"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "Zum Ziel der symbolischen Verknüpfung wechseln"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr "Zum endgültigen Ziel der symbolischen Verknüpfung wechseln"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Bearbeiten"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Neue Trennlinie"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "Vorheriges Programm wiederholen"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr "Zum gegenüberliegenden Fenster navigieren"
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr "Zum angrenzenden Fenster navigieren"
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr "Zu den Fenstern wechseln"
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr "Zum Terminalemulator wechseln"
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr "Zur Befehlszeile wechseln"
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr "Zur Werkzeugleisten-Textkontrolle wechseln"
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr "Zum vorherigen Fenster wechseln"
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr "Zu vorigem Tab wechseln"
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr "Zu nächstem Tab wechseln"
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr "Als Ver&zeichnisvorlage einfügen"
#: Accelerators.cpp:231
msgid "&First dot"
msgstr "&Erster Punkt"
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr "&Vorletzter Punkt"
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr "&Letzter Punkt"
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr "Über SSH mit ssh&fs einhängen"
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr "&Vorschauen anzeigen"
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr "Einfügen &abbrechen"
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "Schneidet die aktuelle Auswahl aus"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "Kopiert die aktuelle Auswahl"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "In den Papierkorb verschieben"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr "Killen, aber könnte wiederhergestellt werden"
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr "Mit äußerster Sorgfalt löschen"
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "Die Inhalte der Zwischenablage einfügen"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr "Harte Verknüpfung auf die Inhalte der Zwischenablage hierher erstellen"
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr "Symbolische Verknüpfung auf die Inhalte der Zwischenablage hierher erstellen"
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "Aktuell ausgewählten Tab löschen"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "Aktuell ausgewählten Tab umbenennen"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Neuen Tab hinzufügen"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "Neuen Tab hinter dem aktuell ausgewählten hinzufügen"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "Den Titel eines einzelnen Tabs ausblenden"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr "Pfad von dieser Seite in das gegenüberliegende Fenster kopieren"
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr "Den Pfad der einen Seite mit dem der anderen vertauschen"
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr "Anordnung von Fenstern innerhalb jedes Tabs speichern"
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr "Anordnung von Fenstern beim Beenden immer speichern"
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr "Diese Tabs als wieder aufrufbare Vorlage speichern"
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr "Aktuell ausgewähltes Element zu den Lesezeichen hinzufügen"
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "Lesezeichen neu anordnen, umbenennen oder löschen"
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr "Übereinstimmende Dateien lokalisieren. Viel schneller als \"find\""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr "Übereinstimmende Datei(en) finden"
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr "In Dateien suchen"
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "Terminalemulator anzeigen/ausblenden"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr "Befehlszeile anzeigen/ausblenden"
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr "4Pane-Papierkorb löschen"
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr "4Pane-\"Gelöscht\"-Ordner löschen"
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr "Verzeichnisgrößen in den Dateiansichten rekursiv berechnen"
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr "Beim Verschieben einer relativen symbolischen Verknüpfung das Ziel beibehalten"
#: Accelerators.cpp:278
msgid "Close this program"
msgstr "Dieses Programm schließen"
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr "Nur Verzeichnisstruktur aus der Zwischenablage einfügen"
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr "Erweiterung beginnt ab dem ersten . im Dateinamen"
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr "Erweiterung beginnt ab dem letzten oder vorletzten . im Dateinamen"
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr "Erweiterung beginnt ab dem letzten . im Dateinamen"
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr "Vorschauen von Bildern und Textdateien anzeigen"
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr "Aktuellen Prozess abbrechen"
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr "\nDie Datenfelder in ImplementDefaultShortcuts() haben nicht die gleiche Größe!"
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr "Vollbildmodus umschalten"
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr "Konfiguration konnte nicht geladen werden!?"
#: Accelerators.cpp:502
msgid "&File"
msgstr "&Datei"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "&Bearbeiten"
#: Accelerators.cpp:502
msgid "&View"
msgstr "&Ansicht"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "&Tabs"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "&Lesezeichen"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "&Archivieren"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "&Einhängen"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "&Werkzeuge"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "&Optionen"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "&Hilfe"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "Anzuzeigende &Spalten"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr "Tab-Vorlage &laden"
#: Accelerators.cpp:673
msgid "Action"
msgstr "Aktion"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Tastenkombination"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Standard"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Erweiterung"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr "Erweiterungsspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:694
msgid "Size"
msgstr "Größe"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr "Größenspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Zeit"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr "Zeitspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Berechtigungen"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr "Berechtigungsspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Eigentümer"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr "Eigentümerspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Gruppe"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr "Gruppenspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "Verknüpfung"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr "Verknüpfungsspalte in der Dateiansicht anzeigen/ausblenden"
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "Alle Spalten anzeigen"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr "Dateiansicht: Alle Spalten anzeigen"
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "Alle Spalten ausblenden"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr "Dateiansicht: Alle Spalten ausblenden"
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Lesezeichen: Bearbeiten"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "Lesezeichen: Neue Trennlinie"
#: Accelerators.cpp:697
msgid "First dot"
msgstr "Erster Punkt"
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr "Erweiterungen beginnen beim ersten Punkt"
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr "Vorletzter Punkt"
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr "Erweiterungen beginnen beim vorletzten Punkt"
#: Accelerators.cpp:698
msgid "Last dot"
msgstr "Letzter Punkt"
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr "Erweiterungen beginnen beim letzten Punkt"
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "Änderungen vergessen?"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "Sind Sie sicher?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr "Keine"
#: Accelerators.cpp:939
msgid "Same"
msgstr "Gleich"
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr "Geben Sie die neue anzuzeigende Bezeichnung für diesen Menüpunkt ein."
#: Accelerators.cpp:958
msgid "Change label"
msgstr "Bezeichnung ändern"
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr "Geben Sie die anzuzeigende Hilfezeichenkette für diesen Menüpunkt ein\nAbbrechen wird die Zeichenkette löschen."
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr "Hilfezeichenkette ändern"
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr "So wie es aussieht, kann diese Datei oder dieses Verzeichnis nicht gefunden werden.\nVersuchen Sie die Schaltfläche Durchsuchen."
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "Hoppla!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr "Datei(en) und/oder Verzeichnisse auswählen"
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr "Wählen Sie das Verzeichnis aus, in welchem das Archiv gespeichert werden soll."
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr "Nach dem Archiv zum Hinzufügen suchen"
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr "Das Verzeichnis, in dem Sie das Archiv erstellen möchten, scheint nicht zu existieren.\nDas aktuelle Verzeichnis verwenden?"
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr "Das Archiv, zu dem Sie hinzufügen möchten, scheint nicht vorhanden zu sein.\nErneut versuchen?"
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr "Eine 7z-Binärdatei konnte auf Ihrem System nicht gefunden werden."
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Hoppla"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr "Es konnte kein gültiges Archiv zum Hinzufügen gefunden werden."
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr "Es wurden keine relevanten komprimierten Dateien ausgewählt.\nErneut versuchen?"
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr "Nach dem Archiv zum Überprüfen suchen"
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr "Wählen Sie das Verzeichnis aus, in welches das Archiv entpackt werden soll."
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr "Das gewünschte Zielverzeichnis konnte nicht erstellt werden.\nErneut versuchen?"
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr "rpm2cpio konnte auf Ihrem System nicht gefunden werden..."
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr "ar konnte auf Ihrem System nicht gefunden werden..."
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr "Es kann kein gültiges Archiv zum Entpacken gefunden werden.\nErneut versuchen?"
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr "Es kann kein gültiges Archiv zum Überprüfen gefunden werden.\nErneut versuchen?"
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "Komprimierte Datei(en)"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "Komprimierung fehlgeschlagen"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "Datei(en) entpackt"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "Entpacken fehlgeschlagen"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr "Datei(en) überprüft"
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "Überprüfung fehlgeschlagen"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "Archiv erstellt"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "Archiverstellung fehlgeschlagen"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "Datei(en) zum Archiv hinzugefügt"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "Archiverweiterung fehlgeschlagen "
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "Archiv extrahiert"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Extrahierung fehlgeschlagen"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr "Archiv überprüft"
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr "In welches Verzeichnis sollen diese Dateien extrahiert werden?"
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr "In welches Verzeichnis soll extrahiert werden?"
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "Extrahieren aus Archiv"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr "Sie haben keine Berechtigung, um dieses Verzeichnis zu erstellen\nErneut versuchen?"
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "Kein Eintrag!"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr "Entschuldigung, %s ist bereits vorhanden\nErneut versuchen?"
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr "Sie haben keine Berechtigung, um in dieses Verzeichnis zu schreiben."
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr "Sie haben keine Berechtigung, um auf Dateien in diesem Verzeichnis zuzugreifen."
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr "Kein Ende!"
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr "Aus irgendeinem Grund ist der Versuch, ein Verzeichnis zum entgegennehmen der Datensicherung zu erstellen, fehlgeschlagen. Entschuldigung!"
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr "Entschuldigung, dass Sichern der Daten ist fehlgeschlagen."
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr "Entschuldigung, das Entfernen von Elementen ist fehlgeschlagen."
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Einfügen"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Verschieben"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr "Entschuldigung, Sie müssen root sein, um zeichen- oder blockorientierte Geräte extrahieren zu können."
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr "Ihr zlib ist zu alt, um dies zu tun :("
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr "Aus irgendeinem Grund ist das Öffnen des Archivs fehlgeschlagen :("
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr "Um diese Art von Archiven anzuzeigen muss liblzma installiert werden."
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr "Fehlende Bibliothek"
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr "Diese Datei ist komprimiert, aber es ist kein Archiv, deshalb können Sie keinen Blick hineinwerfen."
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "Entschuldigung"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr "In diese Art von Archiven kann nicht hineingeschaut werden."
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Verzeichnisse zu Lesezeichen hinzufügen"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Trennlinie"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "Dupliziert"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "Verschoben"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Kopiert"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Verzeichnis umbenennen"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Lesezeichen bearbeiten"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "NeueTrennlinie"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "NeuerOrdner"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr "Menüleiste konnte nicht geladen werden!?"
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr "Menü konnte nicht gefunden werden!?"
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr "Dieser Abschnitt ist in der INI-Datei nicht vorhanden!?"
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "Lesezeichen"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr "Entschuldigung, der Ordner konnte nicht lokalisiert werden."
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "Lesezeichen hinzugefügt"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "Alle Änderungen verwerfen?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr "Welche Bezeichnung hätten Sie gerne für den neuen Ordner?"
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr "Entschuldigung, es gibt bereits einen Ordner mit dem Namen %s\nErneut versuchen?"
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "Verzeichnis hinzugefügt"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "Trennlinie hinzugefügt"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr "Entschuldigung, es gibt bereits ein Ordner mit dem Namen %s\nNamen ändern?"
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "Hoppla?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr "Wie soll der Ordner benannt werden?"
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr "Welche Bezeichnung möchten Sie für den Ordner?"
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "Eingefügt"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr "Ändern Sie die Ordnerbezeichnung unten ab."
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr "Entschuldigung, Sie sind nicht berechtigt, den Hauptordner zu verschieben."
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr "Entschuldigung, Sie sind nicht berechtigt, den Hauptordner zu löschen."
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr "Tss tss!"
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr "Ordner %s und alle seine Inhalte löschen?"
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "Ordner gelöscht"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "Lesezeichen gelöscht"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Willkommen bei 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr "4Pane ist ein Dateimanager mit den Zielen schnell und mit allen Funktionen ausgestattet zu sein, ohne überladen zu wirken."
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr "Bitte klicken Sie auf Weiter, um 4Pane für Ihr System zu konfigurieren."
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr "Oder klicken Sie, wenn es bereits eine Konfigurationsdatei gibt, die Sie kopieren möchten."
#: Configure.cpp:69
msgid "Here"
msgstr "Hier"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr "Ressourcen erfolgreich lokalisiert. Bitte klicken Sie auf Weiter."
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr "Ich habe einen Blick auf Ihr System geworfen und eine Konfiguration erstellt, die funktionieren sollte."
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr "In den Optionen können Sie jederzeit eine ausführlichere Konfiguration durchführen > 4Pane konfigurieren."
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Eine 4Pane-Verknüpfung auf dem Desktop platzieren"
#: Configure.cpp:158
msgid "&Next >"
msgstr "&Weiter >"
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr "Nach der Konfigurationsdatei zum Kopieren suchen"
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr "Sie haben keine Berechtigung, um diese Datei zu kopieren.\nMöchten Sie es erneut versuchen?"
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr "Diese Datei scheint keine gültige 4Pane-Konfigurationsdatei zu sein.\nSind sie wirklich sicher, dass Sie diese Datei verwenden möchten?"
#: Configure.cpp:198
msgid "Fake config file!"
msgstr "Falsche/ungültige Konfigurationsdatei!"
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr "Die 4Pane-Programmdateien können nicht gefunden werden. Irgendetwas scheint mit Ihrer Installation nicht in Ordnung zu sein. :(\nWollen Sie versuchen, die Programmdateien manuell zu suchen?"
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr "Eek! Programmdateien nicht gefunden."
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr "Nach ..../4Pane/rc/ suchen"
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr "Die 4Pane-Bitmaps können nicht gefunden werden. Irgendetwas scheint mit Ihrer Installation nicht in Ordnung zu sein. :(\nWollen Sie versuchen, die Bitmaps manuell zu suchen?"
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr "Eek! Bitmaps nicht gefunden."
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr "Nach ..../4Pane/bitmaps/ suchen"
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr "Die 4Pane-Hilfedateien können nicht gefunden werden. Irgendetwas scheint mit Ihrer Installation nicht in Ordnung zu sein. :(\nWollen Sie versuchen, die Hilfedateien manuell zu suchen?"
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr "Eek! Hilfedateien nicht gefunden."
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr "Nach ..../4Pane/doc/ suchen"
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "P&rogramm ausführen"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ".deb(s) als root installieren:"
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr "Genanntes .deb als root entfernen:"
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr "Von einem bestimmten .deb zur Verfügung gestellte Dateien auflisten."
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr "Installierte .debs mit passendem Namen auflisten:"
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr "Anzeigen, ob das genannte .deb installiert ist:"
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr "Installationspaket der ausgewählten Datei anzeigen"
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr "rpm(s) als root installieren:"
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr "Ein rpm als root entfernen:"
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr "Ausgewähltes rpm abfragen"
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr "Vom ausgewählten rpm zur Verfügung gestellte Dateien auflisten."
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr "Benanntes rpm abfragen"
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr "Vom genannten rpm zur Verfügung gestellte Dateien auflisten."
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr "Ein Verzeichnis als root erstellen:"
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "Zum Benutzerverzeichnis wechseln"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr "Zum Dokumentenverzeichnis wechseln"
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr "Wenn Sie diese Meldung sehen (und Sie sollten es nicht!), ist es, weil die Konfigurationsdatei nicht gespeichert werden konnte.\nDie wahrscheinlichsten Gründe hierfür wären falsche Berechtigungen oder eine schreibgeschützte Partition."
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Tastenkombinationen"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Werkzeuge"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "Werkzeug hinzufügen"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Werkzeug bearbeiten"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "Werkzeug löschen"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Geräte"
#: Configure.cpp:2052
msgid "Automount"
msgstr "Automatisches Einhängen"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "Einhängen"
#: Configure.cpp:2056
msgid "Usb"
msgstr "USB"
#: Configure.cpp:2058
msgid "Removable"
msgstr "Wechselbar"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "Fest"
#: Configure.cpp:2062
msgid "Advanced"
msgstr "Erweitert"
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr "Erweitert fest"
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr "Erweitert wechselbar"
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr "Erweiterter LVM"
#: Configure.cpp:2072
msgid "The Display"
msgstr "Die Anzeige"
#: Configure.cpp:2074
msgid "Trees"
msgstr "Bäume"
#: Configure.cpp:2076
msgid "Tree font"
msgstr "Baumschriftart"
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr "Sonstiges"
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr "Terminals"
#: Configure.cpp:2083
msgid "Real"
msgstr "Real"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "Emulator"
#: Configure.cpp:2088
msgid "The Network"
msgstr "Das Netzwerk"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "Sonstiges"
#: Configure.cpp:2093
msgid "Numbers"
msgstr "Anzahl"
#: Configure.cpp:2095
msgid "Times"
msgstr "Zeitdauer"
#: Configure.cpp:2097
msgid "Superuser"
msgstr "Superbenutzer"
#: Configure.cpp:2099
msgid "Other"
msgstr "Sonstige"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr " Das Kapern der F10-Taste von gtk2 unterbinden."
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr "Wenn dies nicht angekreuzt ist, kapert gtk2 die F10-Taste, so dass Sie sie nicht in einer Tastenkombination verwenden können (es ist die Standardeinstellung für \"Neue Datei oder neues Verzeichnis\")."
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr "Entschuldigung, hier ist kein Platz für ein weiteres Untermenü\nIch schlage vor, Sie versuchen es an einer anderen Stelle zu platzieren."
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr "Geben Sie den Namen des neuen Untermenüs ein, das hinzugefügt werden soll."
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr "Entschuldigung, ein Menü mit diesem Namen ist bereits vorhanden\n Erneut versuchen?"
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr "Entschuldigung, Sie sind nicht berechtigt, das Root-Menü zu löschen."
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr "Menü \"%s\" mit allen Inhalten löschen?"
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr "Es kann kein ausführbarer Befehl \"%s\" gefunden werden.\nTrotzdem fortfahren?"
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "Es kann kein ausführbarer Befehl \"%s\" in ihrem Pfad gefunden werden.\nTrotzdem fortfahren?"
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr "Klicken Sie nach der Beendigung"
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr "Diesen Befehl bearbeiten"
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr "Befehl \"%s\" löschen?"
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "Datei auswählen"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr "Benutzerdefinierte Werkzeuge"
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr "Geräte automatisch einhängen"
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr "Geräte einhängen"
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "USB-Geräte"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr "Wechsellaufwerke"
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr "Feste Geräte"
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr "Erweiterte Geräte"
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr "Erweiterte Geräte Fest"
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr "Erweiterte Geräte Wechselbar"
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr "Erweiterte Geräte LVM"
#: Configure.cpp:2739
msgid "Display"
msgstr "Anzeigen"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr "Anzeigen Bäume"
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr "Anzeigen Baum Schriftart"
#: Configure.cpp:2739
msgid "Display Misc"
msgstr "Anzeigen Sonstiges"
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr "Reale Terminals"
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr "Terminalemulator"
#: Configure.cpp:2740
msgid "Networks"
msgstr "Netzwerke"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr "Sonstiges Rückgängig"
#: Configure.cpp:2741
msgid "Misc Times"
msgstr "Sonstiges Zeitdauer"
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr "Sonstiges Superbenutzer"
#: Configure.cpp:2741
msgid "Misc Other"
msgstr "Sonstiges Andere"
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr "Es gibt ungespeicherte Änderungen auf der \"%s\" Seite.\n Wirklich schließen?"
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr "Ausgewählter Baum Schriftart"
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr "Standardbaum Schriftart"
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr " (Ignoriert)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr "Dieses Gerät löschen?"
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr "Ausgewählte Terminalemulator-Schriftart"
#: Configure.cpp:3829
msgid "Default Font"
msgstr "Standardschriftart"
#: Configure.cpp:4036
msgid "Delete "
msgstr "Löschen"
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "Sind Sie SICHER?"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr "Dies scheint keine gültige IP-Adresse zu sein."
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr "Dieser Server ist bereits auf der Liste."
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr "Bitte geben Sie den anzuwendenden Befehl ein, einschließlich aller erforderlichen Optionen."
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr "Befehl für ein anderes su-Benutzeroberflächenprogramm"
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr "Jedes Meta-Tastenmuster muss einzigartig sein. Erneut versuchen?"
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr "Sie haben keine Datenart zum Exportieren ausgewählt! Abbruch."
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr "Diese Werkzeugleistenschaltfläche löschen?"
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr "Nach dem Dateipfad zum Hinzufügen suchen"
#: Devices.cpp:221
msgid "Hard drive"
msgstr "Festplatte"
#: Devices.cpp:221
msgid "Floppy disc"
msgstr "Diskette"
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr "CD- oder DVD-ROM"
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr "CD- oder DVD-Brenner"
#: Devices.cpp:221
msgid "USB Pen"
msgstr "USB-Stick"
#: Devices.cpp:221
msgid "USB memory card"
msgstr "USB-Speicherkarte"
#: Devices.cpp:221
msgid "USB card-reader"
msgstr "USB-Kartenlesegerät"
#: Devices.cpp:221
msgid "USB hard drive"
msgstr "USB-Festplatte"
#: Devices.cpp:221
msgid "Unknown device"
msgstr "Unbekanntes Gerät"
#: Devices.cpp:301
msgid " menu"
msgstr "Menü"
#: Devices.cpp:305
msgid "&Display "
msgstr "&Anzeigen "
#: Devices.cpp:306
msgid "&Undisplay "
msgstr "&Nicht anzeigen "
#: Devices.cpp:308
msgid "&Mount "
msgstr "&Einhängen"
#: Devices.cpp:308
msgid "&UnMount "
msgstr "A&ushängen"
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr "DVD-&RAM einhängen"
#: Devices.cpp:347
msgid "Display "
msgstr "Anzeigen"
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr "DVD-&RAM aushängen"
#: Devices.cpp:354
msgid "&Eject"
msgstr "Aus&werfen"
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr "Welche Einbindung möchten Sie entfernen?"
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr "DVD-RAM-Disc aushängen"
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr "Zum Aufrufen hier klicken oder ziehen"
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr "Sie haben keine Berechtigung, um diese Datei zu lesen."
#: Devices.cpp:581
msgid "Failed"
msgstr "Fehlgeschlagen"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr "Datei(en) konnte(n) aufgrund fehlender Leseberechtigung nicht geöffnet werden"
#: Devices.cpp:592
msgid "Warning"
msgstr "Warnung"
#: Devices.cpp:843
msgid "Floppy"
msgstr "Diskette"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr "Hoppla, das Laufwerk ist scheinbar nicht verfügbar.\n\nEinen schönen Tag noch!"
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr "Hoppla, die Partition ist scheinbar nicht verfügbar.\n\nEinen schönen Tag noch!"
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr "Entschuldigung, Sie müssen root sein um Nicht-fstab-Partitionen auszuhängen."
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr "Entschuldigung, das Aushängen ist fehlgeschlagen."
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr "\n(Sie müssen su eingeben für root)"
#: Devices.cpp:1435
msgid "The partition "
msgstr "Die Partition "
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr "hat keinen fstab-Eintrag\nAn welchem Punkt soll sie eingehängt werden?"
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr "Nicht-fstab-Partition einhängen"
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr "Der Einhängepunkt für dieses Gerät ist nicht vorhanden. Erstellen?"
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr "Entschuldigung, Sie müssen root sein um Nicht-fstab-Partitionen einzuhängen."
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr "Hoppla, das erfolgreiche Einhängen ist fehlgeschlagen.\nEs gab ein Problem mit /etc/mtab"
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr "Hoppla, das erfolgreiche Einhängen ist fehlgeschlagen\nVersuchen Sie, eine funktionierende Disc einzulegen."
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr "Hoppla, das erfolgreiche Einhängen ist aufgrund eines Fehlers fehlgeschlagen."
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr "Hoppla, das erfolgreiche Einhängen ist fehlgeschlagen\nBesitzen sie die notwendigen Berechtigungen um dies zu tun?"
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr "Datei mit der Liste von Partitionen kann nicht gefunden werden,"
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr "\n\nSie müssen die Konfiguration verwenden, um die Sache in Ordnung zu bringen."
#: Devices.cpp:1662
msgid "File "
msgstr "Datei"
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr "Datei mit der Liste von SCSI-Einträgen kann nicht gefunden werden,"
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr "Es muss ein gültiger Befehl eingegeben werden. Erneut versuchen?"
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr "Keine Anwendung eingegeben"
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr "Der Dateipfad scheint aktuell nicht vorhanden zu sein.\nTrotzdem verwenden?"
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr "Anwendung nicht gefunden"
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr "Diesen Editor löschen?"
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3449
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "Abbrechen"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr "Bitte wählen sie den richtigen Symboltyp."
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr "Sie haben keine Leseberechtigung für diese Datei."
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr "Es scheint ein Problem zu geben: das Zielverzeichnis ist nicht vorhanden! Entschuldigung."
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr "Es scheint ein Problem zu geben: das Eingangsverzeichnis ist nicht vorhanden! Entschuldigung."
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr "Im Archiv gibt es bereits ein Verzeichnis mit diesem Namen."
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr "\nEs wird vorgeschlagen, dass Sie entweder es oder das Eingangsverzeichnis umbenennen."
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr "Aus irgendeinem Grund ist der Versuch, ein Verzeichnis zum temporären Speichern der überschriebenen Datei zu erstellen, fehlgeschlagen. Entschuldigung!"
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr "Beide Dateien haben den gleichen Änderungszeitpunkt."
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr "Die aktuelle Datei wurde verändert am"
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr "Die Eingangsdatei wurde verändert am"
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr "Es sieht so aus, als ob Sie dieses Verzeichnis mit sich selbst überschreiben wollen."
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr "Entschuldigung, dieser Name ist bereits vergeben. Bitte versuchen Sie es erneut."
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr "Nein, die Idee ist, dass Sie den Namen ÄNDERN."
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr "Entschuldigung, die Datei konnte nicht dupliziert werden. Vielleicht ein Berechtigungsproblem?"
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr "Entschuldigung, für das Eingangsverzeichnis konnte kein Platz geschaffen werden. Vielleicht ein Berechtigungsproblem?"
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr "Entschuldigung, ein unplausibler Dateisystemfehler ist aufgetreten :-("
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr "Löschung des symbolischen Verknüpfung ist fehlgeschlagen!?!"
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr "Mehrfaches Duplizieren"
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr "Duplizierung bestätigen"
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr "RegEx-Hilfe"
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr "Erfolg\n"
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr "Prozess fehlgeschlagen\n"
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr "Prozess erfolgreich abgebrochen\n"
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr "SIGTERM fehlgeschlagen\nSIGKILL wird versucht.\n"
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr "Prozess erfolgreich gekillt\n"
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr "Entschuldigung, Abbrechen ist fehlgeschlagen\n"
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr "Ausführung von \"%s\" ist fehlgeschlagen."
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "Schließen"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr "Reguläre Datei"
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr "Symbolische Verknüpfung"
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr "Kaputte symbolische Verknüpfung"
#: Filetypes.cpp:350
msgid "Character Device"
msgstr "Zeichenorientiertes Gerät"
#: Filetypes.cpp:351
msgid "Block Device"
msgstr "Blockorientiertes Gerät"
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "Verzeichnis"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr "Socket"
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr "Unbekannter Typ?!"
#: Filetypes.cpp:959
msgid "Applications"
msgstr "Anwendungen"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr "Entschuldigung, Sie sind nicht berechtigt, dass Stammverzeichnis zu löschen."
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr "Seufz!"
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr "Ordner %s löschen?"
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr "Entschuldigung, dieser Ordner wurde nicht gefunden!?"
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr "Ein ausführbares Programm \"%s\" kann nicht gefunden werden.\nTrotzdem fortsetzen?"
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "In Ihrem PFAD kann kein ausführbares Programm \"%s\" gefunden werden.\nTrotzdem fortsetzen?"
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr "Entschuldigung, es gibt bereits eine Anwendung namens %s\n Erneut versuchen?"
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr "Bitte bestätigen"
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr "Sie haben keine Erweiterung eingegeben!"
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr "Für welche Erweiterung(en) soll diese Anwendung die Standardeinstellung sein?"
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr "Für welche Erweiterungen soll %s die Standardeinstellung sein?"
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr "%s\nmit %s\nals Standardbefehl für Dateien des Typs %s ersetzen?"
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr "Entschuldigung, die Anwendung wurde nicht gefunden!?"
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "%s löschen?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr "Anwendungsdaten bearbeiten"
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr "Entschuldigung, Sie haben nicht die Berechtigung, diese Datei auszuführen."
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr "Entschuldigung, Sie haben nicht die Berechtigung, diese Datei auszuführen.\nWollen Sie versuchen, sie zu lesen?"
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr "%s nicht weiter als Standardbefehl für Dateien vom Typ %s verwenden?"
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr "Ein temporäres Verzeichnis konnte nicht erstellt werden."
#: Misc.cpp:481
msgid "Show Hidden"
msgstr "Versteckte Elemente anzeigen"
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr "ausschneiden"
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr "%zu Elemente"
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr "Sie haben keinen Einhängepunkt angegeben.\nErneut versuchen?"
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr "Der Einhängepunkt für diese Partition ist nicht vorhanden. Soll er erstellt werden?"
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr "Hoppla, das Einhängen der Partition ist fehlgeschlagen."
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr "Die Fehlermeldung lautete:"
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr "Erfolgreich eingehängt auf"
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr "Verzeichnis erstellen nicht möglich"
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr "Hoppla, das Erstellen des Verzeichnisses ist fehlgeschlagen."
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr "Hoppla, Sie haben keine ausreichende Berechtigung um das Verzeichnis zu erstellen."
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr "Hoppla, das Anlegen des Verzeichnisses ist fehlgeschlagen."
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr "root auszuhängen ist eine WIRKLICH schlechte Idee!"
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr "Hoppla, das Aushängen der Partition ist fehlgeschlagen."
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr "Aushängen fehlgeschlagen"
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr "erfolgreich ausgehängt"
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr "Hoppla, das erfolgreiche Aushängen ist aufgrund eines Fehlers fehlgeschlagen."
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr "Hoppla, das Aushängen ist fehlgeschlagen."
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr "Der gewünschte Einhängepunkt ist nicht vorhanden. Erstellen?"
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr "Hoppla, das erfolgreiche Einhängen ist fehlgeschlagen\nSind Sie sicher, dass die Datei ein gültiges Abbild ist?"
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr "Erfolgreiches Einhängen ist wegen eines Fehlers fehlgeschlagen."
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr "Erfolgreiches Einhängen ist fehlgeschlagen."
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr "Dieser Export ist bereits eingebunden bei "
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr "Der Einhängepunkt für diesen Export ist nicht vorhanden. Soll er erstellt werden?"
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr "Der Einhängepunkt für diese Freigabe ist nicht vorhanden. Soll er erstellt werden?"
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr "Entschuldigung, Sie müssen root sein, um Nicht-fstab-Exporte einhängen zu können."
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr "Hoppla, das erfolgreiche Einhängen ist fehlgeschlagen\nWird NFS ausgeführt?"
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr "Der ausgewählte Einhängepunkt ist nicht vorhanden. Soll er erstellt werden?"
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr "Der ausgewählte Einhängepunkt ist kein Verzeichnis."
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr "Auf den ausgewählten Einhängepunkt kann nicht zugegriffen werden."
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr "Der ausgewählte Einhängepunkt ist nicht leer. Soll das Einhängen dorthin trotzdem versucht werden?"
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr "Einhängen über SSH auf %s ist fehlgeschlagen."
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr "Diese Freigabe ist bereits eingehängt auf"
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr "Diese Freigabe ist bereits bei %s eingehängt\nMöchten Sie sie ebenfalls bei %s einhängen?"
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr "Entschuldigung, Sie müssen root sein, um Nicht-fstab-Freigaben einhängen zu können."
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr "Hoppla, das erfolgreiche Einhängen ist fehlgeschlagen. Die Fehlermeldung lautet:"
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr "Keine Einbindungen von diesem Typ gefunden."
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr "Netzwerkeinbindung aushängen"
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr "Freigabe oder Export zum Aushängen"
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr "Einhängepunkt"
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr "Erfolgreich ausgehängt"
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr "Aushängen fehlgeschlagen mit der Meldung:"
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr "Wählen Sie ein Verzeichnis aus, das als Einhängepunkt verwendet wird."
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr "Abbild zum Einhängen auswählen"
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr "Das Dienstprogramm \"smbclient\" kann nicht gefunden werden. Dies bedeutet wahrscheinlich, dass Samba nicht ordnungsgemäß installiert ist.\nAlternativ kann es ein PFAD- oder Berechtigungsproblem sein."
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr "Das Dienstprogramm \"nmblookup\" kann nicht zum Laufen gebracht werden. Dies bedeutet wahrscheinlich, dass Samba nicht ordnungsgemäß installiert ist.\nAlternativ kann es ein PFAD- oder Berechtigungsproblem sein."
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr "Das Dienstprogramm \"nmblookup\" kann nicht gefunden werden. Dies bedeutet wahrscheinlich, dass Samba nicht ordnungsgemäß installiert ist.\nAlternativ kann es ein PFAD- oder Berechtigungsproblem sein."
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr "Suche nach Samba-Freigaben..."
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr "Es konnte kein aktiver Samba-Server gefunden werden\nWenn Sie von einem wissen, bitte geben Sie seine Adresse ein, z.B. 192.168.0.3"
#: Mounts.cpp:1315
msgid "No server found"
msgstr "Kein Server gefunden"
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr "Das showmount-Dienstprogramm kann nicht gefunden werden. Bitte verwenden Sie Konfigurieren > Netzwerk, um seinen Dateipfad einzugeben."
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr "Das Dienstprogramm \"showmount\" kann nicht gefunden werden. Dies bedeutet wahrscheinlich, dass NFS nicht ordnungsgemäß installiert ist.\nAlternativ kann es ein PFAD- oder Berechtigungsproblem sein."
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr "Von NFS-Servern in Ihrem Netzwerk ist mir nichts bekannt.\nMöchten Sie Fortsetzen und selbst welche hineinschreiben?"
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr "Keine aktuellen Einbindungen gefunden"
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr "Sie können nicht innerhalb eines Verzeichnisses verknüpfen, sofern Sie nicht den Verknüpfungsnamen ändern."
#: MyDirs.cpp:118
msgid "Not possible"
msgstr "Nicht möglich"
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr "Zurück zum vorherigen Verzeichnis"
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr "Verzeichnis erneut eingeben"
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr "Zuvor aufgesuchtes Verzeichnis auswählen"
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr "Vollständigen Baum anzeigen"
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr "Nach Oben zum übergeordneten Verzeichnis"
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr "Benutzer"
#: MyDirs.cpp:499
msgid "Documents"
msgstr "Dokumente"
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr "Hmm. Dieses Verzeichnis ist scheinbar nicht mehr vorhanden!"
#: MyDirs.cpp:664
msgid " D H "
msgstr " D H "
#: MyDirs.cpp:664
msgid " D "
msgstr " D "
#: MyDirs.cpp:672
msgid "Dir: "
msgstr "Verz: "
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr "Dateien, Gesamtgröße"
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr "Unterverzeichnisse"
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr "Bitte versuchen Sie es später noch einmal"
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr "Ich bin gerade beschäftigt"
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr "In einem Archiv kann nicht erstellt werden.\nAllerdings könnten Sie außerhalb ein neues Element erstellen und dieses anschließend in das Archiv verschieben."
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr "Sie haben keine Berechtigung, um in diesem Verzeichnis zu erstellen."
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr "Versteckte Verzeichnisse und Dateien aus&blenden\tStrg+H"
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr "Versteckte Verzeichnisse und Dateien &anzeigen\tStrg+H"
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr "verschoben"
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr "Sie haben nicht die richtige Berechtigung, um diese Verschiebung durchzuführen.\nMöchten Sie stattdessen versuchen, es zu kopieren?"
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr "Sie haben nicht die richtige Berechtigung, um diese Verschiebung durchzuführen."
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr "Sie können keine Verknüpfungen in einem Archiv erstellen.\nAllerdings können Sie außerhalb ein neue Verknüpfung erstellen und diese anschließend in das Archiv verschieben."
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr "Sie haben keine Berechtigung, um in diesem Verzeichnis Verknüpfungen zu erstellen."
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr "Neue %s-Verknüpfung erstellen von:"
#: MyDirs.cpp:1033
msgid "Hard"
msgstr "Hart"
#: MyDirs.cpp:1033
msgid "Soft"
msgstr "Symbolisch"
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr "Bitte bestimmen Sie eine Erweiterung zum Hinzufügen."
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr "Bitte bestimmen Sie einen Namen zum Aufrufen der Verknüpfung."
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr "Bitte bestimmen Sie einen anderen Namen für die Verknüpfung."
#: MyDirs.cpp:1112
msgid "linked"
msgstr "verknüpft"
#: MyDirs.cpp:1122
msgid "trashed"
msgstr "in den Papierkorb verschoben"
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr "gelöscht"
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr "Sie haben keine Berechtigung, um aus diesem Verzeichnis zu löschen."
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr "Mindestens eines der Elemente, die gelöscht werden sollen, scheint nicht vorhanden zu sein."
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr "Das Element, das gelöscht werden soll, scheint nicht vorhanden zu sein."
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr "Element nicht gefunden"
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr "Sie haben keine Berechtigung, um diese Elemente in einen \"Korb\" zu verschieben."
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr "\nAllerdings können Sie diese \"Dauerhaft löschen\"."
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr "Sie haben keine Berechtigung, um %s in einen \"Korb\" zu verschieben."
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr "\nAllerdings können Sie es \"Dauerhaft löschen\"."
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr "Sie haben keine Berechtigung, um %u von diesen %u Elementen in den \"Korb\" zu verschieben."
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr "\n\nMöchten Sie die anderen Element(e) löschen?"
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr "In den Papierkorb werfen:"
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr "Löschen: "
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr "%zu Elemente, von: "
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr "\n\n Nach:\n"
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr "Aus irgendeinem Grund ist der Versuch, ein Verzeichnis zum entgegennehmen der Löschung zu erstellen, fehlgeschlagen. Entschuldigung!"
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr "Entschuldigung, Löschung fehlgeschlagen."
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr "Sie haben keine Berechtigung, um aus diesem Verzeichnis zu löschen.\nSie könnten versuchen, es Stück für Stück zu löschen."
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr "Sie haben keine Berechtigung, um aus einem Unterverzeichnis dieses Verzeichnisses zu löschen.\nSie könnten versuchen, es Stück für Stück zu löschen."
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr "Der Dateipfad ist ungültig."
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr "Für"
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr "der Elemente. Sie haben keine Berechtigung, um aus diesem Verzeichnis zu löschen."
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr "der Elemente. Sie haben keine Berechtigung, um aus einem Unterverzeichnis dieses Verzeichnisses zu löschen."
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr " der Elemente, der Dateipfad war ungültig."
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr " \nSie könnten versuchen, es Stück für Stück zu löschen."
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr "Das Element konnte nicht gelöscht werden."
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr "Ich fürchte"
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr "Elemente konnten nicht gelöscht werden."
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr "Ich fürchte nur"
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr "der"
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr "Elemente konnten gelöscht werden."
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr "Ausschneiden fehlgeschlagen"
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr "Löschen fehlgeschlagen"
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr "Dauerhaft löschen (kann nicht rückgängig gemacht werden!):"
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr "Sind Sie ABSOLUT sicher?"
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr "unwiederbringlich gelöscht"
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr "Löschen fehlgeschlagen!?!"
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr "? Noch nie davon gehört!"
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr "Verzeichnicht löschen fehlgeschlagen!?!"
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr "Die Datei scheint nicht vorhanden zu sein!?!"
#: MyDirs.cpp:1757
msgid "copied"
msgstr "kopiert"
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr "Verzeichnisgerüst eingefügt"
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr "eingefügt"
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr "S&ymbolische Verknüpfung erstellen"
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr "Harte Ver&knüpfung erstellen"
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr "Aus Archiv extrahieren"
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr "Aus Archiv &löschen"
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr "Verzeichnis im Archiv u&mbenennen"
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr "Verzeichnis im Archiv duplizieren"
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr "Datei im Archiv u&mbenennen"
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr "Datei im Archiv duplizieren"
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr "Verzeichnis &löschen"
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr "Verzeichnis in den &Papierkorb verschieben"
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr "Symbolische Verknüpfung &löschen"
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr "Symbolische Verknüpfung in den &Papierkorb verschieben"
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr "Datei &löschen"
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr "Datei in &Papierkorb verschieben"
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr "Sonstige . . ."
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr "Mit root-&Rechten öffnen mit . . . . "
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr "Mit root-&Rechten öffnen"
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr "Öffnen &mit . . . ."
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr "Verzeichnis u&mbenennen"
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr "Verzeichnis &duplizieren"
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr "Datei u&mbenennen"
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr "Datei &duplizieren"
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr "Neues Archiv erstellen"
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr "Zu bestehendem Archiv hinzufügen"
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr "Integrität von Archiv oder komprimierter Datei überprüfen"
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr "Dateien komprimieren"
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr "Versteckte Verzeichnisse und Dateien &ausblenden"
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr "Versteckte Verzeichnisse und Dateien &anzeigen"
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr "Erweiterung beginnt beim Dateinamen..."
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr "Erweiterungsbestimmung..."
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr "Anzuzeigende Spalten"
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr "Fensterteilung aufheben"
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr "Im gegenüberliegenden Fenster w&iederholen"
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr "Fenster vertauschen"
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr "In einem Archiv kann nicht erstellt werden.\nAllerdings können Sie außerhalb ein neues Element erstellen und dieses anschließend in das Archiv verschieben."
#: MyFiles.cpp:588
msgid "New directory created"
msgstr "Neues Verzeichnis erstellt"
#: MyFiles.cpp:588
msgid "New file created"
msgstr "Neue Datei erstellt"
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr "Sie möchten nicht wirklich root duplizieren, oder doch?"
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr "Sie möchten nicht wirklich root umbenennen, oder doch?"
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr "Sie haben keine Berechtigung, um in diesem Verzeichnis zu duplizieren."
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr "Sie haben keine Berechtigung, um in diesem Verzeichnis umzubenennen."
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr "Duplizieren"
#: MyFiles.cpp:665
msgid "Rename "
msgstr "Umbenennen"
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr "Nein, die Idee ist, dass Sie einen NEUEN Namen eingeben."
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr "dupliziert"
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr "umbenannt"
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr "Entschuldung, das hat nicht funktioniert. Erneut versuchen?"
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr "Entschuldigung, dieser Name ist unzulässig\n Erneut versuchen?"
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr "Entschuldigung, eines davon ist bereits vorhanden\n Erneut versuchen?"
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr "Entschuldigung, aus irgendeinem Grund ist dieser Vorgang fehlgeschlagen\nErneut versuchen?"
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr "Entschuldigung, dieser Name ist bereits vergeben.\n Erneut versuchen?"
#: MyFiles.cpp:1020
msgid "Open with "
msgstr "Öffnen mit"
#: MyFiles.cpp:1043
msgid " D F"
msgstr " D F"
#: MyFiles.cpp:1044
msgid " R"
msgstr " R"
#: MyFiles.cpp:1045
msgid " H "
msgstr " H "
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr "von Dateien und Unterverzeichnissen"
#: MyFiles.cpp:1077
msgid " of files"
msgstr "von Dateien"
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr "Das neue Ziel für die Verknüpfung scheint nicht vorhanden zu sein.\nErneut versuchen?"
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr "Aus irgendeinem Grund scheint die Änderung des Ziels der symbolischen Verknüpfung fehlgeschlagen zu sein. Entschuldigung!"
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr " Änderungen erfolgreich durchgeführt, "
#: MyFiles.cpp:1693
msgid " failures"
msgstr "Fehlschläge"
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr "Wählen Sie eine andere Datei oder ein anderes Verzeichnis als neues Ziel aus."
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr "Warnung!"
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr "Entschuldigung, Sie haben nicht die Berechtigung, um in das Verzeichnis zu schreiben, welches Ihre ausgewählte Konfigurationsdatei enthält; Abbruch."
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr "Das Hilfesystem kann nicht initialisiert werden; Abbruch."
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr "Mehrere Aktionen gleichzeitig rückgängig machen"
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr "Mehrere Aktionen gleichzeitig wiederherstellen"
#: MyFrame.cpp:743
msgid "Cut"
msgstr "Ausschneiden"
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr "Klicken Sie, um die Auswahl auszuschneiden"
#: MyFrame.cpp:744
msgid "Copy"
msgstr "Kopieren"
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr "Klicken Sie, um die Auswahl zu kopieren"
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr "Klicken Sie, um die Auswahl einzufügen"
#: MyFrame.cpp:749
msgid "UnDo"
msgstr "Rückgängig machen"
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr "Aktion rückgängig machen"
#: MyFrame.cpp:751
msgid "ReDo"
msgstr "Wiederherstellen"
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr "Gerade rückgängig gemachte Aktion wiederherstellen"
#: MyFrame.cpp:755
msgid "New Tab"
msgstr "Neuer Tab"
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr "Neuen Tab öffnen"
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr "Tab löschen"
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr "Löscht den aktuell ausgewählten Tab"
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr "Kurzinfovorschau"
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr "Zeigt Vorschauen von Bildern und Textdateien in einer \"Kurzinfo\" an."
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr "Über"
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr "Fehler"
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr "Erfolg"
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr "Computer"
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr "Abschnitte"
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr "Unzulässiger Verzeichnisname."
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr "Dateiname bereits vorhanden."
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr "Vorgang nicht erlaubt."
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr "Welche Vorlage soll gelöscht werden?"
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr "Vorlage löschen"
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr "Vorlage speichern abgebrochen"
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr "Abgebrochen"
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr "Wie soll diese Vorlage benannt werden?"
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr "Vorlagenbezeichnung auswählen"
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr "Speichern der Vorlage abgebrochen"
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr "Entschuldigung, die maximale Anzahl an Tabs ist bereits geöffnet."
#: MyNotebook.cpp:346
msgid " again"
msgstr "erneut"
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr "Tab &hinzufügen"
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr "Wie soll dieser Tab benannt werden?"
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr "Tab-Titel ändern"
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr "Ungültiger Spaltenindex"
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr "Ungültige Spalte"
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr " *** Kaputte symbolische Verknüpfung ***"
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr "Dekomprimierung eines LZMA-Streams ist fehlgeschlagen."
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr "xz-Komprimierungsfehler"
#: Redo.cpp:258
msgid " Redo: "
msgstr "Wiederherstellen:"
#: Redo.cpp:258
msgid " Undo: "
msgstr "Rückgängig machen:"
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr " (%zu Elemente) "
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr "---- MEHR ----"
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr "-- VORHERIGE --"
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr "Rückgängig gemacht"
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr "Wiederhergestellt"
#: Redo.cpp:590
msgid " actions "
msgstr "Aktionen"
#: Redo.cpp:590
msgid " action "
msgstr "Aktion"
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr "Aktion"
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr "rückgängig gemacht"
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr "wiederhergestellt"
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr "Entschuldigung, Sie können Ihr ausgewähltes, in den Papierkorb verschobenes Unterverzeichnis nicht erstellen. Vielleicht ein Berechtigungsproblem? Es wird vorgeschlagen, dass Sie die Konfiguration verwenden, um einen anderen Speicherort auszuwählen."
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr "Entschuldigung, Sie können Ihr ausgewähltes, gelöschtes Unterverzeichnis nicht erstellen. Vielleicht ein Berechtigungsproblem?\nEs wird vorgeschlagen, dass Sie die Konfiguration verwenden, um einen anderen Speicherort auszuwählen."
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr "Entschuldigung, Sie können Ihr ausgewähltes Unterverzeichnis für temporäre Dateien nicht erstellen. Vielleicht ein Berechtigungsproblem?\nEs wird vorgeschlagen, dass Sie die Konfiguration verwenden, um einen anderen Speicherort auszuwählen."
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr "Beim Löschen des 4Pane-Papierkorbs werden alle Dateien dauerhaft gelöscht, die dort gespeichert wurden!\n\nFortfahren?"
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr "Papierkorb gelöscht"
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr "Das Löschen von 4Panes Gelöscht-Korb wird automatisch ausgeführt, wenn 4Pane geschlossen ist\nEs vorzeitig auszuführen, wird alle dort gespeicherten Dateien löschen. Sämtliche Daten zum Rückgängig machen-Wiederherstellen gehen verloren!\n\nFortsetzen?"
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr "Gespeicherte Dateien dauerhaft gelöscht"
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr "Es gibt bereits eine Datei mit diesem Namen im Zielpfad. Entschuldigung."
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr "Ihnen fehlt die Berechtigung, um in das Zielverzeichnis zu schreiben. Entschuldigung."
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr "Sie können keine harte Verknüpfung zu einem Verzeichnis erstellen."
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr "Sie können keine harte Verknüpfung zu einem anderen Gerät oder einer anderen Partition erstellen."
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr "\nMöchten Sie stattdessen eine symbolische Verknüpfung erstellen?"
#: Tools.cpp:60
msgid "No can do"
msgstr "Geht nicht"
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr "Entschuldigung, keine Übereinstimmung gefunden."
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr " Einen schönen Tag noch!\n"
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr "\"locate\"-Dialog ausführen"
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr "\"find\"-Dialog ausführen"
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr "\"grep\"-Dialog ausführen"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr "Anzeigen"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr "Ausblenden"
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr "Zum ausgewählten Dateipfad wechseln"
#: Tools.cpp:2449
msgid "Open selected file"
msgstr "Ausgewählte Datei öffnen"
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr "Entschuldigung, auf diese Weise ein Superbenutzer zu werden ist hier nicht möglich.\n"
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr "Sie müssen jeden Befehl mit \"sudo\" beginnen."
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr "Stattdessen können Sie ausführen: su -c \"\""
#: Tools.cpp:2880
msgid " items "
msgstr "Elemente"
#: Tools.cpp:2880
msgid " item "
msgstr "Element"
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr "Wiederholen: "
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr "Entschuldigung, hier ist kein Platz für einen weiteren Befehl.\nIch schlage vor, Sie versuchen ihn in einem anderen Untermenü zu platzieren."
#: Tools.cpp:3077
msgid "Command added"
msgstr "Befehl hinzugefügt"
#: Tools.cpp:3267
msgid "first"
msgstr "erste"
#: Tools.cpp:3267
msgid "other"
msgstr "sonstige"
#: Tools.cpp:3267
msgid "next"
msgstr "nächste"
#: Tools.cpp:3267
msgid "last"
msgstr "letzte"
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr "Deformierter benutzerdefinierter Befehl: Die Verwendung des Modifikators \"%c\" mit \"b\" macht keinen Sinn. Abbruch."
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr "Deformierter benutzerdefinierter Befehl: Sie können nur einen Modifikator pro Parameter verwenden. Abbruch."
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr "Deformierter benutzerdefinierter Befehl: Dem Modifikator \"%c\" muss ein \"s\", \"f\", \"d\" oder \"a\" folgen. Abbruch."
#: Tools.cpp:3337
msgid "Please type in the"
msgstr "Bitte geben Sie den"
#: Tools.cpp:3342
msgid "parameter"
msgstr "Parameter"
#: Tools.cpp:3355
msgid "ran successfully"
msgstr "erfolgreich ausgeführt"
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr "Benutzerdefiniertes Werkzeug"
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr "kam mit Beendigungscode zurück"
#: Devices.h:432
msgid "Browse for new Icons"
msgstr "Nach neuen Symbolen suchen"
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr "Datei- und Verzeichnisauswahldialog"
#: Misc.h:265
msgid "completed"
msgstr "abgeschlossen"
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr "Löschen"
#: Redo.h:150
msgid "Paste dirs"
msgstr "Verz. einfügen"
#: Redo.h:190
msgid "Change Link Target"
msgstr "Verknüpfungsziel ändern"
#: Redo.h:207
msgid "Change Attributes"
msgstr "Attribute ändern"
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr "Neues Verzeichnis"
#: Redo.h:226
msgid "New File"
msgstr "Neue Datei"
#: Redo.h:242
msgid "Duplicate Directory"
msgstr "Verzeichnis duplizieren"
#: Redo.h:242
msgid "Duplicate File"
msgstr "Datei duplizieren"
#: Redo.h:261
msgid "Rename Directory"
msgstr "Verzeichnis umbenennen"
#: Redo.h:261
msgid "Rename File"
msgstr "Datei umbenennen"
#: Redo.h:281
msgid "Duplicate"
msgstr "Duplizieren"
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr "Umbenennen"
#: Redo.h:301
msgid "Extract"
msgstr "Extrahieren"
#: Redo.h:317
msgid " dirs"
msgstr "Verz"
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr "Kurzinfoverzögerungszeit eingeben"
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr "Gewünschte Kurzinfoverzögerungszeit festlegen, in Sekunden."
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr "Kurzinfos ausschalten"
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "OK"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr "Klicken Sie nach der Beendigung."
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr "&Abbrechen"
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr "Zum Abbrechen klicken"
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr "Neues Gerät erkannt"
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr "Ein bisher unbekanntes Laufwerk wurde angeschlossen."
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr "Soll es konfiguriert werden?"
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr "&Ja"
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr "N&icht jetzt"
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr "Nicht jetzt konfigurieren, aber erneut nachfragen wenn es wieder angeschlossen wird."
#: configuredialogs.xrc:205
msgid "&Never"
msgstr "&Nie"
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr "\"Ich möchte nicht wegen diesem Gerät gestört werden\". Wenn Sie Ihre Meinung ändern, kann es unter Konfigurieren konfiguriert werden."
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr "Neues Gerät konfigurieren"
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr "Geräteknoten"
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr "Einhängepunkt für das Gerät"
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr "Wie soll es genannt werden?"
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr "Gerätetyp"
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr "Gerät ist schreibgeschützt"
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr "Nach dem Gerät nicht nachfragen und auch nicht laden."
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr "Dieses Gerät ignorieren"
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr "&ABBRECHEN"
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr "Herstellername"
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr "Dies ist der vom Gerät gelieferte Name (oder, falls nicht, die Kennung). Wenn Sie möchten, können Sie ihn in etwas Einprägsameres ändern."
#: configuredialogs.xrc:577
msgid "Model name"
msgstr "Modellname"
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr "Einhängepunkt für dieses Gerät"
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr "Was ist der Name des Verzeichnisses, auf den dieses Gerät automatisch eingehängt wird? Es wird wahrscheinlich so aussehen wie /mnt/usb-[MeinPseudonym]-FlashFestplatte:0:0:0p1"
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr "Neuen Gerätetyp konfigurieren"
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr "Bezeichnung für dieses Gerät"
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr "Wenn dies ein ungewöhnlicher Gerätetyp ist, welcher nicht auf der Standardliste aufgeführt ist, geben Sie den Namen ein, der es am besten beschreibt."
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr "Was ist die am besten passende Beschreibung?"
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr "Wählen Sie die nächstliegende Entsprechung zum neuen Typ aus. Diese legt fest, welches Symbol auf der Werkzeugleiste erscheint."
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr "4Pane konfigurieren"
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr "&Beendet"
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr "Klicken Sie nach der Beendigung der Konfiguration."
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr "Benutzerdefinierte Befehle sind externe Programme, die Sie\nvon 4Pane aus starten können. Es können Dienstprogramme\nwie \"df\" oder irgendein anderes verfügbares Programm oder\nausführbares Skript sein.\nz.B. \"gedit %f\" öffnet die aktuell ausgewählte Datei in gedit."
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr "Die folgenden Parameter sind verfügbar:\n%s wird die ausgewählte Datei oder den ausgewählten Ordner an die Anwendung übergeben.\n%f (%d) wird nur die ausgewählte Datei (Verzeichnis) übergeben.\n%a wird alle in den aktiven Fenstern ausgewählten Elemente übergeben.\n%b wird eine Auswahl von beiden Dateiansichtsfenstern übergeben.\n%p wird nach einem Parameter zum Übergeben an die Anwendung abfragen.\n\nUm einen Befehl als Superbenutzer auszuführen, stellen Sie z.B. gksu oder sudo voran."
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr "Auf den folgenden Unterseiten können Werkzeuge hinzugefügt, editiert oder gelöscht werden."
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr "Dieser Abschnitt beschäftigt sich mit Geräten. Diese\nkönnen entweder fest, wie z.B. DVD-RW-Laufwerke,\noder wechselbar, wie z.B. USB-Stifte, sein.\n\n4Pane kann in der Regel das Verhalten der Distribution\nableiten und selbst passend konfigurieren. Wenn dies\nfehlschlägt oder wenn Sie Änderungen vornehmen\nmöchten. können Sie dies auf den folgenden Unterseiten machen."
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr "Hier können Sie versuchen, die Dinge zum\nFunktionieren zu bringen, wenn etwas wegen\nIhrer sehr alten oder sehr modernen Einrichtung\nfehlschlägt.\n\nEs ist unwahrscheinlich, dass Sie diesen Bereich\nbrauchen werden, aber wenn doch, lesen Sie die\nKurzinfos."
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr "Hier können Sie das Erscheinungsbild von 4Pane konfigurieren.\n\nDie erste Unterseite beschäftigt sich mit den Verzeichnis- und Dateibäumen, die zweite mit der Schriftart und die dritte mit verschiedenen Dingen."
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr "Diese beiden Unterseiten beschäftigen sich mit\nTerminals. Die erste ist für reale Terminals, die zweite\nist für Terminalemulatoren."
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr "Zum Schluss vier Seiten Vermischtes."
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr "Diese Elemente beschäftigen sich mit Verzeichnis- und Dateibäumen."
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr "Pixel zwischen dem übergeordneten"
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr "Verzeichnis und dem Aufklappkästchen"
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr "Es gibt ein \"Aufklappkästchen\" (in gtk2 eigentlich ein Dreieck) zwischen dem übergeordneten Verzeichnis und dem Dateinamen. Dieser Drehregler legt die Anzahl der Pixel zwischen dem übergeordneten Verzeichnis und dem Dreieck fest."
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr "Pixel zwischen den"
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr "Aufklappkästchen und dem Namen"
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr "Es gibt ein \"Aufklappkästchen\" (in gtk2 eigentlich ein Dreieck) zwischen dem übergeordneten Verzeichnis und dem Dateinamen. Dieser Drehregler legt die Anzahl der Pixel zwischen dem Dreieck und dem Dateinamen fest."
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr "Versteckte Dateien und Verzeichnisse im Fenster einer vor kurzem erstellten Tab-Ansicht anzeigen. Sie können dies für einzelne Fenster im Kontextmenü ändern oder Strg-H verwenden."
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr "Versteckte Dateien und Verzeichnisse standardmäßig anzeigen."
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr "Wenn angekreuzt, werden Dateien/Verzeichnisse in einer zu Ihrer festgelegten regionalen Einstellung passenden Weise angezeigt. Allerdings könnte dies dazu führen, dass versteckte Dateien (wenn angezeigt) nicht gesondert angezeigt werden."
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr "Dateien nach den regionalen Einstellungen sortieren."
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr "Eine symbolische Verknüpfung zu einem Verzeichnis mit den gewöhnlichen Verzeichnissen in der Dateiansicht anzeigen und nicht unterhalb mit den Dateien."
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr "Eine symbolische Verknüpfung auf ein Verzeichnis genauso behandeln wie ein normales Verzeichnis."
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr "Möchten Sie sichtbare Linien zwischen jedem Verzeichnis und dessen Unterverzeichnissen haben? Wählen Sie je nachdem, was Sie bevorzugen, aber der normale Stil in gtk1 ist \"Ja\". Lediglich in manchen Versionen von gtk2 ist er \"Nein\"."
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr "Linien im Verzeichnisbaum anzeigen"
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr "Wählen Sie Farben zur Verwendung als Fensterhintergrund aus. Für Verzeichnis- und Dateiansichten können Sie verschiedene Farben nehmen."
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr "Hintergrund eines Fensters einfärben"
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr "&Farben auswählen"
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr "Klicken Sie, um die zu verwendenden Hintergrundfarben auszuwählen."
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr "Wechselnden Zeilen in der Dateiansicht mit verschiedenen Hintergrundfarben versehen, was in einem gestreiften Erscheinungsbild resultiert."
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr "Alternative Linien in der Dateiansicht einfärben"
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr "Farben aus&wählen"
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr "Klicken Sie zum Auswählen der Farben, in denen alternative Linien gezeichnet werden."
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr "Die Spaltenüberschrift einer Dateiansicht oder das oberhalb der Werkzeugliste einer Verzeichnisansicht leicht hervorheben, um das fokussierte Fenster zu kennzeichnen. Klicken Sie auf die Schaltfläche \"Konfigurieren\", um den Umfang der Hervorhebung zu ändern."
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr "Fokussiertes Fenster hervorheben"
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr "K&onfigurieren"
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr "Klicken Sie, um die Anzahl der Hervorhebungen für jeden Fenstertyp zu ändern."
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr "Vor Version 1.1 hat 4Pane seine Anzeige aktualisiert, wenn es seine Dateien/Verzeichnisse geändert hat, aber auf außerhalb gemachte Änderungen hat es nicht reagiert.\nNun kann 4Pane inotify verwenden, um Sie sowohl von internen als auch externen Änderungen zu informieren. Deaktivieren Sie das Kästchen, wenn Sie die alte Methode bevorzugen."
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr "inotify verwenden, um das Dateisystem zu beobachten"
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr "&Anwenden"
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr "Hier können Sie die vom Baum verwendete Schriftart konfigurieren."
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr "Klicken Sie auf die Schaltfläche \"Ändern\", um eine andere Schriftart oder -größe auszuwählen."
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr "Die Schaltfläche \"Standardeinstellung verwenden\" setzt es auf den Systemstandard zurück."
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr "So sieht die Terminalemulatorschriftart aus."
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr "Än&dern"
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr "Wechseln Sie zu einer Schriftart Ihrer Wahl."
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr "Das Erscheinungsbild mit der Standardschriftart."
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr "&Standardeinstellung verwenden"
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr "Zur Systemstandardschriftart zurückkehren"
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr "\"4Pane [Dokumente]\" statt nur \"4Pane\" in der Titelleiste anzeigen, wenn der aktuell ausgewählte Pfad in der aktiven Verzeichnisansicht /home/david/Dokumente ist"
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr "Den aktuell ausgewählten Dateipfad in der Titelleiste anzeigen."
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr "Hier können Sie sehen, welche Datei oder welches Verzeichnis ausgewählt ist. Für die Verwendung in externen Anwendungen können Sie auch Strg-C zum Kopieren verwenden. Änderungen an dieser Option werden erst wirksam, wenn 4Pane neu gestartet wird."
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr "Den aktuell ausgewählten Dateipfad in der Werkzeugleiste anzeigen."
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr "4pane liefert Standardsymbole für Dinge wie \"Kopieren\" und \"Rückgängig\" mit. Kreuzen Sie dieses Kästchen an, wenn Sie stattdessen lieber die Symbole Ihres Themes verwenden möchten."
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr "Wann immer möglich, Standardsymbole verwenden."
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr "4Pane speichert in den Papierkorb verschobene Dateien und Verzeichnisse, anstatt sie zu löschen. Trotzdem möchten Sie vielleicht bei jedem Versuch gefragt werden; in diesem Fall kreuzen Sie dieses Kästchen an."
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr "Vor dem Löschen des Papierkorbs nach einer Bestätigung fragen."
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr "4Pane speichert \"gelöschte\" Dateien in seinem eigenen Papierkorb."
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr "Vor dem Löschen von Dateien nach einer Bestätigung fragen."
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr "Die Körbe für in den Papierkorb verschobene/gelöschte Dateien in diesem Verzeichnis erstellen."
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr "&Werkzeugleisteneditoren konfigurieren"
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr "Hier können Sie die Symbole für Editoren und ähnliche Anwendungen in der Werkzeugleiste hinzufügen/entfernen. Diese öffnen sich, wenn darauf geklickt wird oder Sie ziehen (eine) Datei(en) auf eine Anwendung, um sie in dieser zu öffnen."
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr "&Vorschauen konfigurieren"
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr "Hier können Sie die Größe der Bild- und Textvorschauen und ihre Auslösezeit konfigurieren."
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr "Werkzeuge der &kleinen Werkzeugleiste konfigurieren"
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr "Hier können Sie die Schaltflächen aus der kleinen Werkzeugleiste am oberen Rand jeder Verzeichnisansicht hinzufügen/entfernen."
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr "Kurz&infos konfigurieren"
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr "Konfiguriert, ob und für wie lange Kurzinfos angezeigt werden. Dies ist nur teilweise wirksam: Es funktioniert derzeit nicht für Werkzeugleisten-Kurzinfos."
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr "Wählen Sie die Terminal-Anwendung aus, die durch Strg-T gestartet werden soll."
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr "Entweder eine der folgenden"
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr "Oder eigene Auswahl eingeben"
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr "Geben Sie den genauen Befehl ein, der ein Terminal startet.\nWählen Sie eines aus, das auf Ihrem System installiert ist ;)"
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr "Welche Terminal-Anwendung soll andere Programme ausführen?"
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr "Geben Sie den genauen Befehl ein, der andere Programme in einem Terminal ausführt.\nWählen Sie ein Terminal, das auf ihrem System installiert ist ;)"
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr "Welche Terminal-Anwendung soll ein benutzerdefiniertes Werkzeug ausführen?"
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr "Geben Sie den genauen Befehl ein, der andere Programme in einem Terminal ausführt und das Terminal offen lässt, wenn das Programm beendet wird.\nWählen Sie ein Terminal, das auf ihrem System installiert ist ;)"
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr "Eingabeaufforderung und Schriftart für den Terminalemulator konfigurieren"
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr "Eingabeaufforderung. Für Details siehe die Kurzinfo."
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr "Ändern"
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr "Standardeinstellung verwenden"
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr "Derzeit bekannte mögliche NFS-Server"
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr "Diese IP-Adressen stellen Server da, die in Ihrem Netzwerk vorhanden sind oder waren."
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr "Hervorgehobenen Server löschen"
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr "Geben Sie eine andere Serveradresse ein"
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr "Schreiben Sie hier die Adresse eines anderen Servers hinein (z.B. 192.168.0.2), klicken Sie dann auf \"Hinzufügen\"."
#: configuredialogs.xrc:2698
msgid "Add"
msgstr "Hinzufügen"
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr "Dateipfad für showmount"
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr "Wie lautet der Dateipfad zum NFS-Hilfsprogramm showmount? Vermutlich /usr/sbin/showmount"
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr "Pfad zum Samba-Verzeichnis"
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr "Wo sind Dateien wie smbclient und findsmb gespeichert? Wahrscheinlich in /usr/bin/ (oder eine symbolische Verknüpfung von dort)."
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr "4Pane erlaubt es Ihnen, die meisten Vorgänge rückgängig zu machen (und wiederherzustellen)."
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr "Was ist die maximale Anzahl, die rückgängig gemacht werden können?"
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr "(Anm.: Siehe die Kurzinfo)"
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr "Die Anzahl der jeweiligen Einträge in einem Auswahlmenü."
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr "(Siehe die Kurzinfo)"
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr "Manche Meldungen werden kurz angezeigt, dann verschwinden sie."
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr "Für wie viele Sekunden sollen sie bestehen bleiben?"
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr "\"Erfolgreich\"-Benachrichtigungsdialoge"
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr "\"Fehlgeschlagen, weil...\"-Dialoge"
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr "Statusleistenmeldungen"
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr "Manche Vorgänge, z.B. das Einhängen einer Partition, zeigen eine Erfolgsmeldung in der Statusleiste an. Dies legt fest, wie lange eine solche Meldung bestehen bleiben soll."
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr "Welches Frontend wünschen Sie sich zum Ausführen von Arbeitsschritten als root?"
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr "Kreuzen Sie dieses Kästchen an, damit 4Pane die Verwaltung der Befehlsausführung übernimmt, entweder durch den Aufruf von su oder sudo (abhängig von Ihrer Distribution oder Einstellung)."
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr " 4Panes eigener"
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr "sollte aufrufen:"
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr "Einige Distributionen (Ubuntu und ähnliche) verwenden sudo, um Superbenutzer zu werden; die meisten anderen verwenden su. Wählen Sie das entsprechende aus."
#: configuredialogs.xrc:3196
msgid "su"
msgstr "su"
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr "sudo"
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr "Kreuzen Sie dieses Kästchen an, wenn Sie möchten, dass 4Pane das Passwort speichert und bei Bedarf automatisch bereitstellt. Aus Sicherheitsgründen beträgt die längste zulässige Zeitdauer 60 Minuten."
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr " Passwörter speichern für:"
#: configuredialogs.xrc:3233
msgid "min"
msgstr "min"
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr "Wenn dieses Kästchen abgehakt ist, wird nach jedem eingegebenem Passwort das Zeitlimit erneuert."
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr "Neustartzeit bei jeder Benutzung"
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr "Ein externes Programm z.B. gksu. Nur auf ihrem System verfügbare Programme können ausgewählt werden."
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr "Ein externes Programm:"
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr "kdesu"
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr "gksu"
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr "gnomesu"
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr "Andere..."
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr "Geben Sie Ihre eigene Auswahl der Anwendung, einschließlich aller notwendigen Optionen, ein. Am besten wäre es, wenn es auf Ihrem System vorhanden wäre..."
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr "Die ersten 3 Schaltflächen konfigurieren die Dateiöffnung, D'n'D und die Statusleiste.\nDie vierte Schaltfläche exportiert die Konfiguration von 4Pane: siehe die Kurzinfo."
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr "&Öffnen von Dateien konfigurieren"
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr "Klicken Sie, um 4pane mitzuteilen, wie Sie Dateien bevorzugt öffnen."
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr "&Drag'n'Drop konfigurieren"
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr "Klicken Sie, um das Verhalten von Drag and Drop zu konfigurieren."
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr "&Statusleiste konfigurieren"
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr "Klicken Sie, um die Statusleistenbereiche zu konfigurieren."
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr "Konfigurationsdatei &exportieren"
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr "Auszuführender Befehl:"
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr "Klicken Sie, um nach der auszuführenden Anwendung zu suchen."
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr "Aktivieren Sie das Häkchen, wenn das Werkzeug in einem Terminal ausgeführt werden soll."
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr "In einem Terminal ausführen"
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr "Manche Programme benötigen ein Terminal sowohl zur Ausführung darin als auch um die Ergebnisse anzuzeigen. Wenn Sie dieses Kontrollkästchen ankreuzen, wird das Terminal sichtbar bleiben, wenn das Programm beendet ist, um Ihnen eine Möglichkeit zum Ansehen der Ausgabe zu geben."
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr "Terminal offen lassen"
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr "Aktivieren Sie das Häkchen, wenn Sie möchten, dass das aktuelle Fenster automatisch aktualisiert wird, wenn das Hilfsprogramm fertig ist."
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr "Fenster aktualisieren nach"
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr "Aktivieren Sie das Häkchen, wenn Sie möchten, dass das andere Fenster ebenfalls aktualisiert wird."
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr "Gegenüberliegendes Fenster ebenfalls aktualisieren"
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr "Aktivieren Sie das Häkchen, wenn das Werkzeug mit Superbenutzerrechten nicht im Terminal ausgeführt werden soll (in einem Terminal können Sie \"sudo\" oder \"su -c\" trotzdem verwenden)."
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr "Befehl als root ausführen"
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr "Bezeichnung, die im Menü angezeigt werden soll:"
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr "Zu diesem Menü hinzufügen:"
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr "Dies sind die derzeit verfügbaren Menüs. Wählen Sie eines aus oder fügen Sie ein neues hinzu."
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr "&Neues Menü"
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr "Ein neues Menü oder Untermenü zur Liste hinzufügen"
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr "Menü &löschen"
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr "Das aktuell ausgewählte Menü oder Untermenü löschen"
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr "&Werkzeug hinzufügen"
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr "Klicken Sie, um das neue Werkzeug hinzuzufügen."
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr "Wählen Sie einen Befehl aus und klicken Sie anschließend auf \"Diesen Befehl bearbeiten\"."
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr "Bezeichnung im Menü"
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr "Wählen Sie die Bezeichnung des Befehls aus, den Sie bearbeiten möchten. Wenn Sie möchten, können Sie diese auch bearbeiten."
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr "Befehl"
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr "Zu bearbeitender Befehl"
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr "Diesen Befehl &bearbeiten"
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr "Wählen Sie ein Element aus und klicken Sie anschließend auf \"Diesen Befehl löschen\"."
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr "Wählen Sie die Bezeichnung des Befehls aus, den Sie löschen möchten."
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr "Zu löschender Befehl"
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr "Diesen Befehl &löschen"
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr "Eintrag doppelklicken, um ihn zu ändern"
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr "Die Bezeichnungen ohne einer Mnemonik unten anzeigen, z.B. \"Ausschneiden\" anstatt \"A&usschneiden\" anzeigen. Sie können immer noch die Mnemonik ansehen und bearbeiten, sobald Sie die Eintragsbezeichnung bearbeiten."
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr "Bezeichnungen ohne Mnemoniken anzeigen"
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr "Farben auswählen"
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr "Die folgenden Farben werden abwechselnd im Dateiansichtsfenster verwendet."
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr "Aktuelle 1. Farbe"
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr "Aktuelle 2. Farbe"
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr "Wählen Sie die Farbe aus, die als Hintergrund für ein Fenster verwendet werden soll.\nSie können eine Farbe für Verzeichnisansichten und eine andere für Dateiansichten auswählen. \nAlternativ können Sie das Kästchen ankreuzen, um in beiden Ansichten die gleiche Farbe zu verwenden."
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr "Aktuelle Verzeichnisansichtsfarbe"
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr "Aktuelle Dateiansichtsfarbe"
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr "Gleiche Farbe für beide Fenstertypen verwenden"
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr "Fensterhervorhebung auswählen"
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr "Ein Fenster kann optional hervorgehoben werden, wenn es im Fokus ist. Hier können Sie den Grad der Hervorhebung abändern."
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr "In der Verzeichnisansicht ist das Hervorgehobene in einer schmalen Linie über der Werkzeugleiste."
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr "In der Dateiansicht betrifft die Farbänderung die Überschrift, die viel dicker ist."
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr "Es wird vorgeschlagen, dass Sie den \"Versatz\" der Dateiansicht kleiner machen als der Unterschied ersichtlich ist."
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr "Verzeichnisansicht fokussiert"
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr "Grundlinie"
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr "Dateiansicht fokussiert"
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr "Geben Sie die Tastenkombination ein"
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr "Drücken Sie die Tasten, die Sie für diese Funktion verwenden möchten:"
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr "Attrappe"
#: configuredialogs.xrc:4859
msgid "Current"
msgstr "Aktuell"
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr "Löschen"
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr "Klicken Sie hier, wenn Sie keine Tastenkombination für diese Aktion möchten."
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr " Standard:"
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr "Strg+Umschalt+Alt+M"
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr "Durch Klicken auf diese wird der oben gesehene Standardprogrammzeitverkürzer eingetragen."
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr "Bezeichnung ändern"
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr " Hilfezeichenkette ändern"
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr "Programmzeitverkürzer duplizieren"
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr "Diese Tastenkombination wird bereits verwendet von:"
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr "Dummy"
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr "Was wollen Sie tun?"
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr "Andere Tasten auswählen"
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr "Tastenkombination der anderen Tasten stehlen"
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr "Aufgeben"
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr "&Erneut versuchen"
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr "Kehren Sie zum Dialog zurück, um eine andere Tastenauswahl vorzunehmen."
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr "&Überschreiben"
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr "Verwenden Sie trotzdem Ihre Auswahl. Sie werden die Möglichkeit bekommen, eine neue Auswahl für die Verknüpfung, welche sie derzeit verwendet, zu machen."
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr "Die Tastenkombination wird auf den vorherigen Wert zurückgesetzt, wenn überhaupt."
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr "Wie werden eingesteckte Geräte erkannt?"
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr "Bis zum 2.4er Kernel wurden USB-Stifte und ähnliches überhaupt nicht erkannt. 2.4er Kernel führten die USB-Speichermethode ein. Neuere Distributionen mit 2.6er Kerneln verwenden normalerweise das udev/hal-System. Dazwischen haben einige Distributionen (z.B. SuSE 9.2) etwas Seltsames mit /etc/mtab getan."
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr "Die ursprüngliche USB-Speicher-Methode"
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr "durch einen Blick in die mtab"
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr "Die neue udev/hal-Methode"
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr "Diskettenlaufwerke automatisch einhängen"
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr "DVD-ROM-Laufwerke, usw. automatisch einhängen"
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr "Wechsellaufwerke automatisch einhängen"
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr "Welche Datei (wenn überhaupt) enthält Daten zu einem neu eingesteckten Gerät?"
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr "Disketten"
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr "Dies gilt vor allem für Distributionen ohne automatisches Einhängen, von denen einige Informationen über Geräte direkt in /etc/mtab oder /etc/fstab einfügen."
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr "mtab"
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr "fstab"
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr "keine"
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr "Manche Distributionen (z.B. Mandriva 10.1) verwenden Supermount, um bei der Verwaltung von Festplattenänderungen zu helfen. Wenn ja, darf der fstab-Eintrag eines Gerätes mit \"kein\" beginnen anstatt mit dem Gerätenamen. In diesem Fall kreuzen Sie dieses Kästchen an."
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr "Supermounts"
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr "CD-ROMs, usw."
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr "USB-Geräte"
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr "Wie oft soll nach neu angeschlossenen USB-Geräten geprüft werden?"
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr "4Pane überprüft, ob irgendwelche Wechsellaufwerke entfernt oder neue hinzugefügt wurden. Wie oft sollte das stattfinden?"
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr "Sekunden"
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr "Wie sollen USB-Mehrfachkartenlesegeräte angezeigt werden?"
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr "Auch Schaltflächen für leere Spalten hinzufügen"
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr "Was soll gemacht werden, wenn 4Pane ein USB-Gerät eingehängt hat?"
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr "Möchten Sie vor dem Beenden aushängen? Dies gilt nur für Wechsellaufwerke und nur dann, wenn Ihre Distribution nicht automatisch ein- bzw. aushängt."
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr "Vor dem Aushängen beim Beenden nachfragen"
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr "Zur Information lesen Sie bitte die Kurzinfos."
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr "Welche Datei beinhaltet Partitionsdaten?"
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr "Die Liste der bekannten Partitionen. Standardeinstellung: /proc/partitions"
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr "Welches Verzeichnis beinhaltet Gerätedaten?"
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr "Enthält \"Dateien\" wie hda1, sda1. Aktuell /dev/"
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr "Welche Datei(en) enthält/enthalten Diskettenlaufwerksinformationen?"
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr "Diskettenlaufwerksinformationen finden Sie in der Regel in /sys/block/fd0, /sys/block/fd1, usw.\nLegen Sie hier nicht das 0, 1 Bit fest, nur /sys/block/fd oder was auch immer."
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr "Welche Datei enthält CD/DVD-ROM-Informationen?"
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr "Informationen zu fest installierten Geräten wie CD-ROM-Laufwerken finden Sie in der Regel in /proc/sys/dev/cdrom/info. Verändern Sie es, wenn sich dies geändert hat."
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr "Standardeinstellungen wiederherstellen"
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr "2.4 Kernel: USB-Speicher"
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr "2.4er Kernel erkennen Wechsellaufwerke und fügen ein Verzeichnis namens /proc/scsi/usb-storage-0, storage-1 usw. hinzu.\nSetzen Sie hier einfach das Bit /proc/scsi/usb-storage-"
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr "2.4 Kernel: Liste mit Wechsellaufwerken"
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr "2.4er Kernel unterhalten eine Liste mit angeschlossenen/früher angeschlossenen Wechsellaufwerken.\nWahrscheinlich /proc/scsi/scsi"
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr "Knotennamen für Wechsellaufwerke"
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr "Welcher Geräteknoten wird an Wechsellaufwerke wie USB-Stifte vergeben? Wahrscheinlich /dev/sda, sdb1, usw.\nSetzen Sie hier einfach das Bit /dev/sd"
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr "2.6 Kernel: Verzeichnis mit Informationen zu Wechsellaufwerken"
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr "In 2.6er Kerneln finden Sie hier einige Informationen zu Wechsellaufwerken\nWahrscheinlich /sys/bus/scsi/devices"
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr "Wie lautet der LVM-Präfix?"
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr "Weiterer LVM-Kram. Siehe die Kurzinfo"
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr "Wo befinden sich die proc-Dateien der blockorientierten Geräte? Dies ist zur Unterstützung der Verwaltung des LVM-Krams erforderlich.\nWahrscheinlich /dev/.udevdb/block@foo. Geben Sie nur das \"/dev/.udevdb/block@\"-Bit ein."
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr "Wählen Sie ein Laufwerk zum Konfigurieren aus.\nOder wählen Sie \"Laufwerk hinzufügen\" zum Hinzufügen."
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr "&Laufwerk hinzufügen"
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr "Dieses Laufwerk &bearbeiten"
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr "Dieses Laufwerk &löschen"
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr "Feste Laufwerke sollten automatisch gefunden worden\nsein, aber wenn eines weggelassen wurde oder Sie\nmanche Daten abändern möchten, können Sie dies hier\nmachen."
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr "Wählen Sie ein Laufwerk zum Konfigurieren aus.\nOder wählen Sie \"Laufwerk hinzufügen\" aus, um eines hinzuzufügen."
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr "Attrappe, um diese Version der Datei zu testen."
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr "Verzeichnisansicht-Werkzeugleistenschaltflächen konfigurieren"
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr "Aktuelle Schaltflächen"
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr "Schaltfläche &hinzufügen"
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr "Diese Schaltfläche &bearbeiten"
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr "Diese Schaltfläche &löschen"
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr "Konfigurieren z.B. einen Editor"
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr "Name"
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr "Dies ist nur eine Bezeichnung, so dass Sie in der Lage sind, es wiederzuerkennen. Z.B. kwrite"
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr "Zu verwendendes Symbol"
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr "Befehl ausführen"
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr "Dies ist die Zeichenkette zum Aufrufen des Programms. Z.B. kwrite oder /opt/gnome/bin/gedit"
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr "Zu verwendendes Arbeitsverzeichnis (optional)"
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr "Wenn zum Beispiel mehrere Dateien eingefügt werden, kann GEdit diese in Tabs öffnen."
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr "Akzeptiert mehrfache Eingabe"
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr "Das Symbol für dieses Programm nicht laden. Seine Konfiguration bleibt erhalten und Sie brauchen es in der Zukunft nicht mehr zu ignorieren."
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr "Dieses Programm ignorieren"
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr "Symbol auswählen"
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr "Aktuelle\nAuswahl"
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr "Klicken Sie auf ein Symbol, um es auszuwählen\noder suchen Sie nach anderen."
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr "&Durchsuchen"
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr "Neues Symbol"
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr "Dieses Symbol hinzufügen?"
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr "Editoren usw. konfigurieren"
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr "Programm &hinzufügen"
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr "Dieses Programm &bearbeiten"
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr "Dieses Programm &löschen"
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr "Symbol der kleinen Werkzeugleiste konfigurieren"
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr "Dateipfad"
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr "Geben Sie den Dateipfad ein, zu dem Sie wechseln möchten, wenn die Schaltfläche geklickt wird."
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr "Klicken Sie, um nach dem neuen Dateipfad zu suchen."
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr "(Zum Ändern klicken)"
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr "Bezeichnung z.B. \"Musik\" oder \"/usr/share/\""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr "Optionaler Kurzinfotext"
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr "Drag and Drop konfigurieren"
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr "Wählen Sie aus, welche Tasten folgendes machen sollen:"
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr "Verschieben:"
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr "Kopieren:"
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr "Harte Verknüpfung:"
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr "Symbolische Verknüpfung:"
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr "Verändern Sie diese Werte, um die D'n'D-Auslöseempfindlichkeit zu ändern."
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr "Horizontal"
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr "Wie weit nach links und rechte sollte die Maus bewegt werden, bevor D'n'D ausgelöst wird? Standardwert 10"
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr "Vertikal"
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr "Wie weit nach oben und unten sollte die Maus bewegt werden, bevor D'n'D ausgelöst wird? Standardwert 15"
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr "Wie viele Zeilen soll pro Mausrad-Klick gescrollt werden?"
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr "Statusleiste konfigurieren"
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr "Die Statusleiste hat vier Abschnitte. Hier können Sie ihre Proportionen anpassen."
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr "(Änderungen werden erst nach einem Neustart von 4Pane wirksam)"
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr "Menüpunkt-Hilfe"
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr "(Standard 5)"
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr "Gelegentlich hilfreiche Meldungen, wenn Sie über einen Menüpunkt fahren."
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr "Erfolgsmeldungen"
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr "(Standard 3)"
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr "Meldungen wie \"15 Dateien erfolgreich gelöscht\". Diese Meldungen verschwinden nach einer einstellbaren Anzahl von Sekunden."
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr "Dateipfade"
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr "(Standard 8)"
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr "Informationen über die aktuell ausgewählte Datei oder das Verzeichnis; in der Regel Typ, Name und Größe."
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr "Filter"
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr "Was zeigt das fokussierte Fenster an: D=Verzeichnisse F=Dateien H=versteckte Dateien R=rekursive Unterverzeichnisgröße.\nAußerdem wird jeder Filter angezeigt, z.B. f*.txt für Textdateien, die mit einem \"f\" beginnen."
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr "Daten exportieren"
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr "Hier können Sie, sollten Sie es wünschen, einen Teil Ihrer Konfigurationsdaten in eine Datei namens 4Pane.conf exportieren."
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr "Wenn Sie in Versuchung geführt werden, drücken Sie F1 für weitere Details."
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr "Wählen Sie alle Datenarten ab, die Sie nicht exportieren wollen."
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr "Werkzeuge, z.B. \"df -h\", die standardmäßig bereitgestellt werden. Weitere Details finden Sie in der Anleitung."
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr "Benutzerdefinierte Werkzeugdaten"
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr "Für welche(n) Editor(en), z.B. gedit, kwrite, soll standardmäßig ein Symbol in der Werkzeugleiste hinzugefügt werden."
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr " Editorendaten"
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr "Dinge aus \"4Pane konfigurieren > Geräte\". Weitere Details finden Sie in der Anleitung."
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr " Gerät-Einhängedaten"
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr "Dinge aus \"4Pane konfigurieren > Terminals\". Weitere Details finden Sie in der Anleitung."
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr "Terminalbezogene Daten"
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr "Der Inhalt des \"Öffnen mit...\"-Dialogs und welche Programme welche MIME-Typen öffnen sollen."
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr "\"Öffnen mit\"-Daten"
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr "Daten exportieren"
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr "Vorschauen konfigurieren"
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr "Maximale Breite (px)"
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr "Maximale Höhe (px)"
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr "Bilder:"
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr "Textdateien:"
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr "Vorschauauslöseverzögerung, in Zehntelsekunden:"
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr "Dateiöffnung konfigurieren"
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr "Methode Ihres Systems verwenden"
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr "Methode von 4Pane verwenden"
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr "Systemmethode bevorzugen"
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr "4Panes Methode bevorzugen"
#: dialogs.xrc:42
msgid "&Locate"
msgstr "&Lokalisieren"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr "Lö&schen"
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr "&Schließen"
#: dialogs.xrc:116
msgid "Can't Read"
msgstr "Kann nicht gelesen werden"
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr "Sie haben keine Leseberechtigung für"
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr "a Vortäuschen q"
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr "&Überspringen"
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr "Nur diese Datei überspringen"
#: dialogs.xrc:182
msgid "Skip &All"
msgstr "&Alle überspringen"
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr "Alle weiteren Dateien überspringen, bei denen ich keine Leseberechtigung besitze."
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr "Tss Tss!"
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr "Es scheint, als versuchen Sie sich zu verbinden."
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr "Vorgeben"
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr "zu einer seiner Nachfahren"
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr "Dies ist natürlich illegal und vermutlich unmoralisch."
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr "&Entschuldigung :-("
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr "Klicken Sie, um sich zu entschuldigen."
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr "Wie soll der neue Name lauten?"
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr "Geben Sie den neuen Namen ein"
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr "Überschreiben oder Umbenennen"
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr "Es gibt hier bereits eine Datei mit dem Namen."
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr "&Überschreiben"
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr "Eingehende Datei &umbenennen"
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr "&Alle überschreiben"
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr "Bei Namenskonflikt alle Dateien überschreiben"
#: dialogs.xrc:699
msgid " Re&name All"
msgstr "Alle umbe&nennen"
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr "Bei Namenskonflikt sofort den UMBENENNEN-Dialog aufrufen"
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr "Dieses Element überspringen"
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr "Alle über&springen"
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr "Alle Dateien mit Namenskonflikt überspringen"
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr "Umbenennen oder abbrechen"
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr "Es gibt bereits ein Verzeichnis mit diesem Namen."
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr "Eingehendes Verzeichnis &umbenennen"
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr "Umbenennen oder überspringen"
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr "Es gibt bereits ein Verzeichnis mit dem Namen."
#: dialogs.xrc:928
msgid "Rename &All"
msgstr "&Alle umbenennen"
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr "Bei allen Namenskonflikten sofort den UMBENENNEN-Dialog aufrufen"
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr "Alle Elemente mit einem Namenskonflikt überspringen"
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr "Nach einem Duplikat im Archiv abfragen"
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr "Im Archiv gibt es bereits eine Datei mit diesem Namen."
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr "Eine Kopie &speichern"
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr "Duplizieren durch Umbenennen im Archiv"
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr "Entschuldigung, innerhalb eines Archivs können Sie keine direkte Duplizierung durchführen."
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr "Möchten Sie stattdessen durch die Umbenennung duplizieren?"
#: dialogs.xrc:1112
msgid "&Rename"
msgstr "&Umbenennen"
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr "Eine Kopie von jedem Element oder den Elementen erstellen, mit einem anderen Namen."
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr "Zu Archiv hinzufügen"
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr "Es gibt bereits ein Element mit dem Namen."
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr "Originaldatei aus dem Archiv löschen und mit der Eingehenden ersetzen."
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr "Beide Elemente &speichern"
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr "Überschreiben oder zum Archiv hinzufügen"
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr "Beide Elemente s&peichern"
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr "A&lle speichern"
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr "Aktuelles Verzeichnis durch das Eingehende ersetzen."
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr "&Alle überschreiben"
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr "Das aktuelle Verzeichnis mit dem eingehenden ersetzen und dies bei allen anderen Konflikten machen."
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr "&Überspringen"
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr "&Alle Konflikte überspringen"
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr "Alle Elemente abbrechen"
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr "Es scheint, als möchten Sie diese Datei mit sich selbst überschreiben."
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr "Heißt das:"
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr "Es soll &DUPLIZIERT werden"
#: dialogs.xrc:1856
msgid "or:"
msgstr "oder:"
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr "&Hoppla, das wollte ich nicht"
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr "Verknüpfung erstellen"
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr "Neue Verknüpfung erstellen von:"
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr "Zu diesem versuchen Sie zu verknüpfen"
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr "Verknüpfung im folgenden Verzeichnis erstellen:"
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr "Wie möchten Sie die Verknüpfung benennen?"
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr "Den gleichen Namen behalten"
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr "Die folgende Erweiterung verwenden"
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr "Den folgenden Namen verwenden"
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr "Geben Sie die Erweiterung ein, die Sie zum ursprünglichen Dateinamen hinzufügen möchten."
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr "Geben Sie den Namen ein, den Sie der Verknüpfung geben möchten."
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr "Kreuzen Sie dieses Kästchen an, wenn Sie relative symbolische Verknüpfung(en) machen wollen, z.B. zu ../../foo anstatt /Pfad/zu/foo"
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr "Zur relativen Verknüpfung machen"
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr "Kreuzen Sie dieses Kästchen an, wenn Sie möchten, dass diese Entscheidungen automatisch auf den Rest der ausgewählten Elemente angewendet werden soll."
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr "Auf alle anwenden"
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr "Wenn Sie Ihre Meinung über den Typ der Verknüpfung geändert haben, können Sie hier erneut auswählen."
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr "Ich möchte eine harte Verknüpfung erstellen"
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr "Ich möchte eine symbolische Verknüpfung erstellen"
#: dialogs.xrc:2173
msgid "Skip"
msgstr "Überspringen"
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr "Wählen Sie einen Namen für das neue Element aus."
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr "Möchten Sie eine neue Datei oder ein neues Verzeichnis?"
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr "Neue Datei erstellen"
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr "Ein neues Verzeichnis erstellen"
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr "Wählen Sie einen Namen für das neue Verzeichnis aus."
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr "Lesezeichen hinzufügen"
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr "Das folgende zu Ihren Lesezeichen hinzufügen:"
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr "Dies ist das Lesezeichen, das erstellt wird."
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr "Welche Bezeichnung möchten Sie diesem Lesezeichen geben?"
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr "Zum folgenden Ordner hinzufügen:"
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr "&Ordner wechseln"
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr "Klicken Sie, wenn Sie dieses Lesezeichen in einem anderen Ordner speichern oder einen neuen Ordner erstellen möchten."
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr "Lesezeichen bearbeiten"
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr "Nehmen Sie die erforderlichen Änderungen unten vor."
#: dialogs.xrc:2595
msgid "Current Path"
msgstr "Aktueller Pfad"
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr "Dies ist der aktuelle Pfad"
#: dialogs.xrc:2620
msgid "Current Label"
msgstr "Aktuelle Bezeichnung"
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr "Dies ist die aktuelle Bezeichnung."
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr "Lesezeichen verwalten"
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr "&Neuer Ordner"
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr "Neuen Ordner erstellen"
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr "Neue &Trennlinie"
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr "Neue Trennlinie einfügen"
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr "Auswahl &bearbeiten"
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr "Hervorgehobenes Element bearbeiten"
#: dialogs.xrc:2768
msgid "&Delete"
msgstr "&Löschen"
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr "Hervorgehobenes Element löschen"
#: dialogs.xrc:2860
msgid "Open with:"
msgstr "Öffnen mit:"
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr "Geben Sie den Pfad und den Namen der zu verwendenden Anwendung ein, wenn sie ihn wissen. Wenn nicht, wählen Sie aus der folgenden Liste aus."
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr "Klicken Sie, um nach der zu verwendenden Anwendung zu suchen."
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr "Anwendung &bearbeiten"
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr "Gewählte Anwendung bearbeiten"
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr "Anwendung &entfernen"
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr "Gewählte Anwendung aus dem Ordner entfernen"
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr "Anwendung &hinzufügen"
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr "Anwendung zum unten ausgewählten Ordner hinzufügen"
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr "&Ordner hinzufügen"
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr "Ordner zum Baum unten hinzufügen"
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr "O&rdner entfernen"
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr "Anwendung vom unten ausgewählten Ordner entfernen"
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr "Anwendung anklicken, um sie auszuwählen"
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr "Kreuzen Sie das Kästchen an, um die Datei mit dieser Anwendung in einem Terminal zu öffnen."
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr "Im Terminal öffnen"
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr "Kreuzen Sie das Kästchen an, wenn diese Anwendung in Zukunft automatisch aufgerufen werden soll, um diesen Dateityp zu öffnen."
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr "Immer die ausgewählte Anwendung für diesen Dateityp verwenden."
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr "Anwendung hinzufügen"
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr "Bezeichnung für die Anwendung (optional)"
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr "Dieser Name muss eindeutig sein. Wenn Sie keinen eingeben, wird das Ende vom Dateipfad verwendet.\nz.B. /usr/local/bin/foo wird \"foo\" genannt werden."
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr "Wo ist die Anwendung? z.B. /usr/local/bin/gs\n(manchmal wird nur der Dateiname funktionieren)"
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr "Geben Sie den Namen der Anwendung ein. Wenn sie sich in Ihrem PFAD befindet, sollten Sie nur den Namen, z.B. kwrite, eingeben. Andernfalls müssen Sie den vollständigen Pfadnamen, z.B. /usr/X11R6/bin/foo, eingeben."
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr "Erweiterung(en), die es starten soll?? Z.B. txt oder htm,html"
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr "Was ist die auszuführende Befehlszeichenkette? Z.B. kedit %s"
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr "Arbeitsverzeichnis, in dem die Anwendung ausgeführt wird (optional)."
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr "Legen Sie die Anwendung in diese Gruppe. Demnach gehört kwrite zu den Editoren."
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr "Eine neue Gruppe zum Kategorisieren der Anwendungen hinzufügen"
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr "Für welche Erweiterungen soll diese Anwendung die Standardeinstellung sein?"
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr "Dies sind die Erweiterungen zur Auswahl."
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr "Sie können entweder die ersten beiden Schaltflächen verwenden oder mit der Maus auswählen (& Strg-Taste für nicht zusammenhängende Auswahlen)."
#: dialogs.xrc:3581
msgid "All of them"
msgstr "Alle"
#: dialogs.xrc:3582
msgid "Just the First"
msgstr "Nur die Erste"
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr "Mit Maus (+Umstelltaste) auswählen"
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr "Vorlage speichern"
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr "Es ist bereits eine Vorlage geladen."
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr "Überschreiben oder als neue Vorlage speichern?"
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr "&Überschreiben"
#: dialogs.xrc:3775
msgid "&New Template"
msgstr "&Neue Vorlage"
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr "Geben Sie die Filterzeichenkette ein."
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr "Geben Sie eine Zeichenkette ein, die Sie als Filter verwenden möchten oder verwenden Sie die Chronik. Mehrere Filter können entweder durch ein | oder ein Komma getrennt werden, z.B. Pre*.txt oder *.jpg | *.png oder *htm,*html"
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr "Nur Dateien, keine Verzeichnisse, anzeigen"
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr "Nur Dateien anzeigen"
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr "Den Filter zurücksetzen, so dass alle Dateien angezeigt werden, d.h. *"
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr "Filter zurücksetzen auf *"
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr "Ausgewählten Filter auf alle Fenster in diesem Tab anwenden."
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr "Bei allen sichtbaren Fenstern anwenden."
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr "Mehrfaches Umbenennen"
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr "Sie können foo.bar entweder zu z.B. foo1.bar oder neu.foo.bar ändern."
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr "oder etwas komplizierter mit einem regulären Ausdruck."
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr " Regulären Ausdruck verwenden"
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr "&Regex-Hilfe"
#: dialogs.xrc:4043
msgid "Replace"
msgstr "Ersetzen"
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr "Geben Sie den Text oder einen regulären Ausdruck ein, welchen Sie ersetzt haben möchten?"
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr "Geben Sie den Text ein, den Sie ersetzen möchten."
#: dialogs.xrc:4076
msgid "With"
msgstr "Mit"
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr "Alle Übereinstimmungen im Namen ersetzen"
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr "Die Erste überschreiben"
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr "Name \"foo-foo-foo\" und Ersetzungstext \"bar\" angegeben, die Anzahl auf 2 festzulegen, würde zu \"bar-bar-foo\" führen."
#: dialogs.xrc:4175
msgid " matches in name"
msgstr "Übereinstimmungen im Namen"
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr "Nicht übereinstimmende Dateien vollständig ignorieren"
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr "Wie (sonst) kann man neue Namen erstellen:"
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr "Welcher Teil des Namens soll geändert werden?"
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr "Wenn der Name foo.something.bar ist, wird die Auswahl von \"Erweiterung\" \"bar\" beeinflussen und nicht \"something.bar\".\nWenn Sie \"Erweiterung\" auswählen, obwohl nichts da ist, wird stattdessen der Name verändert werden."
#: dialogs.xrc:4246
msgid "Body"
msgstr "Hauptteil"
#: dialogs.xrc:4247
msgid "Ext"
msgstr "Erweiterung"
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr "Text voranstellen (optional)"
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr "Geben Sie einen beliebigen Text zum Voranstellen ein."
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr "Text hinzufügen (optional)"
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr "Geben Sie einen beliebigen Text zum Hinzufügen ein."
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr "Erhöhung beginnt bei:"
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr "Wenn es immer noch einen Namenskonflikt gibt, obwohl Sie Obiges gemacht haben, fügt dies eine Zahl oder einen Buchstaben hinzu, um einen neuen Namen zu erstellen. Folglich wird joe.txt zu joe0.txt (oder joe.txt0, wenn Sie die Erweiterung zum Ändern ausgewählt haben)"
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr "Wenn dieses Kästchen angekreuzt ist, wird eine Erhöhung nur zur Vermeidung eines Namenskonflikts stattfinden. Wenn nicht, wird es sowieso passieren."
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr "Nur wenn gebraucht"
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr "Erhöhen mit a"
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr "Legt fest, ob \"Max\" in \"Max0\" oder \"MaxA\" geändert wird."
#: dialogs.xrc:4416
msgid "digit"
msgstr "Zahl"
#: dialogs.xrc:4417
msgid "letter"
msgstr "Buchstabe"
#: dialogs.xrc:4431
msgid "Case"
msgstr "Schreibung"
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr "Soll \"joe\" zu \"joeA\" oder zu \"joea\" werden?"
#: dialogs.xrc:4439
msgid "Upper"
msgstr "Höher"
#: dialogs.xrc:4440
msgid "Lower"
msgstr "Tiefer"
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr "Umbenennen bestätigen"
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr "Sind Sie sicher, dass Sie diese Änderungen vornehmen möchten?"
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr "Dateien lokalisieren"
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr "Geben Sie die Suchzeichenkette ein. Z.B. *foo[ab]r"
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr "Dies ist das Muster zum Vergleichen. Wenn Sie \"foo\" eingeben, werden sowohl Pfad/foo als auch Pfad/foobar/weitererPfad gefunden. Alternativ können Sie Platzhalter wie *, ? und [ ] verwenden. Wenn Sie das machen, wird Lokalisieren nur genaue Übereinstimmungen zurückgeben, z.B. müssen Sie *foo[ab]r*eingeben, um nach Pfad/foobar/weitererPfad zu suchen."
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr "Nur den letzten Bestandteil einer Datei vergleichen, z.B. das \"foo\"-Bit von /home/meinName/bar/foo, aber nicht /home/meinName/foo/bar"
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr " -b Namensbasis"
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr "Wenn abgehakt, entspricht das Muster \"foo\" sowohl foo als auch Foo (und FoO, und...)."
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr " -i Groß-/Kleinschreibung ignorieren"
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr "Lokalisieren durchsucht eine Datenbank, welche normalerweise nur einmal am Tag aktualisiert wird. Wenn dieses Kästchen angekreuzt ist, wird jedes Ergebnis überprüft, um sicherzustellen, ob es noch vorhanden ist und seit der letzten Aktualisierung nicht gelöscht wurde. Wenn es viele Ergebnisse gibt, kann dies eine beachtliche Zeit in Anspruch nehmen."
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr " -e Vorhanden"
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr "Wenn abgehakt, wird das Muster als ein regulärer Ausdruck behandelt, nicht nur wie ein übliches Glob."
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr " -r Regulärer Ausdruck"
#: moredialogs.xrc:158
msgid "Find"
msgstr "Finden"
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr "Pfad"
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr "Geben Sie den Pfad ein, von wo die Suche gestartet werden soll (oder verwenden Sie eine der Tastenkombinationen)."
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr "Geben Sie den Pfad ein, in welchem gesucht werden soll."
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr "Das aktuelle Verzeichnis und darunter durchsuchen"
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr "Aktuelles Verzeichnis"
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr "Ihr Benutzerverzeichnis und darunter durchsuchen"
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr "Den kompletten Verzeichnisbaum durchsuchen"
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr "Root ( / )"
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr "Zur Befehlszeichenkette &hinzufügen, umgeben von Anführungszeichen"
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr "Zur Befehlszeichenkette hinzufügen. Einfache Anführungszeichen werden ergänzt, um Metazeichen zu schützen."
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr "Optionen"
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr "Diese Optionen werden auf den gesamten Befehl angewendet. Wählen Sie beliebige aus."
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr "Zeiten (für -amin, -atime, -cmin, -ctime, -mmin, und -mtime) vom heutigen Tagesanfang und nicht von vor 24 Stunden messen."
#: moredialogs.xrc:415
msgid "-daystart"
msgstr "-daystart"
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr "Den Inhalt jedes Verzeichnisses vor dem Verzeichnis selbst verarbeiten. Mit anderen Worten, Finden von unten nach oben."
#: moredialogs.xrc:426
msgid "-depth"
msgstr "-depth"
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr "Symbolische Verknüpfung zurückverfolgen (d.h. untersuchen, was verknüpft ist, nicht die Verknüpfung selbst). Impliziert -noleaf."
#: moredialogs.xrc:437
msgid "-follow"
msgstr "-follow"
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr "-maxdepth"
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr "-mindepth"
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr "-noleaf"
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr "Kein Abstieg in Verzeichnisse auf anderen Dateisystemen. -mount ist ein Synonym."
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr "-xdev (-mount)"
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr "HILLLFEE!!"
#: moredialogs.xrc:542
msgid "-help"
msgstr "-help"
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr "Zur Befehlszeichenkette &hinzufügen"
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr "Diese Auswahlmöglichkeiten zur Befehlszeichenkette hinzufügen."
#: moredialogs.xrc:580
msgid "Operators"
msgstr "Operatoren"
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr "Für die Vollständigkeit hier, aber es ist normalerweise einfacher ihn direkt in die Befehlszeichenkette zu schreiben."
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr "Wählen Sie eins nach dem anderen aus."
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr "Logische UND die zwei umgebenden Ausdrücke. Da dies die Standardeinstellung ist, ist die Hervorhebung der einzige Grund dies explizit zu benutzen."
#: moredialogs.xrc:645
msgid "-and"
msgstr "-and"
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr "Logische ODER die umgebenden Ausdrücke."
#: moredialogs.xrc:656
msgid "-or"
msgstr "-or"
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr "Den folgenden Ausdruck negieren"
#: moredialogs.xrc:667
msgid "-not"
msgstr "-not"
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr "Klammer öffnen"
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr "Wie Klammer öffnen, dies wird automatisch mit einem Rückwärtsschrägstrich \"escaped\"."
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr "Klammer schließen"
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr "Trennt Listeneinträge mit einem Komma. Wenn Sie sich hierfür keine Verwendung vorstellen können, sind Sie in guter Gesellschaft."
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr "Liste ( , )"
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr "Suchbegriff"
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr "Geben Sie den Namen zum Vergleichen ein, z.B. *.txt oder /usr/s*"
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr "Groß-/Kleinschreibung ignorieren"
#: moredialogs.xrc:852
msgid "This is a"
msgstr "Das ist ein"
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr "regulärer Ausdruck"
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr "Symbolische Verknüpfung"
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr "Übereinstimmungen zurückgeben"
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr "Beliebige Ergebnisse zurückgeben (das Standardverhalten)"
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr "Übereinstimmungen ignorieren"
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr "Normalerweise MÖCHTEN Sie die Ergebnisse, aber manchmal möchten Sie z.B. ein bestimmtes Verzeichnis ignorieren. Wenn dem so ist, geben Sie den Pfad ein und wählen Sie anschließend den Pfad und Ignorieren aus."
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr "Wählen Sie eine der folgenden Zeiten, um nach dieser zu filtern:"
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr "Dateien,"
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr "auf die zugegriffen wurde"
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr "die geändert wurden"
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr "deren Status geändert wurde"
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr "die mehr als"
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr "die genau"
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr "die weniger als"
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr "Geben Sie die Anzahl der Minuten oder Tage ein."
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr "Minuten vergangen"
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr "Tage vergangen"
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr "in jüngerer Zeit als die Datei:"
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr "Geben Sie den Pfadnamen der Datei zum Vergleichen ein."
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr "Dateien, auf die zuletzt zugegriffen wurde"
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr "Geben Sie die Anzahl der Tage ein"
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr "Tage nach der Veränderung"
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr "Zur Befehlszeichenkette hinzufügen."
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr "Größe und Typ"
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr "Wählen Sie (jeweils) bis zu einem der folgenden aus:"
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr "Dateien mit der Größe"
#: moredialogs.xrc:1435
msgid "bytes"
msgstr "Bytes"
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr "512-Byte-Blöcke"
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr "Kilobytes"
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr "Leere Dateien"
#: moredialogs.xrc:1511
msgid "Type"
msgstr "Typ"
#: moredialogs.xrc:1531
msgid "File"
msgstr "Datei"
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr "Symbolische Verknüpfung"
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr "Pipe"
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr "Blockorientiert Spezial"
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr "Zeichenorientiert Spezial"
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr "Zur Befehlszeichenkette hinzufügen"
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr "Eigentümer und Berechtigungen"
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr "Benutzer"
#: moredialogs.xrc:1662
msgid "By Name"
msgstr "Nach Name"
#: moredialogs.xrc:1675
msgid "By ID"
msgstr "Nach Kennung"
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr "Geben Sie den Eigentümernamen zum Vergleichen ein, z.B. root"
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr "Geben Sie die Kennung zum Vergleichen ein."
#: moredialogs.xrc:1790
msgid "No User"
msgstr "Kein Benutzer"
#: moredialogs.xrc:1798
msgid "No Group"
msgstr "Keine Gruppe"
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr "Sonstige"
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr "Lesen"
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr "Schreiben"
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr "Ausführen"
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr "Spezial"
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr "suid"
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr "sgid"
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr "Sticky"
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr "oder oktal eingeben"
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr "Geben Sie die Oktalzeichenkette zum Vergleichen ein, z.B. 0664"
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr "Beliebige Übereinstimmung"
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr "Nur genaue Übereinstimmung"
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr "Übereinstimmung mit jeder festgelegten Berechtigung"
#: moredialogs.xrc:2151
msgid "Actions"
msgstr "Aktionen"
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr "Was soll mit den Ergebnissen gemacht werden. Sie auszugeben ist die Standardeinstellung."
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr "Die Ergebnisse auf der Standardausgabe ausgeben, jeweils gefolgt von einem Zeilenumbruch."
#: moredialogs.xrc:2200
msgid " print"
msgstr "print"
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr "Das Gleiche wie \"Print\", aber anstatt eines Zeilenumbruchs fügt es ein abschließendes \"\\0\" zu jeder Zeichenkette hinzu."
#: moredialogs.xrc:2227
msgid " print0"
msgstr "print0"
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr "Die Ergebnisse auf der Standardausgabe im \"ls -dils\"-Format auflisten."
#: moredialogs.xrc:2254
msgid " ls"
msgstr "ls"
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr "Den folgenden Befehl für jede Übereinstimmung ausführen."
#: moredialogs.xrc:2292
msgid "exec"
msgstr "exec"
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr "Den folgenden Befehl ausführen, für jede Übereinstimmung erst nachfragen."
#: moredialogs.xrc:2303
msgid "ok"
msgstr "ok"
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr "Auszuführender Befehl"
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr "Dies ist der auszuführende Befehl. Das {} ; wird automatisch hinzugefügt."
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr "Jede Zeichenkette wie in der Ausgabe ausgeben, aber im folgenden Format: siehe \"man find(1)\" für die sehr komplizierten Details."
#: moredialogs.xrc:2360
msgid "printf"
msgstr "printf"
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr "Formatierungszeichenkette"
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr "Ausgabe als ls, aber in die folgende Datei"
#: moredialogs.xrc:2412
msgid "fls"
msgstr "fls"
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr "Jede Zeichenkette als Ausgabe ausgeben, aber in die folgende Datei"
#: moredialogs.xrc:2423
msgid "fprint"
msgstr "fprint"
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr "Gleich wie fprint, aber null-terminiert"
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr "fprint0"
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr "Zieldatei"
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr "Der Dateipfad der Zieldatei. Er wird gegebenenfalls erstellt/gekürzt."
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr "Verhält sich wie printf, aber in die folgende Datei"
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr "fprintf"
#: moredialogs.xrc:2586
msgid "Command:"
msgstr "Befehl:"
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr "Hier wird die Find-Befehlszeichenkette gebaut. Entweder verwenden Sie die Dialogseiten oder geben es direkt ein."
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr "&SUCHE"
#: moredialogs.xrc:2664
msgid "Grep"
msgstr "Grep"
#: moredialogs.xrc:2685
msgid "General Options"
msgstr "Allgemeine Optionen"
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr "Für &Schnelles Grep klicken"
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr "Klicken Sie hier, um den Schnelles-Grep-Dialog aufzurufen."
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr "Kreuzen Sie das Kontrollkästchen an, um ein schnelles Grep zukünftig zum Standard zu machen."
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr "Schnelles Grep zur Standardeinstellung machen."
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr "Syntax: grep [Optionen] [ÜbereinstimmungsMuster] [Zu suchende Datei(en)]"
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr "Wählen Sie jede Option, die Sie brauchen."
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr "-w nur ganze Wörter vergleichen"
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr "Groß-/Kleinschreibung ignorieren, sowohl im Muster als auch im Dateinamen."
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr "-i Groß-/Kleinschreibung ignorieren"
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr "-x nur vollständig übereinstimmende Zeilen zurückgeben"
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr "-v nur NICHT übereinstimmende Zeilen zurückgeben"
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr "Verzeichnisoptionen"
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr "Optionen für die Verzeichnisse"
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr "Was soll mit den Verzeichnissen gemacht werden?"
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr "Vergleichen der Namen versuchen (die Standardeinstellung)"
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr " -r Rekursion in diesen durchführen"
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr "Alle zusammen ignorieren"
#: moredialogs.xrc:2990
msgid "File Options"
msgstr "Dateioptionen"
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr "Optionen für die Dateien"
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr "Suche nach einer Datei stoppen"
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr "Geben Sie die maximale Anzahl an Übereinstimmungen ein."
#: moredialogs.xrc:3071
msgid "matches found"
msgstr "Übereinstimmungen gefunden"
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr "Was soll mit den Binärdateien gemacht werden?"
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr "Jene mit einer Übereinstimmung melden (die Standardeinstellung)."
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr "Die Binärdatei durchsuchen und nur die \"Binärdatei-Übereinstimmung\"-Nachricht ausgeben, nicht die entsprechende Zeile."
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr "Wie Textdateien behandeln"
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr "Die Binärdatei durchsuchen und jede Zeile ausgeben, die dem Muster entspricht. Dies ergibt in der Regel Ausschussdaten."
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr " -D Geräte, Sockets, FIFOs ignorieren überspringen"
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr "Nur in Dateien suchen, die dem folgenden Muster entsprechen:"
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr "Ausgabeoptionen"
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr "Optionen mit Bezug zur Ausgabe"
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr "-c nur die Anzahl der Übereinstimmungen ausgeben"
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr "Nur die Namen der Dateien ausgeben, welche Übereinstimmungen enthalten, aber nicht die Übereinstimmungen selbst."
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr "-l nur den Dateinamen der Übereinstimmung ausgeben"
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr "-H den Dateinamen jeder Übereinstimmung ausgeben"
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr "-n einer Übereinstimmung seine Zeilennummer voranstellen"
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr "-s keine Fehlermeldungen ausgeben"
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr "-B Anzeigen"
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr "Geben Sie die Anzahl der Kontextzeilen ein, die Sie sehen möchten."
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr "Zeilen mit vorstehendem Kontext"
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr "-o nur die übereinstimmenden Abschnitte der Zeile ausgeben"
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr "Nur die Namen der Dateien ausgeben, welche KEINE Übereinstimmungen enthalten."
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr "-L Nur Dateinamen ohne Übereinstimmung ausgeben"
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr "-h bei mehreren Dateien keine Dateinamen ausgeben"
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr "Jeder Übereinstimmung den Offset seiner Zeile innerhalb der Datei voranstellen, in Bytes."
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr "-b einer Übereinstimmung seinen Byte-Offset voranstellen"
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr "Überhaupt keine Ausgabe, weder Übereinstimmungen noch Fehler, aber beenden mit 0 bei der ersten Übereinstimmung."
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr "-q überhaupt keine Ausgabe ausgeben"
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr "-A Anzeigen"
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr "Zeilen mit anhängendem Kontext"
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr "-C Anzeigen"
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr "Zeilen sowohl mit vorstehendem als auch anhängendem Kontext."
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr "Der Anzeige vortäuschen, dass die Eingabe aus einer Datei kam:"
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr "Muster"
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr "-e Verwenden Sie dies, wenn das Muster mit einem Minuszeichen beginnt"
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr "Regulärer Ausdruck zum Vergleichen"
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr "Geben Sie den Namen ein, nach dem gesucht werden soll. Z.B. foobar oder f.*r"
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr "&Regex\nHilfe"
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr "Das Muster nicht als regulären Ausdruck, sondern als eine Liste fester Zeichenketten behandeln, die durch Zeilenumbrüche getrennt sind, welche abgeglichen werden, als ob fgrep verwendet wird."
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr "-F Muster behandeln als ob fgrep verwendet wird"
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr "-P Muster als regulären Ausdruck von Perl behandeln"
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr "Das Muster aus dieser Datei entpacken, anstatt es in der oberen Tabelle einzugeben."
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr "-f das Muster stattdessen aus Datei laden:"
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr "Zur Befehlszeichenkette hinzufügen. Das Muster wird um einfache Anführungszeichen ergänzt, um Metazeichen zu schützen."
#: moredialogs.xrc:3835
msgid "Location"
msgstr "Ort"
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr "Geben Sie den Pfad oder eine Liste von Dateien zum Suchen ein (oder verwenden Sie eine der Tastenkombinationen)."
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr "Geben Sie den Pfad ein, von wo aus gesucht werden soll. Wenn Sie die Verknüpfungen auf der rechten Seite verwenden, können Sie ein /* hinzufügen, falls erforderlich."
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr "Dies wird die grep-Befehlszeichenkette sein."
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr "Hier wird die grep-Befehlszeichenkette gebaut. Entweder verwenden Sie die Dialogseiten oder geben es direkt ein."
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr "Wenn abgehakt, wird der Dialog automatisch 2 Sekunden nach dem letzten vorgenommenen Eintrag geschlossen."
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr "Automatisch Schließen"
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr "Dateien archivieren"
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr "Datei(en), die im Archiv gespeichert werden soll(en)"
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr "Weitere Datei hinzufügen"
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr "Nach einer weiteren Datei suchen"
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr "&Hinzufügen"
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr "Fügen Sie die Datei oder das Verzeichnis aus dem oberen Kasten der Liste auf der linken Seite hinzu."
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr "Name für das Archiv"
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr "Geben Sie nur den Hauptteil des Namens ein, nicht die Erweiterung, z.B. foo und nicht foo.tar.gz"
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr "(Fügen Sie keine Erweiterung hinzu)"
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr "In diesem Ordner erstellen"
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr "Nach einem geeigneten Ordner suchen"
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr "Archiv mithilfe von Tar erstellen"
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr "Komprimieren mit:"
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr "Welches Programm (oder keines) soll zum Komprimieren des Archivs verwendet werden. zip und bzip2 sind eine gute Wahl. Wenn es auf Ihrem System vorhanden ist, bietet XZ die beste Kompression."
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr "bzip2"
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr "gzip"
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr "xz"
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr "lzma"
#: moredialogs.xrc:4431
msgid "7z"
msgstr "7z"
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr "lzop"
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr "nicht komprimieren"
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr "Den Namen einer symbolischen Verknüpfung nicht im Archiv speichern, sondern die Datei speichern, auf die sie verweist."
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr "Symbolische Verknüpfungen zurückverfolgen"
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr "Danach überprüfen"
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr "Die Quelldateien löschen, nachdem sie zum Archiv hinzugefügt wurden. Nur für mutige Benutzer, außer wenn die Dateien unwichtig sind!"
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr "Quelldateien löschen"
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr "Stattdessen zip verwenden"
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr "Dateien zu bestehendem Archiv hinzufügen"
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr "Zur Liste &hinzufügen"
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr "Archiv, zu welchem hinzugefügt werden soll"
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr "Pfad und Name des Archivs. Sofern sie nicht bereits in der Eingabeliste sind, schreiben Sie es hinein oder suchen Sie danach."
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr "Durchsuchen"
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr "Symbolische Verknüpfungen zurückverfolgen"
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr "Archiv danach überprüfen"
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr "Quelldateien danach löschen"
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr "Dateien komprimieren"
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr "Zu komprimierende Datei(en)"
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr "\"komprimieren\""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr "Schneller"
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr "Gilt nur für gzip. Je höher der Wert ist, desto größer ist die Komprimierung, aber desto länger dauert es."
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr "Kleiner"
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr "Das normale Verhalten ist, eine vorhandene komprimierte Datei mit dem gleichen Namen nicht zu überschreiben. Kreuzen Sie dieses Kästchen an, wenn Sie diese überschreiben möchten."
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr "Alle bestehenden Dateien überschreiben"
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr "Wenn abgehakt, werden alle Dateien in jedem ausgewählten Verzeichnis (und deren Unterverzeichnissen) komprimiert. Wenn nicht abgehakt, werden Verzeichnisse ignoriert."
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr "Alle Dateien in allen ausgewählten Verzeichnissen rekursiv komprimieren."
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr "Komprimierte Dateien extrahieren"
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr "Zu extrahierende komprimierte Datei(en)"
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr "Wenn die Auswahl ein Verzeichnis ist, alle komprimierten Dateien im Verzeichnis und seinen Unterverzeichnissen dekomprimieren."
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr "Rekursion in Verzeichnissen durchführen"
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr "Datei automatisch überschreiben, wenn sie den gleichen Namen hat wie eine extrahierte Datei."
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr "Vorhandene Dateien überschreiben"
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr "Gewählte Archive dekomprimieren, aber nicht extrahieren. Wenn nichts ausgewählt ist, werden Archive ignoriert."
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr "Archive ebenfalls dekomprimieren"
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr "Ein Archiv extrahieren"
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr "Zu extrahierendes Archiv"
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr "Verzeichnis, in welches extrahiert wird"
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr "Bereits vorhandene Dateien überschreiben, wenn sie den gleichen Namen haben wie jene aus dem Archiv extrahierten Dateien."
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr "Komprimierte Dateien überprüfen"
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr "Komprimierte Datei(en) zum Überprüfen"
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr "Komprimierte Dateien &überprüfen"
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr "Archiv überprüfen"
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr "Archiv zum Überprüfen"
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr "Möchten Sie ein Archiv oder Dateien entpacken?"
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr "Ein Archiv &entpacken"
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr "Datei(en) &dekomprimieren"
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr "Möchten Sie ein Archiv oder komprimierte Dateien überprüfen?"
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr "Ein &Archiv"
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr "Komprimierte &Datei(en)"
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr "Eigenschaften"
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr "Allgemein"
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr "Name:"
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr "Ort:"
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr "Typ:"
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr "Größe:"
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr "Zugegriffen:"
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr "Administrator geändert:"
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr "Verändert:"
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr "Berechtigungen und Eigentum"
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr "Benutzer:"
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr "Gruppe:"
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr "Jegliche Änderung in den Berechtigungen oder im Eigentum bei jeder enthaltenen Datei und Unterverzeichnis anwenden."
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr "Änderungen auf alle Nachfahren anwenden"
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr "Esoterik"
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr "Gerätekennung:"
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr "Inode:"
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr "Anzahl an harten Verknüpfungen:"
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr "Anzahl an 512B-Blöcken:"
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr "Blockgröße:"
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr "Eigentümerkennung:"
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr "Gruppenkennung:"
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr "Ziel der Verknüpfung:"
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr "Um das Ziel zu ändern, schreiben Sie entweder den Namen einer anderen Datei oder eines anderen Verzeichnissen hinein oder verwenden Sie die Schaltfläche Durchsuchen."
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr "Zum Verknüpfungsziel &wechseln"
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr "Durchsuchen Sie, um ein anderes Ziel für die symbolische Verknüpfung auswählen."
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr "Erstes Verknüpfungsziel:"
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr "Ultimatives Ziel:"
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr "Zum ersten Verknüpfungsziel &wechseln"
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr "Zur Verknüpfung, die das direkte Ziel von dieser ist, wechseln."
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr "Zum &endgültigen Verknüpfungsziel wechseln"
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr "Zur Datei, die das endgültige Ziel dieser Verknüpfung ist, wechseln."
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr "fstab-Partition einhängen"
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr "Einzuhängende Partition"
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr "Dies ist eine List von bekannten, nicht eingehängten Partitionen in fstab."
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr "Einhängepunkt für die Partition"
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr "Dies ist der zur ausgewählten Partition dazugehörige Einhängepunkt, von fstab übernommen."
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr "Eine Nicht-fstab-Partition &einhängen"
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr "Wenn eine Partition nicht in der fstab angegeben ist, wird sie oben nicht aufgelistet. Klicken Sie auf diese Schaltfläche für alle bekannten Partitionen."
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr "Partition einhängen"
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr "Dies ist eine Liste der bekannten, ausgehängten Partitionen. Wenn Sie weitere kennen, können Sie sie hier hineinschreiben."
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr "Der Einhängepunkt wird automatisch eingetragen, wenn es bereits einen fstab-Eintrag für dieses Gerät gibt. Wenn nicht, müssen Sie einen selbst eingeben (oder durchsuchen)."
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr "Nach einem Einhängepunkt suchen"
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr "Einhängeoptionen"
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr "Schreibzugriff auf das Dateisystem soll nicht erlaubt sein."
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr "Nur Lesezugriff"
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr "Alle Schreibvorgänge auf das Dateisystem sollen synchron sein, während es eingehängt ist."
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr "Synchrone Schreibvorgänge"
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr "Zugriffszeiten von Dateien sollen nicht aktualisiert werden, wenn auf die Dateien zugegriffen wird."
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr "Keine Aktualisierung der Dateizugriffszeit."
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr "Keine Dateien im Dateisystem sollen ausgeführt werden."
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr "Dateien nicht ausführbar"
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr "Auf Gerätespezialdateien im Dateisystem soll kein Zugriff möglich sein."
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr "Gerätespezialdateien ausblenden"
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr "Setuid- und Setgid-Berechtigungen zu Dateien im Dateisystem sollen ignoriert werden."
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr "Setuid/Setgid ignorieren"
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr "Wenn angekreuzt, wird ein passiver Übersetzer zusätzlich zum aktiven Übersetzer erzeugt werden. Die Einhängung wird dann auch nach einem Neustart bestehen bleiben, bis Sie es wieder entfernen."
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr "Auch einen passiven Übersetzer erstellen."
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr "Einhängen mit SSHFS"
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr "Entfernter Benutzer"
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr "Optional können Sie den Namen des entfernten Benutzers eingeben. Wenn Sie es leer lassen, wird Ihr lokaler Benutzername verwendet."
#: moredialogs.xrc:10212
msgid " @"
msgstr " @"
#: moredialogs.xrc:10225
msgid "Host name"
msgstr "Hostname"
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr "Geben Sie den Namen des Servers, z.B. meinserver.eu, ein."
#: moredialogs.xrc:10248
msgid " :"
msgstr " :"
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr "Entferntes Verzeichnis"
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr "Nach Belieben können Sie ein Verzeichnis zum Einhängen bereitstellen. Die Standardeinstellung ist das Benutzerverzeichnis des entfernten Benutzers."
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr "Lokaler Einhängepunkt"
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr "Die UID und die GID des entfernten Hosts auf die des lokalen Hosts umwandeln. Empfohlen."
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr "idmap=Benutzer"
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr "schreibgeschützt einhängen"
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr "Weitere Optionen:"
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr "Geben Sie alle weiteren Optionen ein, die Sie benötigen, z.B. -p 1234 -o cache_timeout=2. Ihnen wird zugetraut, dass Sie die Syntax richtig hinbekommen."
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr "DVD-RAM-Disc einhängen"
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr "Einzuhängendes Gerät"
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr "Dies ist der Gerätename für das DVD-RAM-Laufwerk."
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr "Dies sind die dazugehörigen Einhängepunkte in der fstab. Sie können Ihre eigenen eingeben, wenn Sie möchten."
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr "ISO-Abbild einhängen"
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr "Einzuhängendes Abbild"
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr "Einhängepunkt für das Abbild"
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr "Bereits\nEingehängt"
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr "NFS-Export einhängen"
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr "Server auswählen"
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr "Dies ist die Liste mit NFS-Servern, die derzeit im Netzwerk aktiv sind. Wenn Sie von einem anderen wissen, verwenden Sie die Schaltfläche auf der rechten Seite, um es hinzuzufügen."
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr "Anderen Server manuell hinzufügen"
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr "Einzuhängender Export"
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr "Dies sind die auf dem obigen Server verfügbaren Exporte."
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr "bereits eingehängt"
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr "Hartes Einhängen"
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr "Weiches Einhängen"
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr "Einhängen mit Lese-/Schreibzugriff"
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr "Schreibgeschützt einhängen"
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr "NFS-Server hinzufügen"
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr "IP-Adresse des neuen Servers"
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr "Geben Sie die Adresse ein. Es sollte so etwas wie 192.168.0.2 sein."
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr "Diese Adresse zur weiteren Verwendung speichern."
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr "Samba-Freigabe einhängen"
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr "Verfügbare Server"
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr "IP-Adresse"
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr "Dies sind die IP-Adressen der bekannten Quellen von Samba-Freigaben im Netzwerk."
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr "Hostname"
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr "Dies sind die Hostnamen der bekannten Quellen von Samba-Freigaben im Netzwerk."
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr "Einzuhängende Freigabe"
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr "Dies sind die vom oberen Server verfügbaren Freigaben."
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr "Diesen Namen und dieses Passwort verwenden."
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr "Anonymes Einhängen versuchen"
#: moredialogs.xrc:11695
msgid "Username"
msgstr "Benutzername"
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr "Geben Sie Ihren Samba-Benutzernamen für diese Freigabe ein."
#: moredialogs.xrc:11720
msgid "Password"
msgstr "Passwort"
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr "Geben Sie das dazugehörige Passwort ein (falls es eines gibt)."
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr "Partition aushängen"
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr "Partition zum Aushängen"
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr "Dies ist eine Liste der eingehängten Partitionen von mtab."
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr "Einhängepunkt für diese Partition"
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr "Dies ist der zur ausgewählten Partition dazugehörige Einhängepunkt."
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr "Als Superbenutzer ausführen"
#: moredialogs.xrc:12025
msgid "The command:"
msgstr "Der Befehl:"
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr "zusätzliche Berechtigungen erforderlich"
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr "Bitte geben sie das Administratorpasswort ein:"
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr "Wenn angekreuzt, wird das Passwort standardmäßig für 15 Minuten gespeichert."
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr "Dieses Passwort für eine Weile merken"
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr "Schnelles Grep"
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr "Dies ist der Schnelles-Grep-Dialog.\nEs stellt nur die häufigsten der\nzahlreichen Grep-Optionen zur Verfügung."
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr "Für ein &vollständiges Grep klicken"
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr "Klicken Sie hier, um zum vollständigen Grep-Dialog zu wechseln."
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr "Kreuzen Sie das Kontrollkästchen an, um ein vollständiges Grep zukünftig zum Standard zu machen."
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr "Vollständiges Grep zur Standardeinstellung machen."
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr "Geben Sie den Pfad oder eine Liste von Dateien zum Suchen ein\n(oder verwenden Sie eine der Tastenkombinationen)"
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr "Nur ganze Wörter vergleichen"
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr "-w nur ganze Wörter vergleichen"
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr "Groß- und Kleinschreibung bei Suche berücksichtigen"
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr "-i Groß-/Kleinschreibung ignorieren"
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr "Nicht in Binärdateien suchen"
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr "-n Präfix-Übereinstimmung mit Zeilennummer"
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr "Binärdateien ignorieren"
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr "Nicht in Geräten, FIFOs, Sockets und Ähnlichem suchen."
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr "Geräte, fifos, usw. ignorieren"
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr "Was soll mit den Verzeichnissen gemacht werden?"
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr "Namen vergleichen"
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr "Rekursion in diesen durchführen"
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr "Schnellsuche"
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr "Suchbegriff:"
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr "Groß-/Kleinschreibung ignorieren"
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr "Das ist ein:"
#: moredialogs.xrc:12769
msgid "name"
msgstr "Name"
#: moredialogs.xrc:12778
msgid "path"
msgstr "Pfad"
#: moredialogs.xrc:12787
msgid "regex"
msgstr "regulärer Ausdruck"
4pane-5.0/locale/ar/ 0000755 0001750 0001750 00000000000 13130460751 011227 5 0000000 0000000 4pane-5.0/locale/ar/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013015 5 0000000 0000000 4pane-5.0/locale/ar/LC_MESSAGES/ar.po 0000644 0001750 0001750 00000552453 13130150240 013701 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# كريم أولاد Ø§Ù„Ø´Ù„ØØ© , 2011
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Arabic (http://www.transifex.com/davidgh/4Pane/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr "Ctrl"
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr "Alt"
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr "Shift"
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "&قص"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "&نسخ"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "&أرسل إلى المهملات"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "&ØØ°Ù"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "ØØ°Ù نهائيا"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "&تغيير الإسم"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "&مكرر"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "&خصائص"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "&قتØ"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "ÙØªØ & بـ"
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "&لصق"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "إنشاء &وصلة"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "انشيء وصلة &رمزية"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "ØØ°Ù التبويب"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "غير إسم &التبويب"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "تراجع"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "إعادة"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "إختر &الكل"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "&مل٠أو مسار جديد"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "&تبويب جديد"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "&أض٠تبويب"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "تكرار &هذا اللسان"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr ""
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr ""
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "&تبديل الأجزاء"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "تقسيم الأجزاء &عموديا"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "تقسيم الأجزاء &Ø£Ùقيا"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "&إلغاء تقسيم الاجزاء"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "&ملØÙ‚"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&ØØ¬Ù…"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "&وقت"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "&صلاØÙŠØ§Øª"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "&مالك"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "&مجموعة"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "&وصلة"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "عرض &كل الأعمدة"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "&عدم عرض كل الاعمدة"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "ØÙظ &إعدادات الجزء"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "ØÙظ إعدادات الجزء عنذ &الخروج"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "&ØÙظ النمط كقالب"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "ØØ°&٠القالب"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "&إنعاش العرض"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "إطلاق &الطرÙية"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "&ØªØ±Ø´ÙŠØ Ø§Ù„Ø¹Ø±Ø¶"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "عرض/Ø¥Ø®ÙØ§Ø¡ المجلدات Ùˆ Ø§Ù„Ù…Ù„ÙØ§Øª المخÙية"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "&أض٠إشارات"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "&إدارة الإشارات"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "&ضم القسم"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "&أزل ضم القسم"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "ضم صورة &ISO"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "ضم &NFS export"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "ضم &Samba share"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "عرض &Ù…ØØ§ÙƒÙŠ Ø§Ù„Ø·Ø±Ùية"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "عرض سطر-&أوامر"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "&ذهاب إلى Ø§Ù„Ù…Ù„Ù Ø§Ù„Ù…ØØ¯Ø¯"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "Ø£ÙØ±Øº &سلة المهملات"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "ØØ°Ù &نهائيا Ø§Ù„Ù…Ù„ÙØ§Øª 'Ø§Ù„Ù…ØØ°ÙˆÙØ©'"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "إست&خراج الأرشي٠أو ضغط الملÙ(ات)"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "أنشيء &أرشي٠جديد"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "&أض٠إلى أرشي٠موجود"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "&إختبار سلامة الأرشي٠أو Ø§Ù„Ù…Ù„ÙØ§Øª المضغوطة"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "&ضغط Ø§Ù„Ù…Ù„ÙØ§Øª"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "&عرض عمودي Ù„Ø£ØØ¬Ø§Ù… المسار"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr "Ø¥ØÙ†Ùظ بالأهدا٠المتعلقة بالوص&لة الرمزية"
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "&إعداد 4جزء"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "خ&روج"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "مساعدة سياق-ØØ³Ø§Ø³"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "&مساعدة"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "&أسئلة الشائعة"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "&ØÙˆÙ„ 4جزء"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "ØØ±Ù‘ر"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "ÙØ§ØµÙ„ جديد"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "إعادة البرنامج السابق"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "قص المختارة ØØ§Ù„يا"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "نسخ المختارة ØØ§Ù„يا"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "أرسÙÙ„ إلى المهملات"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr ""
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "أض٠لسان جديد"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr ""
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr ""
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr ""
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr "Ù…&Ù„Ù"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "&ØØ±Ø±"
#: Accelerators.cpp:502
msgid "&View"
msgstr "ا&عرض"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "أ_لسنة"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "علا&مات"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "أرش&ÙŠÙ"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "ضم"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "أدو&ات"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "&خيارات"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "م&ساعدة"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr ""
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr "Ø§Ù„ØØ±ÙƒØ©"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "إختصار"
#: Accelerators.cpp:675
msgid "Default"
msgstr "تلقائي"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "ملØÙ‚"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr "ØØ¬Ù…"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "الوقت"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "صلاØÙŠØ§Øª"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "مالك"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "مجموعة"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "وصلة"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "عرض كل الأعمدة"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr "إظهار الملÙ: عرض كل الأعمدة"
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "عدم عرض كل الأعمدة"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr "إظهار الملÙ: عدم عرض كل الأعمدة"
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "ØØ±Ø± العلامات"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "علامة: ÙØ§ØµÙ„ جديد"
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "Ùقدان التغيرات?"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "هل أنت متأكد؟"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "أووبسÙÙ!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr ""
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "أووبس"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "تم ضغط الملÙ(ات)"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "ÙØ´Ù„ الضغط"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr "تم ÙÙƒ ضغط الملÙ(ات)"
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "ÙØ´Ù„ ÙÙƒ الضغط"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "ÙØ´Ù„ التØÙ‚Ù‚"
#: Archive.cpp:1242
msgid "Archive created"
msgstr "تم إنشاء الارشيÙ"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "ÙØ´Ù„ إنشاء الأرشيÙ"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "تم Ø¥Ø¶Ø§ÙØ© الملÙ(ات) إلى الأرشيÙ"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "ÙØ´Ù„ Ø£Ø¶Ø§ÙØ© الأرشيÙ"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "تم إستخراج الأرشيÙ"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "ÙØ´Ù„ الإستخراج"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr ""
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "ألصق"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "ØØ±Ùƒ"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "أسÙ"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "مجلدات العلامات"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "ÙØ§ØµÙ„"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "تم التكرار"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "تم Ø§Ù„ØªØØ±ÙŠÙƒ"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "تم النسخ"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "إعادة تسمية مجلد الجذر"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "ØØ±Ø± العلامات"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "ÙØ§ØµÙ„ جديد"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "مجلد جديد"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr "ÙØ´Ù„ تØÙ…يل شريط القائمة!?"
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr "ÙØ´Ù„ العتور على القائمة!?"
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "علامات"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "تم Ø¥Ø¶Ø§ÙØ© العلامة"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "Ùقدان كل التغيرات?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "تم Ø¥Ø¶Ø§ÙØ© المجلد"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "تم Ø¥Ø¶Ø§ÙØ© Ø§Ù„ÙØ§ØµÙ„"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "أووبس?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "تم الإلصاق"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "تم ØØ°Ù المجلد"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "تم ØØ°Ù العلامة"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Ù…Ø±ØØ¨Ø§Ø¨ÙƒÙ… ÙÙŠ 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr "هنا"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr "ØªØµÙØ ..../4Pane/rc/"
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr "ØªØµÙØ ..../4Pane/bitmaps/"
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr "ØªØµÙØ ..../4Pane/doc/"
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "ت&شغيل برنامج"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "إذهب إلى مسار المنزل"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr "إذهب إلى مسارالوثائق"
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "إختصارات"
#: Configure.cpp:2041
msgid "Tools"
msgstr "أدوات"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "أض٠أداة"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "ØØ±Ø± أداة"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "ØØ°Ù اداة"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "أجهزة"
#: Configure.cpp:2052
msgid "Automount"
msgstr "ضم الألي"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "تركيب"
#: Configure.cpp:2056
msgid "Usb"
msgstr "Usb"
#: Configure.cpp:2058
msgid "Removable"
msgstr "جزء قابل للإزالة"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "غير قابل للتغيير"
#: Configure.cpp:2062
msgid "Advanced"
msgstr "متقدÙÙ…"
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr "متقدم غير قابل للإزالة"
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr "متقدم قابل للإزالة"
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr "lvm متقدم"
#: Configure.cpp:2072
msgid "The Display"
msgstr "العرض"
#: Configure.cpp:2074
msgid "Trees"
msgstr "الأشجار"
#: Configure.cpp:2076
msgid "Tree font"
msgstr "شجرة الخط"
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr "Ù…ØªÙØ±Ù‚ات"
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr "ØÙ‚يقي"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "Ù…ØØ§ÙƒÙŠ"
#: Configure.cpp:2088
msgid "The Network"
msgstr "الشبكة"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "منوعات"
#: Configure.cpp:2093
msgid "Numbers"
msgstr "أرقام"
#: Configure.cpp:2095
msgid "Times"
msgstr "الوقت"
#: Configure.cpp:2097
msgid "Superuser"
msgstr "المستخدم الخارق"
#: Configure.cpp:2099
msgid "Other"
msgstr "أخرى"
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr " أنقر عند الإنتهاء"
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr " ØØ±Ø± هذا الأمر"
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr "ØØ°Ù الامر \"%s\"?"
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "إختر ملÙ"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr "أجهزة الذاتية التركيب"
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr "تركيب الأجهزة"
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr "أجهزة Usb"
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr "أجهزة القابلة للإزالة"
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr "الاجهزة الثابتة"
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr "عرض"
#: Configure.cpp:2739
msgid "Display Trees"
msgstr "عرض الأشجار"
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr "عرض شجرة الخط"
#: Configure.cpp:2739
msgid "Display Misc"
msgstr "عرض Ù…ØªÙØ±Ù‚ات"
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr "طرÙية ØÙ‚يقية"
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr "Ù…ØØ§ÙƒÙŠ Ø§Ù„Ø·Ø±Ùية"
#: Configure.cpp:2740
msgid "Networks"
msgstr "شبكات"
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr "عدم ØªÙØ¹ÙŠÙ„ Ø§Ù„Ù…ØªÙØ±Ù‚ات"
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr "(تجاهل)"
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr "الخط المبدئي"
#: Configure.cpp:4036
msgid "Delete "
msgstr "ØØ°Ù"
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr "هل أنت متأكد؟"
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr "قائمة"
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr "عرض"
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr ""
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr "ÙØ´Ù„"
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr "ØªØØ°ÙŠØ±"
#: Devices.cpp:843
msgid "Floppy"
msgstr "Ù…ØØ±Ùƒ أقراص مرنة"
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr "png"
#: Devices.cpp:3449
msgid "xpm"
msgstr "xpm"
#: Devices.cpp:3449
msgid "bmp"
msgstr "bmp"
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr "إلغاء"
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr "إغلاق"
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr "الدليل"
#: Filetypes.cpp:353
msgid "FIFO"
msgstr "FIFO"
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr "مقبس"
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr "تطبيقات"
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr ""
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr " D H "
#: MyDirs.cpp:664
msgid " D "
msgstr " D "
#: MyDirs.cpp:672
msgid "Dir: "
msgstr "دليل:"
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr "أخرى ..."
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr " D F"
#: MyFiles.cpp:1044
msgid " R"
msgstr " R"
#: MyFiles.cpp:1045
msgid " H "
msgstr " H "
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr "ØªØØ°ÙŠØ±!"
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr "قص"
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr "نسخ"
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr "تراجع"
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr "تراجع عن الإجراء"
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr "لسان جديد"
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr "عَنْ"
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr "خطأ"
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr "تم بنجاØ"
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr "ØØ§Ø³ÙˆØ¨"
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr "Ø£Ùلغي"
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr "إجراء"
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr "اعرض"
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr "اخÙÙŠ"
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr "عناصر"
#: Tools.cpp:2880
msgid " item "
msgstr "عنصر"
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr "أول"
#: Tools.cpp:3267
msgid "other"
msgstr "أخرى"
#: Tools.cpp:3267
msgid "next"
msgstr "لاØÙ‚"
#: Tools.cpp:3267
msgid "last"
msgstr "أخير"
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr "ØØ°Ù"
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr "مل٠جديد"
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "مواÙÙ‚"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr "تغيير"
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr "استخدم القيمة البدئية"
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr "أضÙ"
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr " kdesu"
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr " gksu"
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr " gnomesu"
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr "أمر"
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr "Ø§Ù„ØØ§Ù„يّ"
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr "امسØ"
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr "mtab"
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr "fstab"
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr "لا شيء"
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr "الأجهزة المتنقلة USB"
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr "ثوان"
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr "إسم"
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "&ØØ¯Ø¯"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr "ØªØµÙØ"
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr "استخدام هذا الاسم وكلمة السر"
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr "اسم المستخدم"
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr "كلمة السر"
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr "أزل ضم القسم"
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr "هذه قائمة بالأقسام الموصولة من مل٠mtab"
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr "نقطة ضم هذا القسم"
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr "هذه نقطة ضم القسم Ø§Ù„Ù…ØØ¯Ø¯"
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr "أدخل مسار أو قائمة Ø§Ù„Ù…Ù„ÙØ§Øª Ù„Ù„Ø¨ØØ«\n(أو إستعمل ÙˆØ§ØØ¯ من الإختصارات)"
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr "تطابق كامل الكلمات Ùقط"
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr "-w تطابق كامل الكلمات Ùقط"
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr "-i تجاهل Ø§Ù„ØØ§Ù„Ø©"
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr "لا تهتم Ø¨Ø§Ù„Ø¨ØØ« داخل Ø§Ù„Ù…Ù„ÙØ§Øª الثنائية"
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr "-n Ù„ØÙ‚ يتطابق مع رقم-سطر"
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr "تجاهل Ø§Ù„Ù…Ù„ÙØ§Øª الثنائية"
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr "لا ØªØØ§ÙˆÙ„ Ø§Ù„Ø¨ØØ« ÙÙŠ أجهزة, fifos, sockets Ùˆ شبيهاتها"
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr "تجاهل أجهزة, fifos إلخ"
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr "ماذا ØªÙØ¹Ù„ مع المسارات؟"
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr "تطابق الأسماء"
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/pt_BR/ 0000755 0001750 0001750 00000000000 13130460751 011633 5 0000000 0000000 4pane-5.0/locale/pt_BR/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013421 5 0000000 0000000 4pane-5.0/locale/pt_BR/LC_MESSAGES/pt_BR.po 0000644 0001750 0001750 00000557335 13130150240 014715 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Fernando Henrique de Sousa , 2013
# Fernando Henrique de Sousa , 2012
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/davidgh/4Pane/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "Recortar"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "Copiar"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr "Enviar para Lixeira"
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "Excluir"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Excluir Permanentemente"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "Renomear"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "Duplicar"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "Propriedades"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "Abrir"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr "Abrir com"
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "Colar"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr "Criar um Hard-Link"
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr "Criar Simlink"
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr "Excluir aba"
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr "Renomear aba"
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "Desfazer"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr "Refazer"
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "Selecionar tudo"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "Novo arquivo ou pasta"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "Nova aba"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "Inserir aba"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "Duplicar esta aba"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr "Mostrar cabeçalho de aba mesmo quando apenas uma"
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr "Dar a todas as abas comprimento igual"
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr "Replicar no painel oposto"
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr "Inverter os painéis"
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr "Dividir os painéis verticalmente"
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr "Dividir os painéis horizontalmente"
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr "Reagrupar os painéis"
#: Accelerators.cpp:217
msgid "&Extension"
msgstr "Extensão"
#: Accelerators.cpp:217
msgid "&Size"
msgstr "Tamanho"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "Tempo"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "Permissões"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "Proprietário"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "Grupo"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "Link"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr "Mostrar todas as colunas"
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr "Ocultar todas as colunas"
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr "Salvar configurações de painel"
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr "Salvar configurações de painel ao sair"
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr "Salvar layout como modelo"
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr "Excluir um modelo"
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr "Recarregar a exibição"
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr "Abrir o terminal"
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr "Filtrar a exibição"
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr "Mostrar/ocultar pastas e arquivos ocultos"
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr "Adicionar aos favoritos"
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr "Gerenciar os favoritos"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr "Montar uma partição"
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr "Desmontar uma partição"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr "Montar uma imagem ISO"
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr "Montar uma exportação NFS"
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr "Montar um compartilhamento Samba"
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr "Exibir emulador de terminal"
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr "Exibir linha de comando"
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr "Ir para o arquivo selecionado"
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr "Esvaziar a lixeira"
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr "Excluir permanentemente arquivos excluidos"
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr "Extrair arquivo ou arquivo compactado(s)"
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr "Criar novo arquivo"
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr "Adicionar a um arquivo existente"
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr "Testar integridade de arquivo ou arquivo compactado"
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr "Compactar arquivos"
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr "Exibir tamanhos de pasta recursivos"
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr "Reter alvos de Symlinks relativos"
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr "Configurar 4pane"
#: Accelerators.cpp:228
msgid "E&xit"
msgstr "Sair"
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr "Ajuda contextual"
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr "Conteúdos da ajuda"
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr "Perguntas frequentes"
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr "Sobre 4Pane"
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr "Configurar atalhos"
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr "Ir para alvo Symlink"
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr "Ir para alvo Symlink definitivo"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr "Editar"
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr "Novo separador"
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr "Repetir programa anterior"
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr "Recorta a seleção atual"
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr "Copia a seleção atual"
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr "Enviar para a lixeira"
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr "Mata, mas pode ser ressucitável"
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr "Deleta com extremo preconceito"
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr "Colar os conteúdos da área de transferência"
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr "Criar um Hardlink dos conteúdos da área de transferência para aqui"
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr "Criar um Softlink dos conteúdos da área de transferência para aqui"
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr "Excluir a aba atualmente selecionada"
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr "Renomear a aba atualmente selecionada"
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr "Anexar uma nova aba"
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr "Inserir uma nova aba depois da atual"
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr "Ocultar o cabeçalho de uma aba solitária"
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr "Copiar o caminho deste lado para o painel oposto"
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr "Trocar o caminho de um lado com o outro"
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr "Salvar o layout de painéis dentro de cada aba"
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr "Sempre salvar o layout de painéis ao sair"
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr "Salvar essas abas como um padrão recarregável"
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr "Adicionar o item selecionado aos favoritos"
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr "Rearranjar, renomear ou deletar favoritos"
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr "Encontrar arquivo semelhante(s)"
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr "Procurar dentro de arquivos"
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr "Mostrar/ocultar emulador de terminal"
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr ""
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr "Não foi possÃvel carregar a configuração!?"
#: Accelerators.cpp:502
msgid "&File"
msgstr "Arquivo"
#: Accelerators.cpp:502
msgid "&Edit"
msgstr "Editar"
#: Accelerators.cpp:502
msgid "&View"
msgstr "Ver"
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr "Abas"
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr "Favoritos"
#: Accelerators.cpp:502
msgid "&Archive"
msgstr "Arquivo"
#: Accelerators.cpp:502
msgid "&Mount"
msgstr "Montar"
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr "Ferramentas"
#: Accelerators.cpp:502
msgid "&Options"
msgstr "Opções"
#: Accelerators.cpp:502
msgid "&Help"
msgstr "Ajuda"
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr "Colunas a exibir"
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr "Carregar um Modelo de Aba"
#: Accelerators.cpp:673
msgid "Action"
msgstr "Ação"
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr "Atalho"
#: Accelerators.cpp:675
msgid "Default"
msgstr "Padrão"
#: Accelerators.cpp:694
msgid "Extension"
msgstr "Extensão"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr "(Não)Mostrar coluna de Extensão de visualização de arquivos"
#: Accelerators.cpp:694
msgid "Size"
msgstr "Tamanho"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr "(Não)Mostrar coluna de Tamanho do arquivo"
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr "Tempo"
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr "(Não)Mostrar coluna Tempo do arquivo"
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr "Permissões"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr "(Não)Mostrar coluna de Permissões de arquivo"
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr "Proprietário"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr "(Não)Mostrar coluna de Proprietário do arquivo"
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr "Grupo"
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr "(Não)Mostrar coluna Grupo do arquivo"
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr "Link"
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr "(Não)Mostrar coluna Link do arquivo"
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr "Mostrar todas as colunas"
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr "Vizualização de arquivos: Mostrar todas colunas"
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr "Ocultar todas colunas"
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr "Vizualização de arquivos: Ocultar todas colunas"
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr "Favoritos: Editar"
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr "Favoritos: Novo separador"
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr "Descartar mudanças?"
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr "Tem certeza?"
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr "Digite a nova Etiqueta para mostrar para esse item do menu"
#: Accelerators.cpp:958
msgid "Change label"
msgstr "Mudar etiqueta"
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr "Parece que eu não consigo achar esse arquivo ou pasta.\nTente usar o botão Procurar."
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "Opa!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr "Escolha arquivo(s) e/ou pastas"
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr "Escolha a pasta onde quer armazenar o arquivo"
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr "Procure pelo arquivo ao qual Anexar"
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr "A pasta na qual você tentou criar o arquivo parece não existir.\nUsar a pasta atual?"
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr "O arquivo ao qual você quer anexar parece não existir.\nTentar novamente?"
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Opa"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr "Nenhum arquivo compactado relevante selecionado.\nTentar novamente?"
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr "Procurar pelo arquivo para Verificar"
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr "Escolher a pasta na qual Extrair o arquivo"
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr ""
#: Archive.cpp:1228
msgid "Compression failed"
msgstr ""
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr ""
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr "Descompactação falhou"
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr "Verificação falhou"
#: Archive.cpp:1242
msgid "Archive created"
msgstr ""
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr ""
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr ""
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr ""
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "Arquivo extraÃdo"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Extração falhou"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr "Para que pasta você gostaria de extrair esses arquivos?"
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr "Para que pasta você gostaria de extrair isso?"
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr "Extraindo do arquivo"
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr "Temo que você não tenha permissão para Criar essa pasta\n Tentar novamente?"
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr "Sem entrada!"
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr "Lamento, %s já existe\n Tentar novamente?"
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr "Temo que você não tenha permissão de escrita para essa pasta"
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr "Temo que você não tenha permissão de acessar os arquivos dessa pasta"
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr "Sem saÃda!"
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr "Por alguma razão, tentar criar uma pasta para receber uma cópia de segurança falhou. Lamento!"
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr "Lamento, o processo de cópia de segurança falhou"
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr "Lamento, falha ao remover os itens"
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Colar"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Mover"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr "Lamento, você precisa ser root para extrair caracteres ou bloquear dispositivos."
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr "Temo que sua biblioteca zlib está desatualizada demais para poder fazer isso :("
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr "Esse arquivo está compactado, mas não está num formato que permita olhar o seu conteúdo."
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "Lamento"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Pastas de favoritos"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Separador"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "Duplicado"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr "Movido"
#: Bookmarks.cpp:215
msgid "Copied"
msgstr "Copiado"
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr "Renomear pasta"
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr "Editar favorito"
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr "Novo separador"
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr "Nova pasta"
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr "Não foi possÃvel carregar a barra de menu!?"
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr "Menu não encontrado!?"
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr "Essa seção não existe no arquivo ini!?"
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr "Favoritos"
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr "Lamento, não consegui localizar esta pasta"
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr "Favorito adicionado"
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr "Descartar todas as mudanças?"
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr "Que etiqueta gostaria para a nova pasta?"
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr "Lamento, já existe uma pasta chamada %s\n Tentar novamente?"
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr "Pasta adicionada"
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr "Separador adicionado"
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr "Lamento, já existe uma pasta chamada %s\n Mudar o nome?"
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "Opa?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr "Que nome você gostaria de dar a essa pasta?"
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr "Que etiqueta você gostaria para a pasta?"
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "Colado"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr "Altere a etiqueta da pasta abaixo"
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr "Lamento, você não tem permissão de mover a pasta principal"
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr "Lamento, você não tem permissão de excluir a pasta principal"
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr "Tsk tsk!"
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr "Excluir a pasta %s e todos os seus conteúdos?"
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "Pasta excluida"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "Favorito excluido"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr "Bem vindo ao 4Pane."
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr "4Pane é um gerenciador de arquivos que tem como objetivo ser rápido e completo sem sobrecarga."
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr "Por favor, clique em Próximo para configurar o 4Pane para o seu sistema"
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr "Ou se já há um arquivo de configuração que você gostaria de copiar, clique"
#: Configure.cpp:69
msgid "Here"
msgstr "Aqui"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr "Recurso localizado com sucesso. Por favor, pressione Próximo"
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr "Eu dei uma olhada no seu sistema, e criei uma configuração que deve funcionar."
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr "Você pode fazer uma configuração bem mais completa a qualquer momento através do menu Opções > Configurar 4Pane."
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr "Ponha um atalho do 4Pane na Ãrea de Trabalho"
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr "Procure pelo arquivo de configuração a ser copiado"
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr "Temo que você não tenha permissão para Copiar esse arquivo.\nVocê quer tentar de novo?"
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr "Procure por ..../4Pane/rc/"
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr "Procure por ..../4Pane/bitmaps/"
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr "Procure por ..../4Pane/doc/"
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr "Executar um programa"
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr "Ir á pasta Home"
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr "Ir á pasta Documentos"
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr "Se você está vendo essa mensagem (e você não deveria), é porque o arquivo de configuração não pode ser salvo.\nAs razões menos improváveis seriam permissões incorretas ou uma partição de Somente Leitura."
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Atalhos"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Ferramentas"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "Adicionar ferramenta"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Editar ferramenta"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "Excluir ferramenta"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Dispositivos"
#: Configure.cpp:2052
msgid "Automount"
msgstr "Automontar"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "Montando"
#: Configure.cpp:2056
msgid "Usb"
msgstr "Usb"
#: Configure.cpp:2058
msgid "Removable"
msgstr "RemovÃvel"
#: Configure.cpp:2060
msgid "Fixed"
msgstr "Fixo"
#: Configure.cpp:2062
msgid "Advanced"
msgstr "Avançado"
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr "Avançado fixo"
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr "Avançado removÃvel"
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr "Avançado lvm"
#: Configure.cpp:2072
msgid "The Display"
msgstr "O mostrador"
#: Configure.cpp:2074
msgid "Trees"
msgstr "Ãrvores"
#: Configure.cpp:2076
msgid "Tree font"
msgstr "Fonte árvore"
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr "Misc"
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr "Terminais"
#: Configure.cpp:2083
msgid "Real"
msgstr "Real"
#: Configure.cpp:2085
msgid "Emulator"
msgstr "Emulador"
#: Configure.cpp:2088
msgid "The Network"
msgstr "A rede"
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr "Miscelânea"
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr ""
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr ""
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr ""
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr ""
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr ""
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr ""
#: Configure.cpp:4036
msgid "Delete "
msgstr ""
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr ""
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr ""
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr ""
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr ""
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr ""
#: Devices.cpp:843
msgid "Floppy"
msgstr ""
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr ""
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr ""
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr ""
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr ""
#: Filetypes.cpp:353
msgid "FIFO"
msgstr ""
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr ""
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr "Não consigo achar um programa executáver \"%s\" no caminho que você expecificou.\nContinuar mesmo assim?"
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr "Lamento, já existe um programa chamado %s\n Tentar novamente?"
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr "Por favor, confirme"
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr "Você não digitou uma extensão de arquivo!"
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr "Para que extensão(ões) você deseja que esse programa seja o padrão?"
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr "Para que extensões você quer que %s seja o padrão"
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr "Substituir %s\npor %s\ncomo comando padrão para arquivos do tipo %s?"
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr "Lamento, não pude achar o programa!?"
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr "Excluir %s?"
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr "Editar os dados do programa"
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr "Lamento, você não tem permissão para executar esse arquivo"
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr "Lamento, você não tem permissão para executar esse arquivo.\nGostaria de tentar lê-lo?"
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr "Parar de usar %s como o comando padrão para arquivos do tipo %s?"
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr "Mostrar oculto"
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr "Você não selecionou um ponto de montagem.\nTentar novamente?"
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr "O ponto de montagem para essa partição não existe. Deseja criá-lo?"
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr "Montado com sucesso em "
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr "ImpossÃvel criar pasta"
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr "Opa, falhei ao criar a pasta"
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr "Opa, eu não tenho permissão suficiente para criar a pasta"
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr "Desmontar root é uma má ideia séria demais!"
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr "Falhei ao desmontar "
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr " desmontado com sucesso"
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr "Opa, falhei em desmontar com sucesso devido ao erro "
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr "Opa, falhei ao desmontar"
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr "O ponto de montagem pedido não existe. Deseja criá-lo?"
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr "Opa, falhei em montar com sucesso\nTem certeza que o arquivo é uma imagem válida?"
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr "OK"
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr "Localizar"
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/Makefile.in 0000644 0001750 0001750 00000030034 13130150351 012602 0000000 0000000 # Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = locale
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/.build/4Pane.m4 \
$(top_srcdir)/.build/wxwin.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BZIP2_FLAGS = @BZIP2_FLAGS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
EXTRA_CPPFLAGS = @EXTRA_CPPFLAGS@
EXTRA_CXXFLAGS = @EXTRA_CXXFLAGS@
EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
GREP = @GREP@
GTKPKG_CFLAGS = @GTKPKG_CFLAGS@
GTKPKG_LDFLAGS = @GTKPKG_LDFLAGS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WX_CFLAGS = @WX_CFLAGS@
WX_CFLAGS_ONLY = @WX_CFLAGS_ONLY@
WX_CONFIG_PATH = @WX_CONFIG_PATH@
WX_CPPFLAGS = @WX_CPPFLAGS@
WX_CXXFLAGS = @WX_CXXFLAGS@
WX_CXXFLAGS_ONLY = @WX_CXXFLAGS_ONLY@
WX_DEBUG = @WX_DEBUG@
WX_LIBS = @WX_LIBS@
WX_LIBS_STATIC = @WX_LIBS_STATIC@
WX_PORT = @WX_PORT@
WX_RESCOMP = @WX_RESCOMP@
WX_SHARED = @WX_SHARED@
WX_UNICODE = @WX_UNICODE@
WX_VERSION = @WX_VERSION@
WX_VERSION_MAJOR = @WX_VERSION_MAJOR@
WX_VERSION_MICRO = @WX_VERSION_MICRO@
WX_VERSION_MINOR = @WX_VERSION_MINOR@
XTRLIBS = @XTRLIBS@
XZFLAGS = @XZFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign locale/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign locale/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-local
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
clean-local cscopelist-am ctags-am distclean distclean-generic \
distclean-local distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am
all-local: clean-local
@if ! test -f $(MSGFMT) ; then \
echo "msgfmt not found. You probably need to install the gettext package"; \
exit 1; \
else \
find $(srcdir) -path *LC_MESSAGES/*.po -execdir sh -c 'echo {} | cut -d/ -f2 | cut -d. -f1' \; | xargs -I {} -- sh -c '$(MKDIR_P) $(abs_builddir)/{}/LC_MESSAGES && $(MSGFMT) $(srcdir)/{}/LC_MESSAGES/{}.po -o $(abs_builddir)/{}/LC_MESSAGES/4Pane.mo' ; \
fi
distclean-local: clean-local
clean-local:
@`find $(builddir) -path *LC_MESSAGES/*.mo -execdir rm -f {} \;`
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
4pane-5.0/locale/et/ 0000755 0001750 0001750 00000000000 13130460751 011235 5 0000000 0000000 4pane-5.0/locale/et/LC_MESSAGES/ 0000755 0001750 0001750 00000000000 13130460752 013023 5 0000000 0000000 4pane-5.0/locale/et/LC_MESSAGES/et.po 0000644 0001750 0001750 00000540407 13130150240 013711 0000000 0000000 # 4Pane pot file
# Copyright (C) 2017 David Hart
# This file is distributed under the same license as the 4Pane package.
#
# Translators:
# Rivo Zängov , 2011
msgid ""
msgstr ""
"Project-Id-Version: 4Pane\n"
"Report-Msgid-Bugs-To: david@4Pane.co.uk\n"
"POT-Creation-Date: 2017-06-23 12:30+0100\n"
"PO-Revision-Date: 2017-06-23 12:23+0000\n"
"Last-Translator: DavidGH \n"
"Language-Team: Estonian (http://www.transifex.com/davidgh/4Pane/language/et/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
# Translators: You should probably not translate 'ctrl' etc
# in menu shortcuts, as apparently it stops them working
# e.g. in "Cut\tCtrl+X" just translate the "Cut"
#
# In MyDirs.cpp near line 660 and MyFiles.cpp near 1040:
# 'D' is the initial of Directory
# 'F' is the initial of File
# 'H' is the initial of Hidden
# 'R' is the initial of Recursive
#: Accelerators.cpp:123 configuredialogs.xrc:7613
msgid "Ctrl"
msgstr ""
#: Accelerators.cpp:124 configuredialogs.xrc:7620
msgid "Alt"
msgstr ""
#: Accelerators.cpp:125 configuredialogs.xrc:7606
msgid "Shift"
msgstr ""
#: Accelerators.cpp:213
msgid "C&ut"
msgstr "Lõika"
#: Accelerators.cpp:213
msgid "&Copy"
msgstr "Kopeeri"
#: Accelerators.cpp:213
msgid "Send to &Trash-can"
msgstr ""
#: Accelerators.cpp:213
msgid "De&lete"
msgstr "Kustuta"
#: Accelerators.cpp:213
msgid "Permanently Delete"
msgstr "Kustuta jäädavalt"
#: Accelerators.cpp:213
msgid "Rena&me"
msgstr "Ni&meta ümber"
#: Accelerators.cpp:213
msgid "&Duplicate"
msgstr "Loo koopia"
#: Accelerators.cpp:214
msgid "Prop&erties"
msgstr "Omadus&ed"
#: Accelerators.cpp:214
msgid "&Open"
msgstr "Ava"
#: Accelerators.cpp:214
msgid "Open &with..."
msgstr ""
#: Accelerators.cpp:214
msgid "&Paste"
msgstr "Aseta"
#: Accelerators.cpp:214
msgid "Make a &Hard-Link"
msgstr ""
#: Accelerators.cpp:214
msgid "Make a &Symlink"
msgstr ""
#: Accelerators.cpp:215
msgid "&Delete Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "&Rename Tab"
msgstr ""
#: Accelerators.cpp:215
msgid "Und&o"
msgstr "Tagasi"
#: Accelerators.cpp:215
msgid "&Redo"
msgstr ""
#: Accelerators.cpp:215
msgid "Select &All"
msgstr "Vali kõik"
#: Accelerators.cpp:215
msgid "&New File or Dir"
msgstr "Uus fail või kaust"
#: Accelerators.cpp:215
msgid "&New Tab"
msgstr "Uus kaart"
#: Accelerators.cpp:215
msgid "&Insert Tab"
msgstr "Sisesta kaart"
#: Accelerators.cpp:216
msgid "D&uplicate this Tab"
msgstr "Loo sellest kaardist koopia"
#: Accelerators.cpp:216
msgid "Show even single Tab &Head"
msgstr ""
#: Accelerators.cpp:216
msgid "Give all Tab Heads equal &Width"
msgstr ""
#: Accelerators.cpp:216
msgid "&Replicate in Opposite Pane"
msgstr ""
#: Accelerators.cpp:216
msgid "&Swap the Panes"
msgstr ""
#: Accelerators.cpp:216
msgid "Split Panes &Vertically"
msgstr ""
#: Accelerators.cpp:217
msgid "Split Panes &Horizontally"
msgstr ""
#: Accelerators.cpp:217
msgid "&Unsplit Panes"
msgstr ""
#: Accelerators.cpp:217
msgid "&Extension"
msgstr ""
#: Accelerators.cpp:217
msgid "&Size"
msgstr "&Suurus"
#: Accelerators.cpp:217
msgid "&Time"
msgstr "Kellaaeg"
#: Accelerators.cpp:217
msgid "&Permissions"
msgstr "Õigused"
#: Accelerators.cpp:218
msgid "&Owner"
msgstr "Omanik"
#: Accelerators.cpp:218
msgid "&Group"
msgstr "Grupp"
#: Accelerators.cpp:218
msgid "&Link"
msgstr "&Link"
#: Accelerators.cpp:218
msgid "Show &all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "&Unshow all columns"
msgstr ""
#: Accelerators.cpp:218
msgid "Save &Pane Settings"
msgstr ""
#: Accelerators.cpp:219
msgid "Save Pane Settings on &Exit"
msgstr ""
#: Accelerators.cpp:219
msgid "&Save Layout as Template"
msgstr ""
#: Accelerators.cpp:219
msgid "D&elete a Template"
msgstr ""
#: Accelerators.cpp:220
msgid "&Refresh the Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Launch &Terminal"
msgstr ""
#: Accelerators.cpp:220
msgid "&Filter Display"
msgstr ""
#: Accelerators.cpp:220
msgid "Show/Hide Hidden dirs and files"
msgstr ""
#: Accelerators.cpp:220
msgid "&Add To Bookmarks"
msgstr ""
#: Accelerators.cpp:220
msgid "&Manage Bookmarks"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "&Mount a Partition"
msgstr ""
#: Accelerators.cpp:222
msgid "&Unmount a Partition"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &ISO image"
msgstr ""
#: Accelerators.cpp:222 Accelerators.cpp:224
msgid "Mount an &NFS export"
msgstr ""
#: Accelerators.cpp:222
msgid "Mount a &Samba share"
msgstr ""
#: Accelerators.cpp:222
msgid "U&nmount a Network mount"
msgstr ""
#: Accelerators.cpp:224
msgid "&Unmount"
msgstr ""
#: Accelerators.cpp:224
msgid "Unused"
msgstr ""
#: Accelerators.cpp:226
msgid "Show &Terminal Emulator"
msgstr ""
#: Accelerators.cpp:226
msgid "Show Command-&line"
msgstr ""
#: Accelerators.cpp:226
msgid "&GoTo selected file"
msgstr ""
#: Accelerators.cpp:226
msgid "Empty the &Trash-can"
msgstr ""
#: Accelerators.cpp:226
msgid "Permanently &delete 'Deleted' files"
msgstr ""
#: Accelerators.cpp:227
msgid "E&xtract Archive or Compressed File(s)"
msgstr ""
#: Accelerators.cpp:227
msgid "Create a &New Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Add to an Existing Archive"
msgstr ""
#: Accelerators.cpp:227
msgid "&Test integrity of Archive or Compressed Files"
msgstr ""
#: Accelerators.cpp:227
msgid "&Compress Files"
msgstr ""
#: Accelerators.cpp:228
msgid "&Show Recursive dir sizes"
msgstr ""
#: Accelerators.cpp:228
msgid "&Retain relative Symlink Targets"
msgstr ""
#: Accelerators.cpp:228
msgid "&Configure 4Pane"
msgstr ""
#: Accelerators.cpp:228
msgid "E&xit"
msgstr ""
#: Accelerators.cpp:228
msgid "Context-sensitive Help"
msgstr ""
#: Accelerators.cpp:228
msgid "&Help Contents"
msgstr ""
#: Accelerators.cpp:228
msgid "&FAQ"
msgstr ""
#: Accelerators.cpp:228
msgid "&About 4Pane"
msgstr ""
#: Accelerators.cpp:228 Accelerators.cpp:602 Configure.cpp:2736
msgid "Configure Shortcuts"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Target"
msgstr ""
#: Accelerators.cpp:229
msgid "Go to Symlink Ultimate Target"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "Edit"
msgstr ""
#: Accelerators.cpp:229 Accelerators.cpp:697
msgid "New Separator"
msgstr ""
#: Accelerators.cpp:229 Tools.cpp:2919
msgid "Repeat Previous Program"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to opposite pane"
msgstr ""
#: Accelerators.cpp:229
msgid "Navigate to adjacent pane"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Panes"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the Command-line"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the toolbar Textcontrol"
msgstr ""
#: Accelerators.cpp:230
msgid "Switch to the previous window"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Previous Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Go to Next Tab"
msgstr ""
#: Accelerators.cpp:231
msgid "Paste as Director&y Template"
msgstr ""
#: Accelerators.cpp:231
msgid "&First dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Penultimate dot"
msgstr ""
#: Accelerators.cpp:231
msgid "&Last dot"
msgstr ""
#: Accelerators.cpp:232
msgid "Mount over Ssh using ssh&fs"
msgstr ""
#: Accelerators.cpp:232
msgid "Show &Previews"
msgstr ""
#: Accelerators.cpp:232
msgid "C&ancel Paste"
msgstr ""
#: Accelerators.cpp:232
msgid "Decimal-aware filename sort"
msgstr ""
#: Accelerators.cpp:267
msgid "Cuts the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Copies the current selection"
msgstr ""
#: Accelerators.cpp:267
msgid "Send to the Trashcan"
msgstr ""
#: Accelerators.cpp:267
msgid "Kill, but may be resuscitatable"
msgstr ""
#: Accelerators.cpp:267
msgid "Delete with extreme prejudice"
msgstr ""
#: Accelerators.cpp:268
msgid "Paste the contents of the Clipboard"
msgstr ""
#: Accelerators.cpp:268
msgid "Hardlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:268
msgid "Softlink the contents of the Clipboard to here"
msgstr ""
#: Accelerators.cpp:269
msgid "Delete the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Rename the currently-selected Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Append a new Tab"
msgstr ""
#: Accelerators.cpp:269
msgid "Insert a new Tab after the currently selected one"
msgstr ""
#: Accelerators.cpp:270
msgid "Hide the head of a solitary tab"
msgstr ""
#: Accelerators.cpp:270
msgid "Copy this side's path to the opposite pane"
msgstr ""
#: Accelerators.cpp:270
msgid "Swap one side's path with the other"
msgstr ""
#: Accelerators.cpp:272
msgid "Save the layout of panes within each tab"
msgstr ""
#: Accelerators.cpp:273
msgid "Always save the layout of panes on exit"
msgstr ""
#: Accelerators.cpp:273
msgid "Save these tabs as a reloadable template"
msgstr ""
#: Accelerators.cpp:274
msgid "Add the currently-selected item to your bookmarks"
msgstr ""
#: Accelerators.cpp:274
msgid "Rearrange, Rename or Delete bookmarks"
msgstr ""
#: Accelerators.cpp:276
msgid "Locate matching files. Much faster than 'find'"
msgstr ""
#: Accelerators.cpp:276
msgid "Find matching file(s)"
msgstr ""
#: Accelerators.cpp:276
msgid "Search Within Files"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Terminal Emulator"
msgstr ""
#: Accelerators.cpp:276
msgid "Show/Hide the Command-line"
msgstr ""
#: Accelerators.cpp:276
msgid "Empty 4Pane's in-house trash-can"
msgstr ""
#: Accelerators.cpp:276
msgid "Delete 4Pane's 'Deleted' folder"
msgstr ""
#: Accelerators.cpp:278
msgid "Whether to calculate dir sizes recursively in fileviews"
msgstr ""
#: Accelerators.cpp:278
msgid "On moving a relative symlink, keep its target the same"
msgstr ""
#: Accelerators.cpp:278
msgid "Close this program"
msgstr ""
#: Accelerators.cpp:281
msgid "Paste only the directory structure from the clipboard"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at first . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last or last-but-one . in the filename"
msgstr ""
#: Accelerators.cpp:281
msgid "An ext starts at last . in the filename"
msgstr ""
#: Accelerators.cpp:282
msgid "Show previews of image and text files"
msgstr ""
#: Accelerators.cpp:282
msgid "Cancel the current process"
msgstr ""
#: Accelerators.cpp:282
msgid "Should files like foo1, foo2 be in Decimal order"
msgstr ""
#: Accelerators.cpp:287
msgid ""
"\n"
"The arrays in ImplementDefaultShortcuts() aren't of equal size!"
msgstr ""
#: Accelerators.cpp:303
msgid "Toggle Fulltree mode"
msgstr ""
#: Accelerators.cpp:317 Archive.cpp:1400 Archive.cpp:1423 Archive.cpp:1450
#: Archive.cpp:1471 Bookmarks.cpp:432 Configure.cpp:1846 Devices.cpp:199
#: Filetypes.cpp:1067 MyFrame.cpp:1158 MyFrame.cpp:2493 MyFrame.cpp:2564
#: MyNotebook.cpp:140 MyNotebook.cpp:157 Tools.cpp:333 Tools.cpp:401
#: Tools.cpp:2249 Tools.cpp:2272 Tools.cpp:2936
msgid "Couldn't load configuration!?"
msgstr ""
#: Accelerators.cpp:502
msgid "&File"
msgstr ""
#: Accelerators.cpp:502
msgid "&Edit"
msgstr ""
#: Accelerators.cpp:502
msgid "&View"
msgstr ""
#: Accelerators.cpp:502
msgid "&Tabs"
msgstr ""
#: Accelerators.cpp:502
msgid "&Bookmarks"
msgstr ""
#: Accelerators.cpp:502
msgid "&Archive"
msgstr ""
#: Accelerators.cpp:502
msgid "&Mount"
msgstr ""
#: Accelerators.cpp:502
msgid "Too&ls"
msgstr ""
#: Accelerators.cpp:502
msgid "&Options"
msgstr ""
#: Accelerators.cpp:502
msgid "&Help"
msgstr ""
#: Accelerators.cpp:506
msgid "&Columns to Display"
msgstr ""
#: Accelerators.cpp:506
msgid "&Load a Tab Template"
msgstr ""
#: Accelerators.cpp:673
msgid "Action"
msgstr ""
#: Accelerators.cpp:674
msgid "Shortcut"
msgstr ""
#: Accelerators.cpp:675
msgid "Default"
msgstr ""
#: Accelerators.cpp:694
msgid "Extension"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Extension column"
msgstr ""
#: Accelerators.cpp:694
msgid "Size"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Size column"
msgstr ""
#: Accelerators.cpp:694 moredialogs.xrc:923
msgid "Time"
msgstr ""
#: Accelerators.cpp:694
msgid "(Un)Show fileview Time column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1831
msgid "Permissions"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Permissions column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1613
msgid "Owner"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Owner column"
msgstr ""
#: Accelerators.cpp:695 moredialogs.xrc:1636 moredialogs.xrc:1859
#: moredialogs.xrc:6551 moredialogs.xrc:7724 moredialogs.xrc:8913
msgid "Group"
msgstr ""
#: Accelerators.cpp:695
msgid "(Un)Show fileview Group column"
msgstr ""
#: Accelerators.cpp:696 Redo.h:173
msgid "Link"
msgstr ""
#: Accelerators.cpp:696
msgid "(Un)Show fileview Link column"
msgstr ""
#: Accelerators.cpp:696
msgid "Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Show all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Unshow all columns"
msgstr ""
#: Accelerators.cpp:696
msgid "Fileview: Unshow all columns"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: Edit"
msgstr ""
#: Accelerators.cpp:697
msgid "Bookmarks: New Separator"
msgstr ""
#: Accelerators.cpp:697
msgid "First dot"
msgstr ""
#: Accelerators.cpp:697
msgid "Extensions start at the First dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Penultimate dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Last dot"
msgstr ""
#: Accelerators.cpp:698
msgid "Extensions start at the Last dot"
msgstr ""
#: Accelerators.cpp:873
msgid "Lose changes?"
msgstr ""
#: Accelerators.cpp:873 Bookmarks.cpp:637 Bookmarks.cpp:1034
#: Bookmarks.cpp:1105 Configure.cpp:2389 Configure.cpp:2443 Configure.cpp:2506
#: Configure.cpp:2766 Configure.cpp:3562 Configure.cpp:4812 Devices.cpp:3233
#: Filetypes.cpp:1171 Filetypes.cpp:1213 Filetypes.cpp:1418 Filetypes.cpp:1563
#: Filetypes.cpp:1841 Filetypes.cpp:2135 Tools.cpp:1187 Tools.cpp:1697
msgid "Are you sure?"
msgstr ""
#: Accelerators.cpp:938 Accelerators.cpp:939
msgid "None"
msgstr ""
#: Accelerators.cpp:939
msgid "Same"
msgstr ""
#: Accelerators.cpp:958
msgid "Type in the new Label to show for this menu item"
msgstr ""
#: Accelerators.cpp:958
msgid "Change label"
msgstr ""
#: Accelerators.cpp:965
msgid ""
"Type in the Help string to show for this menu item\n"
"Cancel will Clear the string"
msgstr ""
#: Accelerators.cpp:965
msgid "Change Help String"
msgstr ""
#: Archive.cpp:119
msgid ""
"I can't seem to find this file or directory.\n"
"Try using the Browse button."
msgstr ""
#: Archive.cpp:119 ArchiveStream.cpp:458 ArchiveStream.cpp:725
#: ArchiveStream.cpp:730 Bookmarks.cpp:670 Configure.cpp:2355
#: Configure.cpp:2383 MyDirs.cpp:1213 MyDirs.cpp:1323 MyDirs.cpp:1392
#: MyDirs.cpp:1470 MyFiles.cpp:635 MyFiles.cpp:772 MyFiles.cpp:854
#: MyFiles.cpp:866 MyFiles.cpp:879 MyFiles.cpp:893 MyFiles.cpp:905
#: MyFiles.cpp:931
msgid "Oops!"
msgstr "Ups!"
#: Archive.cpp:132
msgid "Choose file(s) and/or directories"
msgstr "Vali fail(id) ja/või kaustad"
#: Archive.cpp:258
msgid "Choose the Directory in which to store the Archive"
msgstr ""
#: Archive.cpp:263
msgid "Browse for the Archive to which to Append"
msgstr ""
#: Archive.cpp:318
msgid ""
"The directory in which you want to create the archive doesn't seem to exist.\n"
"Use the current directory?"
msgstr ""
#: Archive.cpp:353
msgid ""
"The archive to which you want to append doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:1136 Archive.cpp:1142
msgid "Can't find a 7z binary on your system"
msgstr ""
#: Archive.cpp:394 Archive.cpp:404 Archive.cpp:407 Archive.cpp:996
#: Archive.cpp:1002 Archive.cpp:1005 Archive.cpp:1136 Archive.cpp:1142
#: Archive.cpp:1152 Bookmarks.cpp:859 Configure.cpp:4270 MyFiles.cpp:700
msgid "Oops"
msgstr "Ups"
#: Archive.cpp:407
msgid "Can't find a valid archive to which to append"
msgstr ""
#: Archive.cpp:706 Archive.cpp:1061
msgid ""
"No relevant compressed files were selected.\n"
"Try again?"
msgstr ""
#: Archive.cpp:821
msgid "Browse for the Archive to Verify"
msgstr ""
#: Archive.cpp:837
msgid "Choose the Directory in which to Extract the archive"
msgstr ""
#: Archive.cpp:926
msgid ""
"Failed to create the desired destination directory.\n"
"Try again?"
msgstr ""
#: Archive.cpp:996 Archive.cpp:1152
msgid "Can't find rpm2cpio on your system..."
msgstr ""
#: Archive.cpp:1002 Archive.cpp:1005
msgid "Can't find ar on your system..."
msgstr ""
#: Archive.cpp:1014
msgid ""
"Can't find a valid archive to extract.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1164
msgid ""
"Can't find a valid archive to verify.\n"
"Try again?"
msgstr ""
#: Archive.cpp:1228
msgid "File(s) compressed"
msgstr "Fail(id) on pakitud"
#: Archive.cpp:1228
msgid "Compression failed"
msgstr "Pakkimine ebaõnnestus"
#: Archive.cpp:1232
msgid "File(s) decompressed"
msgstr ""
#: Archive.cpp:1232
msgid "Decompression failed"
msgstr ""
#: Archive.cpp:1236
msgid "File(s) verified"
msgstr ""
#: Archive.cpp:1236 Archive.cpp:1256 Archive.cpp:1298
msgid "Verification failed"
msgstr ""
#: Archive.cpp:1242
msgid "Archive created"
msgstr "Arhiiv on loodud"
#: Archive.cpp:1242
msgid "Archive creation failed"
msgstr "Arhiivi loomine ebaõnnestus"
#: Archive.cpp:1247
msgid "File(s) added to Archive"
msgstr "Fail(id) on arhiivi lisatud"
#: Archive.cpp:1247
msgid "Archive addition failed"
msgstr "Arhiivi lisamine ebaõnnestus"
#: Archive.cpp:1252
msgid "Archive extracted"
msgstr "Arhiiv on lahti pakitud"
#: Archive.cpp:1252
msgid "Extraction failed"
msgstr "Lahtipakkimine ebaõnnestus"
#: Archive.cpp:1256
msgid "Archive verified"
msgstr ""
#: ArchiveStream.cpp:440
msgid "To which directory would you like these files extracted?"
msgstr ""
#: ArchiveStream.cpp:441
msgid "To which directory would you like this extracted?"
msgstr ""
#: ArchiveStream.cpp:442
msgid "Extracting from archive"
msgstr ""
#: ArchiveStream.cpp:449
msgid ""
"I'm afraid you don't have permission to Create in this directory\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:449 ArchiveStream.cpp:612 MyDirs.cpp:707 MyDirs.cpp:869
#: MyDirs.cpp:1018 MyDirs.cpp:1362 MyDirs.cpp:1870 MyFiles.cpp:559
#: MyFiles.cpp:652 MyFiles.cpp:760
msgid "No Entry!"
msgstr ""
#: ArchiveStream.cpp:457
#, c-format
msgid ""
"Sorry, %s already exists\n"
" Try again?"
msgstr ""
#: ArchiveStream.cpp:612 MyDirs.cpp:869 MyDirs.cpp:1870
msgid "I'm afraid you don't have Permission to write to this Directory"
msgstr ""
#: ArchiveStream.cpp:661 MyDirs.cpp:1876
msgid ""
"I'm afraid you don't have permission to access files from this Directory"
msgstr ""
#: ArchiveStream.cpp:661 Configure.cpp:188 MyDirs.cpp:881 MyDirs.cpp:886
#: MyDirs.cpp:1876
msgid "No Exit!"
msgstr ""
#: ArchiveStream.cpp:721
msgid ""
"For some reason, trying to create a dir to receive the backup failed. "
"Sorry!"
msgstr ""
#: ArchiveStream.cpp:725
msgid "Sorry, backing up failed"
msgstr ""
#: ArchiveStream.cpp:730
msgid "Sorry, removing items failed"
msgstr ""
#: ArchiveStream.cpp:764 ArchiveStream.cpp:900 MyFrame.cpp:745 Redo.h:150
#: Redo.h:316
msgid "Paste"
msgstr "Aseta"
#: ArchiveStream.cpp:894 ArchiveStream.cpp:900 Redo.h:124 Redo.h:352
#: Redo.h:373
msgid "Move"
msgstr "Liiguta"
#: ArchiveStream.cpp:1328
msgid "Sorry, you need to be root to extract character or block devices"
msgstr ""
#: ArchiveStream.cpp:1525
msgid "I'm afraid your zlib is too old to be able to do this :("
msgstr ""
#: ArchiveStream.cpp:1679 ArchiveStream.cpp:1690 ArchiveStream.cpp:1701
#: ArchiveStream.cpp:1712 ArchiveStream.cpp:1727
msgid "For some reason, the archive failed to open :("
msgstr ""
#: ArchiveStream.cpp:1719
msgid "I can't peek inside that sort of archive unless you install liblzma."
msgstr ""
#: ArchiveStream.cpp:1719
msgid "Missing library"
msgstr ""
#: ArchiveStream.cpp:1733 MyGenericDirCtrl.cpp:1760
msgid ""
"This file is compressed, but it's not an archive so you can't peek inside."
msgstr ""
#: ArchiveStream.cpp:1733 ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1760
#: MyGenericDirCtrl.cpp:1761
msgid "Sorry"
msgstr "Vabandust"
#: ArchiveStream.cpp:1734 MyGenericDirCtrl.cpp:1761
msgid "I'm afraid I can't peek inside that sort of archive."
msgstr ""
#: Bookmarks.cpp:113
msgid "Bookmark Folders"
msgstr "Järjehoidjate kaust"
#: Bookmarks.cpp:143 Bookmarks.cpp:231 Bookmarks.cpp:269 Bookmarks.cpp:722
#: Bookmarks.cpp:927 Bookmarks.cpp:932 Bookmarks.cpp:1011
msgid "Separator"
msgstr "Eraldaja"
#: Bookmarks.cpp:200 Bookmarks.cpp:942
msgid "Duplicated"
msgstr "Kopeeritud"
#: Bookmarks.cpp:204
msgid "Moved"
msgstr ""
#: Bookmarks.cpp:215
msgid "Copied"
msgstr ""
#: Bookmarks.cpp:233
msgid "Rename Folder"
msgstr ""
#: Bookmarks.cpp:234
msgid "Edit Bookmark"
msgstr ""
#: Bookmarks.cpp:236
msgid "NewSeparator"
msgstr ""
#: Bookmarks.cpp:237
msgid "NewFolder"
msgstr ""
#: Bookmarks.cpp:335 Bookmarks.cpp:440
msgid "Couldn't load Menubar!?"
msgstr ""
#: Bookmarks.cpp:343 Bookmarks.cpp:444
msgid "Couldn't find menu!?"
msgstr ""
#: Bookmarks.cpp:360
msgid "This Section doesn't exist in ini file!?"
msgstr ""
#: Bookmarks.cpp:367 Bookmarks.cpp:481 Bookmarks.cpp:494
msgid "Bookmarks"
msgstr ""
#: Bookmarks.cpp:514
msgid "Sorry, couldn't locate that folder"
msgstr ""
#: Bookmarks.cpp:525
msgid "Bookmark added"
msgstr ""
#: Bookmarks.cpp:637 Filetypes.cpp:1841
msgid "Lose all changes?"
msgstr ""
#: Bookmarks.cpp:660 Filetypes.cpp:1161
msgid "What Label would you like for the new Folder?"
msgstr ""
#: Bookmarks.cpp:669 Bookmarks.cpp:1033 Filetypes.cpp:1170
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Try again?"
msgstr ""
#: Bookmarks.cpp:705
msgid "Folder added"
msgstr ""
#: Bookmarks.cpp:743
msgid "Separator added"
msgstr ""
#: Bookmarks.cpp:841 Bookmarks.cpp:858
#, c-format
msgid ""
"Sorry, there is already a folder called %s\n"
" Change the name?"
msgstr ""
#: Bookmarks.cpp:842
msgid "Oops?"
msgstr "Ups?"
#: Bookmarks.cpp:847
msgid "What would you like to call the Folder?"
msgstr ""
#: Bookmarks.cpp:847
msgid "What Label would you like for the Folder?"
msgstr ""
#: Bookmarks.cpp:943
msgid "Pasted"
msgstr "Asetatud"
#: Bookmarks.cpp:1021
msgid "Alter the Folder Label below"
msgstr ""
#: Bookmarks.cpp:1096
msgid "Sorry, you're not allowed to move the main folder"
msgstr ""
#: Bookmarks.cpp:1097
msgid "Sorry, you're not allowed to delete the main folder"
msgstr ""
#: Bookmarks.cpp:1098
msgid "Tsk tsk!"
msgstr ""
#: Bookmarks.cpp:1104 Filetypes.cpp:1211
#, c-format
msgid "Delete folder %s and all its contents?"
msgstr ""
#: Bookmarks.cpp:1115
msgid "Folder deleted"
msgstr "Kaust on kustutatud"
#: Bookmarks.cpp:1126
msgid "Bookmark deleted"
msgstr "Järjehoidja on kustutatud"
#: Configure.cpp:52 Configure.cpp:54
msgid "Welcome to 4Pane."
msgstr ""
#: Configure.cpp:61
msgid ""
"4Pane is a File Manager that aims to be fast and full-featured without "
"bloat."
msgstr ""
#: Configure.cpp:64
msgid "Please click Next to configure 4Pane for your system."
msgstr ""
#: Configure.cpp:67
msgid ""
"Or if there's already a configuration file that you'd like to copy, click"
msgstr ""
#: Configure.cpp:69
msgid "Here"
msgstr "Siin"
#: Configure.cpp:88
msgid "Resources successfully located. Please press Next"
msgstr ""
#: Configure.cpp:108
msgid ""
"I've had a look around your system, and created a configuration that should "
"work."
msgstr ""
#: Configure.cpp:111
msgid ""
"You can do much fuller configuration at any time from Options > Configure "
"4Pane."
msgstr ""
#: Configure.cpp:120
msgid "Put a 4Pane shortcut on the desktop"
msgstr ""
#: Configure.cpp:158
msgid "&Next >"
msgstr ""
#: Configure.cpp:178
msgid "Browse for the Configuration file to copy"
msgstr ""
#: Configure.cpp:187
msgid ""
"I'm afraid you don't have permission to Copy this file.\n"
"Do you want to try again?"
msgstr ""
#: Configure.cpp:197
msgid ""
"This file doesn't seem to be a valid 4Pane configuration file.\n"
"Are you absolutely sure you want to use it?"
msgstr ""
#: Configure.cpp:198
msgid "Fake config file!"
msgstr ""
#: Configure.cpp:343
msgid ""
"Can't find 4Pane's resource files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:344
msgid "Eek! Can't find resources."
msgstr ""
#: Configure.cpp:352
msgid "Browse for ..../4Pane/rc/"
msgstr ""
#: Configure.cpp:360
msgid ""
"Can't find 4Pane's bitmaps. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:361
msgid "Eek! Can't find bitmaps."
msgstr ""
#: Configure.cpp:369
msgid "Browse for ..../4Pane/bitmaps/"
msgstr ""
#: Configure.cpp:377
msgid ""
"Can't find 4Pane's Help files. There must be something wrong with your installation. :(\n"
"Do you want to try to locate them manually?"
msgstr ""
#: Configure.cpp:378
msgid "Eek! Can't find Help files."
msgstr ""
#: Configure.cpp:386
msgid "Browse for ..../4Pane/doc/"
msgstr ""
#: Configure.cpp:1109
msgid "&Run a Program"
msgstr ""
#: Configure.cpp:1136
msgid "Install .deb(s) as root:"
msgstr ""
#: Configure.cpp:1140
msgid "Remove the named.deb as root:"
msgstr ""
#: Configure.cpp:1144
msgid "List files provided by a particular .deb"
msgstr ""
#: Configure.cpp:1149
msgid "List installed .debs matching the name:"
msgstr ""
#: Configure.cpp:1154
msgid "Show if the named .deb is installed:"
msgstr ""
#: Configure.cpp:1159
msgid "Show which package installed the selected file"
msgstr ""
#: Configure.cpp:1168
msgid "Install rpm(s) as root:"
msgstr ""
#: Configure.cpp:1172
msgid "Remove an rpm as root:"
msgstr ""
#: Configure.cpp:1176
msgid "Query the selected rpm"
msgstr ""
#: Configure.cpp:1181
msgid "List files provided by the selected rpm"
msgstr ""
#: Configure.cpp:1186
msgid "Query the named rpm"
msgstr ""
#: Configure.cpp:1191
msgid "List files provided by the named rpm"
msgstr ""
#: Configure.cpp:1200
msgid "Create a directory as root:"
msgstr ""
#: Configure.cpp:1631
msgid "Go to Home directory"
msgstr ""
#: Configure.cpp:1642
msgid "Go to Documents directory"
msgstr ""
#: Configure.cpp:1698
msgid ""
"If you are seeing this message (and you shouldn't!), it's because the configuration file couldn't be saved.\n"
"The least-unlikely reasons would be incorrect permissions or a Read Only partition."
msgstr ""
#: Configure.cpp:2038 moredialogs.xrc:292 moredialogs.xrc:3886
#: moredialogs.xrc:12331 moredialogs.xrc:12639
msgid "Shortcuts"
msgstr "Otseteed"
#: Configure.cpp:2041
msgid "Tools"
msgstr "Töövahendid"
#: Configure.cpp:2043
msgid "Add a tool"
msgstr "Lisa töövahend"
#: Configure.cpp:2045
msgid "Edit a tool"
msgstr "Muuda töövahendit"
#: Configure.cpp:2047
msgid "Delete a tool"
msgstr "Kustuta töövahend"
#: Configure.cpp:2050 Configure.cpp:2737
msgid "Devices"
msgstr "Seadmed"
#: Configure.cpp:2052
msgid "Automount"
msgstr "Automaatne ühendamine"
#: Configure.cpp:2054
msgid "Mounting"
msgstr "Ühendamine"
#: Configure.cpp:2056
msgid "Usb"
msgstr "USB"
#: Configure.cpp:2058
msgid "Removable"
msgstr "Eemaldatav"
#: Configure.cpp:2060
msgid "Fixed"
msgstr ""
#: Configure.cpp:2062
msgid "Advanced"
msgstr ""
#: Configure.cpp:2064
msgid "Advanced fixed"
msgstr ""
#: Configure.cpp:2066
msgid "Advanced removable"
msgstr ""
#: Configure.cpp:2068
msgid "Advanced lvm"
msgstr ""
#: Configure.cpp:2072
msgid "The Display"
msgstr ""
#: Configure.cpp:2074
msgid "Trees"
msgstr ""
#: Configure.cpp:2076
msgid "Tree font"
msgstr ""
#: Configure.cpp:2078 Configure.cpp:2741
msgid "Misc"
msgstr ""
#: Configure.cpp:2081 Configure.cpp:2740
msgid "Terminals"
msgstr ""
#: Configure.cpp:2083
msgid "Real"
msgstr ""
#: Configure.cpp:2085
msgid "Emulator"
msgstr ""
#: Configure.cpp:2088
msgid "The Network"
msgstr ""
#: Configure.cpp:2091
msgid "Miscellaneous"
msgstr ""
#: Configure.cpp:2093
msgid "Numbers"
msgstr ""
#: Configure.cpp:2095
msgid "Times"
msgstr ""
#: Configure.cpp:2097
msgid "Superuser"
msgstr ""
#: Configure.cpp:2099
msgid "Other"
msgstr ""
#: Configure.cpp:2308
msgid " Stop gtk2 grabbing the F10 key"
msgstr ""
#: Configure.cpp:2309
msgid ""
"If this is unticked, gtk2 grabs the F10 key-press, so you can't use it as a "
"shortcut (it's the default one for \"New file or dir\")."
msgstr ""
#: Configure.cpp:2341
msgid ""
"Sorry, there's no room for another submenu here\n"
"I suggest you try putting it elsewhere"
msgstr ""
#: Configure.cpp:2345
msgid "Enter the name of the new submenu to add to "
msgstr ""
#: Configure.cpp:2355
msgid ""
"Sorry, a menu with this name already exists\n"
" Try again?"
msgstr ""
#: Configure.cpp:2383
msgid "Sorry, you're not allowed to delete the root menu"
msgstr ""
#: Configure.cpp:2388
#, c-format
msgid "Delete menu \"%s\" and all its contents?"
msgstr ""
#: Configure.cpp:2441
#, c-format
msgid ""
"I can't find an executable command \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2442
#, c-format
msgid ""
"I can't find an executable command \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Configure.cpp:2471
msgid " Click when Finished "
msgstr ""
#: Configure.cpp:2477
msgid " Edit this Command "
msgstr ""
#: Configure.cpp:2505
#, c-format
msgid "Delete command \"%s\"?"
msgstr ""
#: Configure.cpp:2521 Filetypes.cpp:1745
msgid "Choose a file"
msgstr "Vali fail"
#: Configure.cpp:2736
msgid "User-defined tools"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Automounting"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Mount"
msgstr ""
#: Configure.cpp:2737
msgid "Devices Usb"
msgstr ""
#: Configure.cpp:2737
msgid "Removable Devices"
msgstr ""
#: Configure.cpp:2737
msgid "Fixed Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Fixed"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices Removable"
msgstr ""
#: Configure.cpp:2738
msgid "Advanced Devices LVM"
msgstr ""
#: Configure.cpp:2739
msgid "Display"
msgstr ""
#: Configure.cpp:2739
msgid "Display Trees"
msgstr ""
#: Configure.cpp:2739
msgid "Display Tree Font"
msgstr ""
#: Configure.cpp:2739
msgid "Display Misc"
msgstr ""
#: Configure.cpp:2740
msgid "Real Terminals"
msgstr ""
#: Configure.cpp:2740
msgid "Terminal Emulator"
msgstr ""
#: Configure.cpp:2740
msgid "Networks"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Undo"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Times"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Superuser"
msgstr ""
#: Configure.cpp:2741
msgid "Misc Other"
msgstr ""
#: Configure.cpp:2765
#, c-format
msgid ""
"There are unsaved changes on the \"%s\" page.\n"
" Really close?"
msgstr ""
#: Configure.cpp:2922
msgid "Selected tree Font"
msgstr ""
#: Configure.cpp:2924
msgid "Default tree Font"
msgstr ""
#: Configure.cpp:3501
msgid " (Ignored)"
msgstr ""
#: Configure.cpp:3562
msgid "Delete this Device?"
msgstr ""
#: Configure.cpp:3827
msgid "Selected terminal emulator Font"
msgstr ""
#: Configure.cpp:3829
msgid "Default Font"
msgstr ""
#: Configure.cpp:4036
msgid "Delete "
msgstr "Kustuta "
#: Configure.cpp:4036 MyDirs.cpp:1202 Redo.cpp:1365 Redo.cpp:1376
msgid "Are you SURE?"
msgstr ""
#: Configure.cpp:4047
msgid "That doesn't seem to be a valid ip address"
msgstr ""
#: Configure.cpp:4050
msgid "That server is already on the list"
msgstr ""
#: Configure.cpp:4217
msgid "Please enter the command to use, including any required options"
msgstr ""
#: Configure.cpp:4218
msgid "Command for a different gui su program"
msgstr ""
#: Configure.cpp:4270
msgid "Each metakey pattern must be unique. Try again?"
msgstr ""
#: Configure.cpp:4315
msgid "You chose not to export any data type! Aborting."
msgstr ""
#: Configure.cpp:4812
msgid "Delete this toolbar button?"
msgstr ""
#: Configure.cpp:4902
msgid "Browse for the Filepath to Add"
msgstr ""
#: Devices.cpp:221
msgid "Hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Floppy disc"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVDRom"
msgstr ""
#: Devices.cpp:221
msgid "CD or DVD writer"
msgstr ""
#: Devices.cpp:221
msgid "USB Pen"
msgstr ""
#: Devices.cpp:221
msgid "USB memory card"
msgstr ""
#: Devices.cpp:221
msgid "USB card-reader"
msgstr ""
#: Devices.cpp:221
msgid "USB hard drive"
msgstr ""
#: Devices.cpp:221
msgid "Unknown device"
msgstr ""
#: Devices.cpp:301
msgid " menu"
msgstr ""
#: Devices.cpp:305
msgid "&Display "
msgstr ""
#: Devices.cpp:306
msgid "&Undisplay "
msgstr ""
#: Devices.cpp:308
msgid "&Mount "
msgstr ""
#: Devices.cpp:308
msgid "&UnMount "
msgstr ""
#: Devices.cpp:344
msgid "Mount a DVD-&RAM"
msgstr ""
#: Devices.cpp:347
msgid "Display "
msgstr ""
#: Devices.cpp:348
msgid "UnMount DVD-&RAM"
msgstr ""
#: Devices.cpp:354
msgid "&Eject"
msgstr ""
#: Devices.cpp:451
msgid "Which mount do you wish to remove?"
msgstr ""
#: Devices.cpp:451
msgid "Unmount a DVD-RAM disc"
msgstr ""
#: Devices.cpp:529
msgid "Click or Drag here to invoke "
msgstr ""
#: Devices.cpp:581
msgid "I'm afraid you don't have permission to Read this file"
msgstr ""
#: Devices.cpp:581
msgid "Failed"
msgstr ""
#: Devices.cpp:591
msgid "file(s) couldn't be opened due to lack of Read permission"
msgstr ""
#: Devices.cpp:592
msgid "Warning"
msgstr ""
#: Devices.cpp:843
msgid "Floppy"
msgstr ""
#: Devices.cpp:1382
msgid ""
"Oops, that drive doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1394
msgid ""
"Oops, that partition doesn't seem to be available.\n"
"\n"
" Have a nice day!"
msgstr ""
#: Devices.cpp:1414
msgid "Sorry, you need to be root to unmount non-fstab partitions"
msgstr ""
#: Devices.cpp:1419
msgid "Sorry, failed to unmount"
msgstr ""
#: Devices.cpp:1434
msgid ""
"\n"
"(You'll need to su to root)"
msgstr ""
#: Devices.cpp:1435
msgid "The partition "
msgstr ""
#: Devices.cpp:1435
msgid ""
" doesn't have an fstab entry.\n"
"Where would you like to mount it?"
msgstr ""
#: Devices.cpp:1439
msgid "Mount a non-fstab partition"
msgstr ""
#: Devices.cpp:1446
msgid "The mount-point for this device doesn't exist. Create it?"
msgstr ""
#: Devices.cpp:1490 Mounts.cpp:142 Mounts.cpp:364
msgid "Sorry, you need to be root to mount non-fstab partitions"
msgstr ""
#: Devices.cpp:1497 Devices.cpp:1504 Mounts.cpp:373
msgid ""
"Oops, failed to mount successfully\n"
"There was a problem with /etc/mtab"
msgstr ""
#: Devices.cpp:1498 Devices.cpp:1505
msgid ""
"Oops, failed to mount successfully\n"
" Try inserting a functioning disc"
msgstr ""
#: Devices.cpp:1499 Devices.cpp:1506 Mounts.cpp:375 Mounts.cpp:476
#: Mounts.cpp:707
msgid "Oops, failed to mount successfully due to error "
msgstr ""
#: Devices.cpp:1502 Mounts.cpp:372 Mounts.cpp:474
msgid ""
"Oops, failed to mount successfully\n"
"Do you have permission to do this?"
msgstr ""
#: Devices.cpp:1644
msgid "I can't find the file with the list of partitions, "
msgstr ""
#: Devices.cpp:1644 Devices.cpp:2155
msgid ""
"\n"
"\n"
"You need to use Configure to sort things out"
msgstr ""
#: Devices.cpp:1662
msgid "File "
msgstr ""
#: Devices.cpp:2155
msgid "I can't find the file with the list of scsi entries, "
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "You must enter a valid command. Try again?"
msgstr ""
#: Devices.cpp:3176 Devices.cpp:3208
msgid "No app entered"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid ""
"That filepath doesn't seem currently to exist.\n"
" Use it anyway?"
msgstr ""
#: Devices.cpp:3182 Devices.cpp:3214
msgid "App not found"
msgstr ""
#: Devices.cpp:3233
msgid "Delete this Editor?"
msgstr ""
#: Devices.cpp:3449
msgid "png"
msgstr ""
#: Devices.cpp:3449
msgid "xpm"
msgstr ""
#: Devices.cpp:3449
msgid "bmp"
msgstr ""
#: Devices.cpp:3449 Devices.cpp:3451 dialogs.xrc:3787
msgid "Cancel"
msgstr ""
#: Devices.cpp:3450
msgid "Please select the correct icon-type"
msgstr ""
#: Dup.cpp:46
msgid "I'm afraid you don't have Read permission for the file"
msgstr ""
#: Dup.cpp:134
msgid ""
"There seems to be a problem: the destination directory doesn't exist! "
"Sorry."
msgstr ""
#: Dup.cpp:147 Dup.cpp:220
msgid ""
"There seems to be a problem: the incoming directory doesn't exist! Sorry."
msgstr ""
#: Dup.cpp:251
msgid "There's already a directory in the archive with the name "
msgstr ""
#: Dup.cpp:252
msgid ""
"\n"
"I suggest you rename either it, or the incoming directory"
msgstr ""
#: Dup.cpp:328
msgid ""
"For some reason, trying to create a dir to temporarily-save the overwritten "
"file failed. Sorry!"
msgstr ""
#: Dup.cpp:423
msgid "Both files have the same Modification time"
msgstr ""
#: Dup.cpp:429
msgid "The current file was modified on "
msgstr ""
#: Dup.cpp:430
msgid "The incoming file was modified on "
msgstr ""
#: Dup.cpp:451
msgid "You seem to want to overwrite this directory with itself"
msgstr ""
#: Dup.cpp:493
msgid "Sorry, that name is already taken. Please try again."
msgstr ""
#: Dup.cpp:496 MyFiles.cpp:678
msgid "No, the idea is that you CHANGE the name"
msgstr ""
#: Dup.cpp:520
msgid "Sorry, I couldn't duplicate the file. A permissions problem maybe?"
msgstr ""
#: Dup.cpp:552
msgid ""
"Sorry, I couldn't make room for the incoming directory. A permissions "
"problem maybe?"
msgstr ""
#: Dup.cpp:555
msgid "Sorry, an implausible filesystem error occurred :-("
msgstr ""
#: Dup.cpp:603
msgid "Symlink Deletion Failed!?!"
msgstr ""
#: Dup.cpp:618
msgid "Multiple Duplicate"
msgstr ""
#: Dup.cpp:668
msgid "Confirm Duplication"
msgstr ""
#: Dup.cpp:922 Tools.cpp:1815 Tools.cpp:2109
msgid "RegEx Help"
msgstr ""
#: ExecuteInDialog.cpp:70
msgid "Success\n"
msgstr ""
#: ExecuteInDialog.cpp:72
msgid "Process failed\n"
msgstr ""
#: ExecuteInDialog.cpp:90 Tools.cpp:194
msgid "Process successfully aborted\n"
msgstr ""
#: ExecuteInDialog.cpp:95 Tools.cpp:197
msgid ""
"SIGTERM failed\n"
"Trying SIGKILL\n"
msgstr ""
#: ExecuteInDialog.cpp:98 Tools.cpp:201
msgid "Process successfully killed\n"
msgstr ""
#: ExecuteInDialog.cpp:103 Tools.cpp:204
msgid "Sorry, Cancel failed\n"
msgstr ""
#: ExecuteInDialog.cpp:130
#, c-format
msgid "Execution of '%s' failed."
msgstr ""
#: ExecuteInDialog.cpp:188
msgid "Close"
msgstr ""
#: Filetypes.cpp:346
msgid "Regular File"
msgstr ""
#: Filetypes.cpp:347
msgid "Symbolic Link"
msgstr ""
#: Filetypes.cpp:348
msgid "Broken Symbolic Link"
msgstr ""
#: Filetypes.cpp:350
msgid "Character Device"
msgstr ""
#: Filetypes.cpp:351
msgid "Block Device"
msgstr ""
#: Filetypes.cpp:352 moredialogs.xrc:1530
msgid "Directory"
msgstr ""
#: Filetypes.cpp:353
msgid "FIFO"
msgstr ""
#: Filetypes.cpp:354 moredialogs.xrc:1534
msgid "Socket"
msgstr ""
#: Filetypes.cpp:355
msgid "Unknown Type?!"
msgstr ""
#: Filetypes.cpp:959
msgid "Applications"
msgstr ""
#: Filetypes.cpp:1204
msgid "Sorry, you're not allowed to delete the root folder"
msgstr ""
#: Filetypes.cpp:1205
msgid "Sigh!"
msgstr ""
#: Filetypes.cpp:1212
#, c-format
msgid "Delete folder %s?"
msgstr ""
#: Filetypes.cpp:1224
msgid "Sorry, I couldn't find that folder!?"
msgstr ""
#: Filetypes.cpp:1277
#, c-format
msgid ""
"I can't find an executable program \"%s\".\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1278
#, c-format
msgid ""
"I can't find an executable program \"%s\" in your PATH.\n"
"Continue anyway?"
msgstr ""
#: Filetypes.cpp:1285 Filetypes.cpp:1671
#, c-format
msgid ""
"Sorry, there is already an application called %s\n"
" Try again?"
msgstr ""
#: Filetypes.cpp:1316
msgid "Please confirm"
msgstr ""
#: Filetypes.cpp:1318
msgid "You didn't enter an Extension!"
msgstr ""
#: Filetypes.cpp:1319
msgid "For which extension(s) do you wish this application to be the default?"
msgstr ""
#: Filetypes.cpp:1367
#, c-format
msgid "For which Extensions do you want %s to be default"
msgstr ""
#: Filetypes.cpp:1399
#, c-format
msgid ""
"Replace %s\n"
"with %s\n"
"as the default command for files of type %s?"
msgstr ""
#: Filetypes.cpp:1560 Filetypes.cpp:1609
msgid "Sorry, I couldn't find the application!?"
msgstr ""
#: Filetypes.cpp:1562
#, c-format
msgid "Delete %s?"
msgstr ""
#: Filetypes.cpp:1620
msgid "Edit the Application data"
msgstr ""
#: Filetypes.cpp:1931
msgid "Sorry, you don't have permission to execute this file."
msgstr ""
#: Filetypes.cpp:1933
msgid ""
"Sorry, you don't have permission to execute this file.\n"
"Would you like to try to Read it?"
msgstr ""
#: Filetypes.cpp:2134
#, c-format
msgid "No longer use %s as the default command for files of type %s?"
msgstr ""
#: Misc.cpp:244
msgid "Failed to create a temporary directory"
msgstr ""
#: Misc.cpp:481
msgid "Show Hidden"
msgstr ""
#: Misc.cpp:1289 MyDirs.cpp:1121 MyDirs.cpp:1296
msgid "cut"
msgstr ""
#: Misc.cpp:1294 Misc.cpp:1296
#, c-format
msgid "%zu items "
msgstr ""
#: Mounts.cpp:74
msgid ""
"You haven't entered a mount-point.\n"
"Try again?"
msgstr ""
#: Mounts.cpp:115
msgid "The mount-point for this partition doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:167
msgid "Oops, failed to mount the partition."
msgstr ""
#: Mounts.cpp:170 Mounts.cpp:218 Mounts.cpp:279
msgid " The error message was:"
msgstr ""
#: Mounts.cpp:180 Mounts.cpp:395 Mounts.cpp:504 Mounts.cpp:571 Mounts.cpp:595
#: Mounts.cpp:698
msgid "Mounted successfully on "
msgstr ""
#: Mounts.cpp:187
msgid "Impossible to create directory "
msgstr ""
#: Mounts.cpp:198
msgid "Oops, failed to create the directory"
msgstr ""
#: Mounts.cpp:212
msgid "Oops, I don't have enough permission to create the directory"
msgstr ""
#: Mounts.cpp:215
msgid "Oops, failed to create the directory."
msgstr ""
#: Mounts.cpp:245 Mounts.cpp:748
msgid "Unmounting root is a SERIOUSLY bad idea!"
msgstr ""
#: Mounts.cpp:276
msgid "Oops, failed to unmount the partition."
msgstr ""
#: Mounts.cpp:287 Mounts.cpp:299
msgid "Failed to unmount "
msgstr ""
#: Mounts.cpp:290 Mounts.cpp:314 Mounts.cpp:755 Mounts.cpp:806
msgid " unmounted successfully"
msgstr ""
#: Mounts.cpp:293 Mounts.cpp:310
msgid "Oops, failed to unmount successfully due to error "
msgstr ""
#: Mounts.cpp:295 Mounts.cpp:798
msgid "Oops, failed to unmount"
msgstr ""
#: Mounts.cpp:336
msgid "The requested mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:374
msgid ""
"Oops, failed to mount successfully\n"
"Are you sure the file is a valid Image?"
msgstr ""
#: Mounts.cpp:387 Mounts.cpp:495 Mounts.cpp:496
msgid "Failed to mount successfully due to error "
msgstr ""
#: Mounts.cpp:388
msgid "Failed to mount successfully"
msgstr ""
#: Mounts.cpp:415 Mounts.cpp:417
msgid "This export is already mounted at "
msgstr ""
#: Mounts.cpp:438
msgid "The mount-point for this Export doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:450 Mounts.cpp:652 Mounts.cpp:665
msgid "The mount-point for this share doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:466
msgid "Sorry, you need to be root to mount non-fstab exports"
msgstr ""
#: Mounts.cpp:475
msgid ""
"Oops, failed to mount successfully\n"
"Is NFS running?"
msgstr ""
#: Mounts.cpp:524
msgid "The selected mount-point doesn't exist. Create it?"
msgstr ""
#: Mounts.cpp:535
msgid "The selected mount-point isn't a directory"
msgstr ""
#: Mounts.cpp:536
msgid "The selected mount-point can't be accessed"
msgstr ""
#: Mounts.cpp:538
msgid "The selected mount-point is not empty. Try to mount there anyway?"
msgstr ""
#: Mounts.cpp:577
msgid "Failed to mount over ssh. The error message was:"
msgstr ""
#: Mounts.cpp:580
msgid "Failed to mount over ssh due to error "
msgstr ""
#: Mounts.cpp:602
#, c-format
msgid "Failed to mount over ssh on %s"
msgstr ""
#: Mounts.cpp:624
msgid "This share is already mounted at "
msgstr ""
#: Mounts.cpp:626
#, c-format
msgid ""
"This share is already mounted at %s\n"
"Do you want to mount it at %s too?"
msgstr ""
#: Mounts.cpp:688
msgid "Sorry, you need to be root to mount non-fstab shares"
msgstr ""
#: Mounts.cpp:704
msgid "Oops, failed to mount successfully. The error message was:"
msgstr ""
#: Mounts.cpp:734
msgid "No Mounts of this type found"
msgstr ""
#: Mounts.cpp:738
msgid "Unmount a Network mount"
msgstr ""
#: Mounts.cpp:739
msgid "Share or Export to Unmount"
msgstr ""
#: Mounts.cpp:740 moredialogs.xrc:10531 moredialogs.xrc:11066
#: moredialogs.xrc:11585
msgid "Mount-Point"
msgstr ""
#: Mounts.cpp:767
msgid " Unmounted successfully"
msgstr ""
#: Mounts.cpp:795
msgid "Unmount failed with the message:"
msgstr ""
#: Mounts.cpp:870
msgid "Choose a Directory to use as a Mount-point"
msgstr ""
#: Mounts.cpp:941
msgid "Choose an Image to Mount"
msgstr ""
#: Mounts.cpp:1256
msgid ""
"I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1277
msgid ""
"I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1286
msgid ""
"I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1290
msgid "Searching for samba shares..."
msgstr ""
#: Mounts.cpp:1314
msgid ""
"I can't find an active samba server.\n"
"If you know of one, please tell me its address e.g. 192.168.0.3"
msgstr ""
#: Mounts.cpp:1315
msgid "No server found"
msgstr ""
#: Mounts.cpp:1444
msgid ""
"I'm afraid I can't find the showmount utility. Please use Configure > "
"Network to enter its filepath"
msgstr ""
#: Mounts.cpp:1513
msgid ""
"I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\n"
"Alternatively there may be a PATH or permissions problem"
msgstr ""
#: Mounts.cpp:1554
msgid ""
"I don't know of any NFS servers on your network.\n"
"Do you want to continue, and write some in yourself?"
msgstr ""
#: Mounts.cpp:1555
msgid "No current mounts found"
msgstr ""
#: MyDirs.cpp:118
msgid "You can't link within a directory unless you alter the link's name."
msgstr ""
#: MyDirs.cpp:118
msgid "Not possible"
msgstr ""
#: MyDirs.cpp:467
msgid "Back to previous directory"
msgstr ""
#: MyDirs.cpp:470
msgid "Re-enter directory"
msgstr ""
#: MyDirs.cpp:474 MyDirs.cpp:475
msgid "Select previously-visited directory"
msgstr ""
#: MyDirs.cpp:480
msgid "Show Full Tree"
msgstr ""
#: MyDirs.cpp:481
msgid "Up to Higher Directory"
msgstr ""
#: MyDirs.cpp:495 moredialogs.xrc:319 moredialogs.xrc:3907
#: moredialogs.xrc:12352 moredialogs.xrc:12660
msgid "Home"
msgstr ""
#: MyDirs.cpp:499
msgid "Documents"
msgstr ""
#: MyDirs.cpp:641
msgid "Hmm. It seems that directory no longer exists!"
msgstr ""
#: MyDirs.cpp:664
msgid " D H "
msgstr ""
#: MyDirs.cpp:664
msgid " D "
msgstr ""
#: MyDirs.cpp:672
msgid "Dir: "
msgstr ""
#: MyDirs.cpp:673
msgid "Files, total size"
msgstr ""
#: MyDirs.cpp:674
msgid "Subdirectories"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "Please try again in a moment"
msgstr ""
#: MyDirs.cpp:681 MyDirs.cpp:808 MyDirs.cpp:819 MyDirs.cpp:1763
#: MyFrame.cpp:1188 MyFrame.cpp:1196 MyFrame.cpp:1204 MyFrame.cpp:1212
#: MyFrame.cpp:1220 MyFrame.cpp:1235 MyFrame.cpp:1292
msgid "I'm busy right now"
msgstr ""
#: MyDirs.cpp:705
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you could create the new element outside, then Move it in."
msgstr ""
#: MyDirs.cpp:706 MyFiles.cpp:558
msgid "I'm afraid you don't have permission to Create in this directory"
msgstr ""
#: MyDirs.cpp:764
msgid "&Hide hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:764
msgid "&Show hidden dirs and files\tCtrl+H"
msgstr ""
#: MyDirs.cpp:846 MyDirs.cpp:852 MyDirs.cpp:932
msgid "moved"
msgstr ""
#: MyDirs.cpp:880
msgid ""
"I'm afraid you don't have the right permissions to make this Move.\n"
"Do you want to try to Copy instead?"
msgstr ""
#: MyDirs.cpp:886
msgid "I'm afraid you don't have the right permissions to make this Move"
msgstr ""
#: MyDirs.cpp:1016
msgid ""
"I'm afraid you can't create links inside an archive.\n"
"However you could create the new link outside, then Move it in."
msgstr ""
#: MyDirs.cpp:1017
msgid "I'm afraid you don't have permission to create links in this directory"
msgstr ""
#: MyDirs.cpp:1033
#, c-format
msgid "Create a new %s Link from:"
msgstr ""
#: MyDirs.cpp:1033
msgid "Hard"
msgstr ""
#: MyDirs.cpp:1033
msgid "Soft"
msgstr ""
#: MyDirs.cpp:1065
msgid "Please provide an extension to append"
msgstr ""
#: MyDirs.cpp:1071
msgid "Please provide a name to call the link"
msgstr ""
#: MyDirs.cpp:1075
msgid "Please provide a different name for the link"
msgstr ""
#: MyDirs.cpp:1112
msgid "linked"
msgstr ""
#: MyDirs.cpp:1122
msgid "trashed"
msgstr ""
#: MyDirs.cpp:1122 MyDirs.cpp:1296
msgid "deleted"
msgstr ""
#: MyDirs.cpp:1135 MyDirs.cpp:1362
msgid "I'm afraid you don't have permission to Delete from this directory"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "At least one of the items to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1149 MyDirs.cpp:1352
msgid "The item to be deleted seems not to exist"
msgstr ""
#: MyDirs.cpp:1150 MyDirs.cpp:1353
msgid "Item not found"
msgstr ""
#: MyDirs.cpp:1162
msgid "I'm afraid you don't have permission to move these items to a 'can'."
msgstr ""
#: MyDirs.cpp:1162 MyDirs.cpp:1170
msgid ""
"\n"
"However you could 'Permanently delete' them."
msgstr ""
#: MyDirs.cpp:1163 MyDirs.cpp:1171
#, c-format
msgid "I'm afraid you don't have permission to move %s to a 'can'."
msgstr ""
#: MyDirs.cpp:1164 MyDirs.cpp:1172
msgid ""
"\n"
"However you could 'Permanently delete' it."
msgstr ""
#: MyDirs.cpp:1169
#, c-format
msgid ""
"I'm afraid you don't have permission to move %u of these %u items to a "
"'can'."
msgstr ""
#: MyDirs.cpp:1173
msgid ""
"\n"
"\n"
"Do you wish to delete the other item(s)?"
msgstr ""
#: MyDirs.cpp:1186
msgid "Discard to Trash: "
msgstr ""
#: MyDirs.cpp:1187
msgid "Delete: "
msgstr ""
#: MyDirs.cpp:1195 MyDirs.cpp:1377
#, c-format
msgid "%zu items, from: "
msgstr ""
#: MyDirs.cpp:1198 MyDirs.cpp:1380
msgid ""
"\n"
"\n"
" To:\n"
msgstr ""
#: MyDirs.cpp:1208
msgid ""
"For some reason, trying to create a dir to receive the deletion failed. "
"Sorry!"
msgstr ""
#: MyDirs.cpp:1213 MyDirs.cpp:1392
msgid "Sorry, Deletion failed"
msgstr ""
#: MyDirs.cpp:1305 MyDirs.cpp:1452
msgid ""
" You don't have permission to Delete from this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1306 MyDirs.cpp:1453
msgid ""
" You don't have permission to Delete from a subdirectory of this directory.\n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1307 MyDirs.cpp:1454
msgid " The filepath was invalid."
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1311 MyDirs.cpp:1312 MyDirs.cpp:1457
#: MyDirs.cpp:1458 MyDirs.cpp:1459
msgid "For "
msgstr ""
#: MyDirs.cpp:1310 MyDirs.cpp:1457
msgid ""
" of the items, you don't have permission to Delete from this directory."
msgstr ""
#: MyDirs.cpp:1311 MyDirs.cpp:1458
msgid ""
" of the items, you don't have permission to Delete from a subdirectory of "
"this directory."
msgstr ""
#: MyDirs.cpp:1312 MyDirs.cpp:1459
msgid " of the items, the filepath was invalid."
msgstr ""
#: MyDirs.cpp:1314 MyDirs.cpp:1461
msgid ""
" \n"
"You could try deleting piecemeal."
msgstr ""
#: MyDirs.cpp:1317 MyDirs.cpp:1464
msgid "I'm afraid the item couldn't be deleted."
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid "I'm afraid "
msgstr ""
#: MyDirs.cpp:1318 MyDirs.cpp:1465
msgid " items could not be deleted."
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid "I'm afraid only "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " of the "
msgstr ""
#: MyDirs.cpp:1321 MyDirs.cpp:1468
msgid " items could be deleted."
msgstr ""
#: MyDirs.cpp:1326
msgid "Cut failed"
msgstr ""
#: MyDirs.cpp:1326 MyDirs.cpp:1473
msgid "Deletion failed"
msgstr ""
#: MyDirs.cpp:1384
msgid "Permanently delete (you can't undo this!): "
msgstr ""
#: MyDirs.cpp:1385
msgid "Are you ABSOLUTELY sure?"
msgstr ""
#: MyDirs.cpp:1398 MyDirs.cpp:1475
msgid "irrevocably deleted"
msgstr ""
#: MyDirs.cpp:1494 MyDirs.cpp:1500
msgid "Deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1498
msgid "? Never heard of it!"
msgstr ""
#: MyDirs.cpp:1517
msgid "Directory deletion Failed!?!"
msgstr ""
#: MyDirs.cpp:1530
msgid "The File seems not to exist!?!"
msgstr ""
#: MyDirs.cpp:1757
msgid "copied"
msgstr ""
#: MyDirs.cpp:1843 MyDirs.cpp:1851 MyDirs.cpp:1930
msgid "Directory skeleton pasted"
msgstr ""
#: MyDirs.cpp:1844 MyDirs.cpp:1852 MyDirs.cpp:1921
msgid "pasted"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a S&ymlink"
msgstr ""
#: MyFiles.cpp:371
msgid "Make a Hard-Lin&k"
msgstr ""
#: MyFiles.cpp:379
msgid "Extract from archive"
msgstr ""
#: MyFiles.cpp:380
msgid "De&lete from archive"
msgstr ""
#: MyFiles.cpp:382
msgid "Rena&me Dir within archive"
msgstr ""
#: MyFiles.cpp:383
msgid "Duplicate Dir within archive"
msgstr ""
#: MyFiles.cpp:386
msgid "Rena&me File within archive"
msgstr ""
#: MyFiles.cpp:387
msgid "Duplicate File within archive"
msgstr ""
#: MyFiles.cpp:395
msgid "De&lete Dir"
msgstr ""
#: MyFiles.cpp:395
msgid "Send Dir to &Trashcan"
msgstr ""
#: MyFiles.cpp:396
msgid "De&lete Symlink"
msgstr ""
#: MyFiles.cpp:396
msgid "Send Symlink to &Trashcan"
msgstr ""
#: MyFiles.cpp:397
msgid "De&lete File"
msgstr ""
#: MyFiles.cpp:397
msgid "Send File to &Trashcan"
msgstr ""
#: MyFiles.cpp:419 MyFiles.cpp:433
msgid "Other . . ."
msgstr ""
#: MyFiles.cpp:420
msgid "Open using root privile&ges with . . . . "
msgstr ""
#: MyFiles.cpp:423
msgid "Open using root privile&ges"
msgstr ""
#: MyFiles.cpp:434
msgid "Open &with . . . . "
msgstr ""
#: MyFiles.cpp:445
msgid "Rena&me Dir"
msgstr ""
#: MyFiles.cpp:446
msgid "&Duplicate Dir"
msgstr ""
#: MyFiles.cpp:449
msgid "Rena&me File"
msgstr ""
#: MyFiles.cpp:450
msgid "&Duplicate File"
msgstr ""
#: MyFiles.cpp:466
msgid "Create a New Archive"
msgstr ""
#: MyFiles.cpp:467
msgid "Add to an Existing Archive"
msgstr ""
#: MyFiles.cpp:468
msgid "Test integrity of Archive or Compressed Files"
msgstr ""
#: MyFiles.cpp:469
msgid "Compress Files"
msgstr ""
#: MyFiles.cpp:475
msgid "&Hide hidden dirs and files"
msgstr ""
#: MyFiles.cpp:477
msgid "&Show hidden dirs and files"
msgstr ""
#: MyFiles.cpp:480
msgid "&Sort filenames ending in digits normally"
msgstr ""
#: MyFiles.cpp:482
msgid "&Sort filenames ending in digits in Decimal order"
msgstr ""
#: MyFiles.cpp:498 MyTreeCtrl.cpp:867
msgid "An extension starts at the filename's..."
msgstr ""
#: MyFiles.cpp:504 MyTreeCtrl.cpp:872
msgid "Extension definition..."
msgstr ""
#: MyFiles.cpp:506
msgid "Columns to Display"
msgstr ""
#: MyFiles.cpp:510
msgid "Unsplit Panes"
msgstr ""
#: MyFiles.cpp:510
msgid "Repl&icate in Opposite Pane"
msgstr ""
#: MyFiles.cpp:510
msgid "Swap the Panes"
msgstr ""
#: MyFiles.cpp:557
msgid ""
"I'm afraid you can't Create inside an archive.\n"
"However you can create the new element outside, then Move it in."
msgstr ""
#: MyFiles.cpp:588
msgid "New directory created"
msgstr ""
#: MyFiles.cpp:588
msgid "New file created"
msgstr ""
#: MyFiles.cpp:633 MyFiles.cpp:770
msgid "I don't think you really want to duplicate root, do you"
msgstr ""
#: MyFiles.cpp:634 MyFiles.cpp:771
msgid "I don't think you really want to rename root, do you"
msgstr ""
#: MyFiles.cpp:650 MyFiles.cpp:758
msgid "I'm afraid you don't have permission to Duplicate in this directory"
msgstr ""
#: MyFiles.cpp:651 MyFiles.cpp:759
msgid "I'm afraid you don't have permission to Rename in this directory"
msgstr ""
#: MyFiles.cpp:664
msgid "Duplicate "
msgstr ""
#: MyFiles.cpp:665
msgid "Rename "
msgstr ""
#: MyFiles.cpp:677
msgid "No, the idea is that you supply a NEW name"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:723 MyFiles.cpp:792 MyFiles.cpp:848
msgid "duplicated"
msgstr ""
#: MyFiles.cpp:697 MyFiles.cpp:741 MyFiles.cpp:792 MyFiles.cpp:848
msgid "renamed"
msgstr ""
#: MyFiles.cpp:700
msgid "Sorry, that didn't work. Try again?"
msgstr ""
#: MyFiles.cpp:854 MyFiles.cpp:893
msgid ""
"Sorry, this name is Illegal\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:866
msgid ""
"Sorry, One of these already exists\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:879 MyFiles.cpp:931
msgid ""
"Sorry, for some reason this operation failed\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:905
msgid ""
"Sorry, that name is already taken.\n"
" Try again?"
msgstr ""
#: MyFiles.cpp:1020
msgid "Open with "
msgstr ""
#: MyFiles.cpp:1043
msgid " D F"
msgstr ""
#: MyFiles.cpp:1044
msgid " R"
msgstr ""
#: MyFiles.cpp:1045
msgid " H "
msgstr ""
#: MyFiles.cpp:1077
msgid " of files and subdirectories"
msgstr ""
#: MyFiles.cpp:1077
msgid " of files"
msgstr ""
#: MyFiles.cpp:1623
msgid ""
"The new target for the link doesn't seem to exist.\n"
"Try again?"
msgstr ""
#: MyFiles.cpp:1629
msgid ""
"For some reason, changing the symlink's target seems to have failed. Sorry!"
msgstr ""
#: MyFiles.cpp:1693
msgid " alterations successfully made, "
msgstr ""
#: MyFiles.cpp:1693
msgid " failures"
msgstr ""
#: MyFiles.cpp:1762
msgid "Choose a different file or dir to be the new target"
msgstr ""
#: MyFrame.cpp:149 MyFrame.cpp:154 MyFrame.cpp:164 MyFrame.cpp:175
msgid "Warning!"
msgstr ""
#: MyFrame.cpp:308
msgid ""
"Sorry, failed to create the directory for your chosen configuration-file; "
"aborting."
msgstr ""
#: MyFrame.cpp:311
msgid ""
"Sorry, you don't have permission to write to the directory containing your "
"chosen configuration-file; aborting."
msgstr ""
#: MyFrame.cpp:587
msgid "Cannot initialize the help system; aborting."
msgstr ""
#: MyFrame.cpp:740
msgid "Undo several actions at once"
msgstr ""
#: MyFrame.cpp:741
msgid "Redo several actions at once"
msgstr ""
#: MyFrame.cpp:743
msgid "Cut"
msgstr ""
#: MyFrame.cpp:743
msgid "Click to Cut Selection"
msgstr ""
#: MyFrame.cpp:744
msgid "Copy"
msgstr ""
#: MyFrame.cpp:744
msgid "Click to Copy Selection"
msgstr ""
#: MyFrame.cpp:745
msgid "Click to Paste Selection"
msgstr ""
#: MyFrame.cpp:749
msgid "UnDo"
msgstr ""
#: MyFrame.cpp:749
msgid "Undo an action"
msgstr ""
#: MyFrame.cpp:751
msgid "ReDo"
msgstr ""
#: MyFrame.cpp:751
msgid "Redo a previously-Undone action"
msgstr ""
#: MyFrame.cpp:755
msgid "New Tab"
msgstr ""
#: MyFrame.cpp:755
msgid "Create a new Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Delete Tab"
msgstr ""
#: MyFrame.cpp:756
msgid "Deletes the currently-selected Tab"
msgstr ""
#: MyFrame.cpp:757
msgid "Preview tooltips"
msgstr ""
#: MyFrame.cpp:757
msgid "Shows previews of images and text files in a 'tooltip'"
msgstr ""
#: MyFrame.cpp:1045 dialogs.xrc:91
msgid "About"
msgstr ""
#: MyFrame.cpp:1916 MyGenericDirCtrl.cpp:830 MyGenericDirCtrl.cpp:848
#: MyGenericDirCtrl.cpp:859
msgid "Error"
msgstr ""
#: MyFrame.cpp:1920 MyNotebook.cpp:190 MyNotebook.cpp:225 MyNotebook.cpp:239
#: Tools.cpp:3077
msgid "Success"
msgstr ""
#: MyGenericDirCtrl.cpp:644
msgid "Computer"
msgstr ""
#: MyGenericDirCtrl.cpp:646
msgid "Sections"
msgstr ""
#: MyGenericDirCtrl.cpp:830
msgid "Illegal directory name."
msgstr ""
#: MyGenericDirCtrl.cpp:848
msgid "File name exists already."
msgstr ""
#: MyGenericDirCtrl.cpp:859
msgid "Operation not permitted."
msgstr ""
#: MyNotebook.cpp:168
msgid "Which Template do you wish to Delete?"
msgstr ""
#: MyNotebook.cpp:168
msgid "Delete Template"
msgstr ""
#: MyNotebook.cpp:222
msgid "Template Save cancelled"
msgstr ""
#: MyNotebook.cpp:222 MyNotebook.cpp:232
msgid "Cancelled"
msgstr ""
#: MyNotebook.cpp:231
msgid "What would you like to call this template?"
msgstr ""
#: MyNotebook.cpp:231
msgid "Choose a template label"
msgstr ""
#: MyNotebook.cpp:232
msgid "Save Template cancelled"
msgstr ""
#: MyNotebook.cpp:284 MyNotebook.cpp:343
msgid "Sorry, the maximum number of tabs are already open."
msgstr ""
#: MyNotebook.cpp:346
msgid " again"
msgstr ""
#: MyNotebook.cpp:401
msgid "&Append Tab"
msgstr ""
#: MyNotebook.cpp:417
msgid "What would you like to call this tab?"
msgstr ""
#: MyNotebook.cpp:417
msgid "Change tab title"
msgstr ""
#: MyTreeCtrl.cpp:716
msgid "Invalid column index"
msgstr ""
#: MyTreeCtrl.cpp:730 MyTreeCtrl.cpp:744
msgid "Invalid column"
msgstr ""
#: MyTreeCtrl.cpp:1544
msgid " *** Broken symlink ***"
msgstr ""
#: Otherstreams.cpp:121
msgid "Decompressing a lzma stream failed"
msgstr ""
#: Otherstreams.cpp:214 Otherstreams.cpp:255
msgid "xz compression failure"
msgstr ""
#: Redo.cpp:258
msgid " Redo: "
msgstr ""
#: Redo.cpp:258
msgid " Undo: "
msgstr ""
#: Redo.cpp:276
#, c-format
msgid " (%zu Items) "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " ---- MORE ---- "
msgstr ""
#: Redo.cpp:297 Redo.cpp:383
msgid " -- PREVIOUS -- "
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "undone"
msgstr ""
#: Redo.cpp:539 Redo.cpp:591
msgid "redone"
msgstr ""
#: Redo.cpp:590
msgid " actions "
msgstr ""
#: Redo.cpp:590
msgid " action "
msgstr ""
#: Redo.cpp:758 Redo.cpp:773 Redo.cpp:786 Redo.cpp:799 Redo.cpp:813
#: Redo.cpp:827 Redo.cpp:855 Redo.cpp:870 Redo.cpp:887 Redo.cpp:906
#: Redo.cpp:929 Redo.cpp:952 Redo.cpp:979 Redo.cpp:1005 Redo.cpp:1042
#: Redo.cpp:1066 Redo.cpp:1078 Redo.cpp:1091 Redo.cpp:1104 Redo.cpp:1117
#: Redo.cpp:1149 Redo.cpp:1190 Redo.cpp:1236 Redo.cpp:1279
msgid "action"
msgstr ""
#: Redo.cpp:758 Redo.cpp:786 Redo.cpp:813 Redo.cpp:855 Redo.cpp:887
#: Redo.cpp:929 Redo.cpp:979 Redo.cpp:1042 Redo.cpp:1078 Redo.cpp:1104
#: Redo.cpp:1149 Redo.cpp:1236
msgid " undone"
msgstr ""
#: Redo.cpp:773 Redo.cpp:799 Redo.cpp:827 Redo.cpp:870 Redo.cpp:906
#: Redo.cpp:952 Redo.cpp:1005 Redo.cpp:1066 Redo.cpp:1091 Redo.cpp:1117
#: Redo.cpp:1190 Redo.cpp:1279
msgid " redone"
msgstr ""
#: Redo.cpp:1296
msgid "Failed to create a directory to store deletions"
msgstr ""
#: Redo.cpp:1336
msgid ""
"Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location"
msgstr ""
#: Redo.cpp:1345
msgid ""
"Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1354
msgid ""
"Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\n"
"I suggest you use Configure to choose another location."
msgstr ""
#: Redo.cpp:1364
msgid ""
"Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1371
msgid "Trashcan emptied"
msgstr ""
#: Redo.cpp:1375
msgid ""
"Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\n"
"Doing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n"
"\n"
" Continue?"
msgstr ""
#: Redo.cpp:1384
msgid "Stored files permanently deleted"
msgstr ""
#: Tools.cpp:46
msgid "There is already a file with this name in the destination path. Sorry"
msgstr ""
#: Tools.cpp:52
msgid ""
"I'm afraid you lack permission to write to the destination directory. Sorry"
msgstr ""
#: Tools.cpp:57
msgid "You cannot make a hardlink to a directory."
msgstr ""
#: Tools.cpp:58
msgid "You cannot make a hardlink to a different device or partition."
msgstr ""
#: Tools.cpp:60
msgid ""
"\n"
"Would you like to make a symlink instead?"
msgstr ""
#: Tools.cpp:60
msgid "No can do"
msgstr ""
#: Tools.cpp:177
msgid "Sorry, no match found."
msgstr ""
#: Tools.cpp:179
msgid " Have a nice day!\n"
msgstr ""
#: Tools.cpp:261
msgid "Run the 'locate' dialog"
msgstr ""
#: Tools.cpp:263
msgid "Run the 'find' dialog"
msgstr ""
#: Tools.cpp:265
msgid "Run the 'grep' dialog"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Show"
msgstr ""
#: Tools.cpp:303 Tools.cpp:459 Tools.cpp:465 Tools.cpp:639
msgid "Hide"
msgstr ""
#: Tools.cpp:1186
msgid ""
"You haven't added this page's choices to the 'find' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:1696
msgid ""
"You haven't added this page's choices to the 'grep' command. If the page changes, they'll be ignored.\n"
"Ignore the choices?"
msgstr ""
#: Tools.cpp:2448
msgid "GoTo selected filepath"
msgstr ""
#: Tools.cpp:2449
msgid "Open selected file"
msgstr ""
#: Tools.cpp:2673
msgid "Sorry, becoming superuser like this isn't possible here.\n"
msgstr ""
#: Tools.cpp:2674
msgid "You need to start each command with 'sudo'"
msgstr ""
#: Tools.cpp:2675
msgid "You can instead do: su -c \"\""
msgstr ""
#: Tools.cpp:2880
msgid " items "
msgstr ""
#: Tools.cpp:2880
msgid " item "
msgstr ""
#: Tools.cpp:2913 Tools.cpp:3197
msgid "Repeat: "
msgstr ""
#: Tools.cpp:3059
msgid ""
"Sorry, there's no room for another command here\n"
"I suggest you try putting it in a different submenu"
msgstr ""
#: Tools.cpp:3077
msgid "Command added"
msgstr ""
#: Tools.cpp:3267
msgid "first"
msgstr ""
#: Tools.cpp:3267
msgid "other"
msgstr ""
#: Tools.cpp:3267
msgid "next"
msgstr ""
#: Tools.cpp:3267
msgid "last"
msgstr ""
#: Tools.cpp:3283
#, c-format
msgid ""
"Malformed user-defined command: using the modifier '%c' with 'b' doesn't "
"make sense. Aborting"
msgstr ""
#: Tools.cpp:3287
msgid ""
"Malformed user-defined command: you can use only one modifier per parameter."
" Aborting"
msgstr ""
#: Tools.cpp:3291
#, c-format
msgid ""
"Malformed user-defined command: the modifier '%c' must be followed by "
"'s','f','d' or'a'. Aborting"
msgstr ""
#: Tools.cpp:3337
msgid "Please type in the"
msgstr ""
#: Tools.cpp:3342
msgid "parameter"
msgstr ""
#: Tools.cpp:3355
msgid "ran successfully"
msgstr ""
#: Tools.cpp:3358
msgid "User-defined tool"
msgstr ""
#: Tools.cpp:3359
msgid "returned with exit code"
msgstr ""
#: Devices.h:432
msgid "Browse for new Icons"
msgstr ""
#: Misc.h:60
msgid "File and Dir Select Dialog"
msgstr ""
#: Misc.h:265
msgid "completed"
msgstr ""
#: Redo.h:124 Redo.h:334 configuredialogs.xrc:2660
msgid "Delete"
msgstr ""
#: Redo.h:150
msgid "Paste dirs"
msgstr ""
#: Redo.h:190
msgid "Change Link Target"
msgstr ""
#: Redo.h:207
msgid "Change Attributes"
msgstr ""
#: Redo.h:226 dialogs.xrc:2299
msgid "New Directory"
msgstr ""
#: Redo.h:226
msgid "New File"
msgstr ""
#: Redo.h:242
msgid "Duplicate Directory"
msgstr ""
#: Redo.h:242
msgid "Duplicate File"
msgstr ""
#: Redo.h:261
msgid "Rename Directory"
msgstr ""
#: Redo.h:261
msgid "Rename File"
msgstr ""
#: Redo.h:281
msgid "Duplicate"
msgstr ""
#: Redo.h:281 dialogs.xrc:299
msgid "Rename"
msgstr ""
#: Redo.h:301
msgid "Extract"
msgstr ""
#: Redo.h:317
msgid " dirs"
msgstr ""
#: configuredialogs.xrc:4
msgid "Enter Tooltip Delay"
msgstr ""
#: configuredialogs.xrc:35
msgid "Set desired Tooltip delay, in seconds"
msgstr ""
#: configuredialogs.xrc:62
msgid "Turn off Tooltips"
msgstr ""
#: configuredialogs.xrc:86 configuredialogs.xrc:456 configuredialogs.xrc:694
#: configuredialogs.xrc:893 configuredialogs.xrc:1071
#: configuredialogs.xrc:2146 configuredialogs.xrc:2242
#: configuredialogs.xrc:2338 configuredialogs.xrc:4415
#: configuredialogs.xrc:4569 configuredialogs.xrc:4770
#: configuredialogs.xrc:4953 configuredialogs.xrc:6946
#: configuredialogs.xrc:7077 configuredialogs.xrc:7172
#: configuredialogs.xrc:7535 configuredialogs.xrc:7864
#: configuredialogs.xrc:8094 configuredialogs.xrc:8418
#: configuredialogs.xrc:8546 dialogs.xrc:354 dialogs.xrc:2156 dialogs.xrc:2262
#: dialogs.xrc:2346 dialogs.xrc:2520 dialogs.xrc:2654 dialogs.xrc:2822
#: dialogs.xrc:3119 dialogs.xrc:3490 dialogs.xrc:3603 dialogs.xrc:3897
#: dialogs.xrc:4461 dialogs.xrc:4578 moredialogs.xrc:121 moredialogs.xrc:4521
#: moredialogs.xrc:4863 moredialogs.xrc:5146 moredialogs.xrc:5387
#: moredialogs.xrc:5640 moredialogs.xrc:5952 moredialogs.xrc:6460
#: moredialogs.xrc:6868 moredialogs.xrc:7163 moredialogs.xrc:7623
#: moredialogs.xrc:8039 moredialogs.xrc:8349 moredialogs.xrc:8812
#: moredialogs.xrc:9236 moredialogs.xrc:9550 moredialogs.xrc:9789
#: moredialogs.xrc:10123 moredialogs.xrc:10427 moredialogs.xrc:10574
#: moredialogs.xrc:10828 moredialogs.xrc:11193 moredialogs.xrc:11329
#: moredialogs.xrc:11772 moredialogs.xrc:11962 moredialogs.xrc:12133
msgid "OK"
msgstr ""
#: configuredialogs.xrc:89 configuredialogs.xrc:459 configuredialogs.xrc:697
#: configuredialogs.xrc:896 configuredialogs.xrc:1074
#: configuredialogs.xrc:1659 configuredialogs.xrc:1809
#: configuredialogs.xrc:2021 configuredialogs.xrc:2375
#: configuredialogs.xrc:2570 configuredialogs.xrc:2774
#: configuredialogs.xrc:2920 configuredialogs.xrc:3097
#: configuredialogs.xrc:3345 configuredialogs.xrc:3484
#: configuredialogs.xrc:3778 configuredialogs.xrc:4007
#: configuredialogs.xrc:4167 configuredialogs.xrc:4274
#: configuredialogs.xrc:4418 configuredialogs.xrc:4572
#: configuredialogs.xrc:4773 configuredialogs.xrc:4956
#: configuredialogs.xrc:5243 configuredialogs.xrc:5486
#: configuredialogs.xrc:5658 configuredialogs.xrc:5857
#: configuredialogs.xrc:6055 configuredialogs.xrc:6208
#: configuredialogs.xrc:6363 configuredialogs.xrc:6533
#: configuredialogs.xrc:6699 configuredialogs.xrc:6949
#: configuredialogs.xrc:7080 configuredialogs.xrc:7175
#: configuredialogs.xrc:7341 configuredialogs.xrc:7538
#: configuredialogs.xrc:7867 configuredialogs.xrc:8097
#: configuredialogs.xrc:8241 configuredialogs.xrc:8421
#: configuredialogs.xrc:8549 dialogs.xrc:357 dialogs.xrc:2159 dialogs.xrc:2265
#: dialogs.xrc:2349 dialogs.xrc:2523 dialogs.xrc:2657 dialogs.xrc:2825
#: dialogs.xrc:3122 dialogs.xrc:3493 dialogs.xrc:3606 dialogs.xrc:3685
#: dialogs.xrc:3900 dialogs.xrc:4464 dialogs.xrc:4581 dialogs.xrc:4598
#: moredialogs.xrc:124 moredialogs.xrc:2633 moredialogs.xrc:4018
#: moredialogs.xrc:4524 moredialogs.xrc:4866 moredialogs.xrc:5149
#: moredialogs.xrc:5390 moredialogs.xrc:5643 moredialogs.xrc:5822
#: moredialogs.xrc:5955 moredialogs.xrc:6463 moredialogs.xrc:6871
#: moredialogs.xrc:7166 moredialogs.xrc:7626 moredialogs.xrc:8042
#: moredialogs.xrc:8352 moredialogs.xrc:8815 moredialogs.xrc:9239
#: moredialogs.xrc:9553 moredialogs.xrc:9792 moredialogs.xrc:10126
#: moredialogs.xrc:10430 moredialogs.xrc:10577 moredialogs.xrc:10831
#: moredialogs.xrc:11196 moredialogs.xrc:11332 moredialogs.xrc:11775
#: moredialogs.xrc:11965 moredialogs.xrc:12136 moredialogs.xrc:12496
#: moredialogs.xrc:12817
msgid "Click when finished"
msgstr ""
#: configuredialogs.xrc:104 configuredialogs.xrc:1673
#: configuredialogs.xrc:1823 configuredialogs.xrc:2035
#: configuredialogs.xrc:2389 configuredialogs.xrc:2584
#: configuredialogs.xrc:2788 configuredialogs.xrc:2934
#: configuredialogs.xrc:3111 configuredialogs.xrc:3359
#: configuredialogs.xrc:3498 configuredialogs.xrc:3791
#: configuredialogs.xrc:4020 configuredialogs.xrc:4180
#: configuredialogs.xrc:4288 configuredialogs.xrc:5257
#: configuredialogs.xrc:5499 configuredialogs.xrc:5671
#: configuredialogs.xrc:5871 configuredialogs.xrc:6069
#: configuredialogs.xrc:6222 configuredialogs.xrc:6377
#: configuredialogs.xrc:6547 dialogs.xrc:52 dialogs.xrc:522 dialogs.xrc:745
#: dialogs.xrc:828 dialogs.xrc:976 dialogs.xrc:1048 dialogs.xrc:1124
#: dialogs.xrc:1279 dialogs.xrc:1503 dialogs.xrc:1669 dialogs.xrc:1773
#: dialogs.xrc:4478
msgid "&Cancel"
msgstr ""
#: configuredialogs.xrc:107 configuredialogs.xrc:477 configuredialogs.xrc:715
#: configuredialogs.xrc:914 configuredialogs.xrc:1092
#: configuredialogs.xrc:1676 configuredialogs.xrc:1826
#: configuredialogs.xrc:2038 configuredialogs.xrc:2392
#: configuredialogs.xrc:2587 configuredialogs.xrc:2791
#: configuredialogs.xrc:2937 configuredialogs.xrc:3114
#: configuredialogs.xrc:3362 configuredialogs.xrc:3501
#: configuredialogs.xrc:3794 configuredialogs.xrc:4023
#: configuredialogs.xrc:4183 configuredialogs.xrc:4291
#: configuredialogs.xrc:4435 configuredialogs.xrc:4589
#: configuredialogs.xrc:4790 configuredialogs.xrc:4979
#: configuredialogs.xrc:5260 configuredialogs.xrc:5502
#: configuredialogs.xrc:5674 configuredialogs.xrc:5874
#: configuredialogs.xrc:6072 configuredialogs.xrc:6225
#: configuredialogs.xrc:6380 configuredialogs.xrc:6550
#: configuredialogs.xrc:6967 configuredialogs.xrc:7098
#: configuredialogs.xrc:7193 configuredialogs.xrc:7556
#: configuredialogs.xrc:7885 configuredialogs.xrc:8115
#: configuredialogs.xrc:8254 configuredialogs.xrc:8439
#: configuredialogs.xrc:8567 dialogs.xrc:375 dialogs.xrc:525 dialogs.xrc:748
#: dialogs.xrc:831 dialogs.xrc:979 dialogs.xrc:1051 dialogs.xrc:1127
#: dialogs.xrc:1282 dialogs.xrc:1506 dialogs.xrc:1672 dialogs.xrc:1876
#: dialogs.xrc:2176 dialogs.xrc:2194 dialogs.xrc:2283 dialogs.xrc:2367
#: dialogs.xrc:2541 dialogs.xrc:2675 dialogs.xrc:2844 dialogs.xrc:3140
#: dialogs.xrc:3511 dialogs.xrc:3624 dialogs.xrc:3698 dialogs.xrc:3790
#: dialogs.xrc:3918 dialogs.xrc:4481 dialogs.xrc:4616 moredialogs.xrc:142
#: moredialogs.xrc:2649 moredialogs.xrc:4034 moredialogs.xrc:4105
#: moredialogs.xrc:4541 moredialogs.xrc:4882 moredialogs.xrc:5167
#: moredialogs.xrc:5409 moredialogs.xrc:5661 moredialogs.xrc:5840
#: moredialogs.xrc:5973 moredialogs.xrc:6064 moredialogs.xrc:6150
#: moredialogs.xrc:6476 moredialogs.xrc:6884 moredialogs.xrc:7179
#: moredialogs.xrc:7644 moredialogs.xrc:8060 moredialogs.xrc:8370
#: moredialogs.xrc:8833 moredialogs.xrc:9257 moredialogs.xrc:9571
#: moredialogs.xrc:9810 moredialogs.xrc:10144 moredialogs.xrc:10448
#: moredialogs.xrc:10595 moredialogs.xrc:10850 moredialogs.xrc:11209
#: moredialogs.xrc:11350 moredialogs.xrc:11788 moredialogs.xrc:11983
#: moredialogs.xrc:12152 moredialogs.xrc:12513 moredialogs.xrc:12834
msgid "Click to abort"
msgstr ""
#: configuredialogs.xrc:125
msgid "New device detected"
msgstr ""
#: configuredialogs.xrc:147
msgid "A device has been attached that I've not yet met."
msgstr ""
#: configuredialogs.xrc:154
msgid "Would you like to configure it?"
msgstr ""
#: configuredialogs.xrc:174
msgid "&Yes"
msgstr ""
#: configuredialogs.xrc:188
msgid " N&ot now"
msgstr ""
#: configuredialogs.xrc:191
msgid "Don't configure it right now, but ask again each time it appears"
msgstr ""
#: configuredialogs.xrc:205
msgid "&Never"
msgstr ""
#: configuredialogs.xrc:208
msgid ""
"\"I don't want to be nagged about this device\". If you change your mind, "
"it can be configured from Configure."
msgstr ""
#: configuredialogs.xrc:226 configuredialogs.xrc:495 configuredialogs.xrc:733
msgid "Configure new device"
msgstr ""
#: configuredialogs.xrc:268
msgid "Devicenode"
msgstr ""
#: configuredialogs.xrc:305
msgid "Mount-point for the device"
msgstr ""
#: configuredialogs.xrc:341 dialogs.xrc:2429
msgid "What would you like to call it?"
msgstr ""
#: configuredialogs.xrc:377 configuredialogs.xrc:615 configuredialogs.xrc:814
msgid "Device type"
msgstr ""
#: configuredialogs.xrc:418 configuredialogs.xrc:656 configuredialogs.xrc:855
msgid "Device is read-only"
msgstr ""
#: configuredialogs.xrc:427 configuredialogs.xrc:665 configuredialogs.xrc:864
msgid "Neither prompt about the device nor load it"
msgstr ""
#: configuredialogs.xrc:430 configuredialogs.xrc:668 configuredialogs.xrc:867
msgid "Ignore this device"
msgstr ""
#: configuredialogs.xrc:474 configuredialogs.xrc:712 configuredialogs.xrc:911
#: configuredialogs.xrc:1089 configuredialogs.xrc:4432
#: configuredialogs.xrc:4586 configuredialogs.xrc:4787
#: configuredialogs.xrc:4976 configuredialogs.xrc:5139
#: configuredialogs.xrc:6964 configuredialogs.xrc:7095
#: configuredialogs.xrc:7190 configuredialogs.xrc:7553
#: configuredialogs.xrc:7882 configuredialogs.xrc:8112
#: configuredialogs.xrc:8251 configuredialogs.xrc:8436
#: configuredialogs.xrc:8564 dialogs.xrc:372 dialogs.xrc:2191 dialogs.xrc:2280
#: dialogs.xrc:2364 dialogs.xrc:2538 dialogs.xrc:2672 dialogs.xrc:2841
#: dialogs.xrc:3137 dialogs.xrc:3508 dialogs.xrc:3621 dialogs.xrc:3915
#: dialogs.xrc:4613 moredialogs.xrc:139 moredialogs.xrc:2646
#: moredialogs.xrc:4031 moredialogs.xrc:4102 moredialogs.xrc:4538
#: moredialogs.xrc:4879 moredialogs.xrc:5164 moredialogs.xrc:5406
#: moredialogs.xrc:5658 moredialogs.xrc:5837 moredialogs.xrc:5970
#: moredialogs.xrc:6061 moredialogs.xrc:6147 moredialogs.xrc:6473
#: moredialogs.xrc:6881 moredialogs.xrc:7176 moredialogs.xrc:7641
#: moredialogs.xrc:8057 moredialogs.xrc:8367 moredialogs.xrc:8830
#: moredialogs.xrc:9254 moredialogs.xrc:9568 moredialogs.xrc:9807
#: moredialogs.xrc:10141 moredialogs.xrc:10445 moredialogs.xrc:10592
#: moredialogs.xrc:10847 moredialogs.xrc:11206 moredialogs.xrc:11347
#: moredialogs.xrc:11785 moredialogs.xrc:11980 moredialogs.xrc:12149
#: moredialogs.xrc:12510 moredialogs.xrc:12831
msgid "&CANCEL"
msgstr ""
#: configuredialogs.xrc:537
msgid "Manufacturer's name"
msgstr ""
#: configuredialogs.xrc:555 configuredialogs.xrc:595
msgid ""
"This is the name (or, if none, the ID) supplied by the device. You can "
"change it to something more memorable if you wish"
msgstr ""
#: configuredialogs.xrc:577
msgid "Model name"
msgstr ""
#: configuredialogs.xrc:775
msgid "Mount-point for this device"
msgstr ""
#: configuredialogs.xrc:793
msgid ""
"What is the name of the directory onto which this device is auto-mounted? "
"It will probably look something like /mnt/usb-[MyPenName]-FlashDisk:0:0:0p1"
msgstr ""
#: configuredialogs.xrc:932
msgid "Configure new device type"
msgstr ""
#: configuredialogs.xrc:973
msgid "Label to give this device"
msgstr ""
#: configuredialogs.xrc:991
msgid ""
"If this is an unusual type of device that's not on the standard list, type "
"the name that best describes it"
msgstr ""
#: configuredialogs.xrc:1012
msgid "Which is the best-matching description?"
msgstr ""
#: configuredialogs.xrc:1030
msgid ""
"Select the nearest equivalent to the new type. This determines which icon "
"appears on the toolbar"
msgstr ""
#: configuredialogs.xrc:1112
msgid "Configure 4Pane"
msgstr ""
#: configuredialogs.xrc:1140 configuredialogs.xrc:6696
#: configuredialogs.xrc:7338 dialogs.xrc:104
msgid "&Finished"
msgstr ""
#: configuredialogs.xrc:1143
msgid "Click when finished configuring"
msgstr ""
#: configuredialogs.xrc:1170
#, c-format
msgid ""
"User-defined commands are external programs that you can\n"
"launch from 4Pane. They may be utilities like 'df', or any other\n"
"available program or executable script.\n"
"e.g. 'gedit %f' launches the currently-selected file in gedit."
msgstr ""
#: configuredialogs.xrc:1181
msgid ""
"The following parameters are available:\n"
"%s will pass the selected file or folder to the application\n"
"%f (%d) will pass the selected file (directory) only\n"
"%a passes all of the active pane's selected items\n"
"%b will pass one selection from both fileview panes.\n"
"%p will prompt for a parameter to pass to the application.\n"
"\n"
"To try to run a command as superuser, prefix e.g. gksu or sudo"
msgstr ""
#: configuredialogs.xrc:1196
msgid "On the following sub-pages you can Add, Edit or Delete tools."
msgstr ""
#: configuredialogs.xrc:1225
msgid ""
"This section deals with devices. These may be either\n"
"fixed e.g. dvdrw drives, or removable e.g. usb pens.\n"
"\n"
"4Pane can usually deduce a distro's behaviour and\n"
"configure itself to match. If this fails, or you want to make\n"
"changes, you can do so on the following sub-pages."
msgstr ""
#: configuredialogs.xrc:1259
msgid ""
"This is where you can try to make things work\n"
"if something fails because you have a very old,\n"
"or a very modern, setup.\n"
"\n"
"You are unlikely to need to use this section\n"
"but, if you do, read the tooltips."
msgstr ""
#: configuredialogs.xrc:1293
msgid ""
"This is where you can configure 4Pane's appearance.\n"
"\n"
"The first sub-page deals with the directory and file trees,\n"
" the second the font, and the third miscellaneous things."
msgstr ""
#: configuredialogs.xrc:1325
msgid ""
"These two sub-pages deal with terminals. The first is\n"
"for real terminals, the second the terminal emulator."
msgstr ""
#: configuredialogs.xrc:1355
msgid "Finally, four pages of miscellany."
msgstr ""
#: configuredialogs.xrc:1384
msgid "These items deal with the directory and file trees"
msgstr ""
#: configuredialogs.xrc:1401
msgid "Pixels between the parent"
msgstr ""
#: configuredialogs.xrc:1408
msgid "dir and the Expand box"
msgstr ""
#: configuredialogs.xrc:1417
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the parent directory and the triangle."
msgstr ""
#: configuredialogs.xrc:1440
msgid "Pixels between the"
msgstr ""
#: configuredialogs.xrc:1447
msgid "Expand box and name"
msgstr ""
#: configuredialogs.xrc:1456
msgid ""
"There is an 'expand box' (in gtk2 actually a triangle) between the parent "
"directory and the filename. This spincontrol sets the number of pixels "
"between the triangle and the filename"
msgstr ""
#: configuredialogs.xrc:1476
msgid ""
"Show hidden files and dirs in the panes of a newly-created tab view. You "
"can change this for individual panes from the context menu, or Ctrl-H"
msgstr ""
#: configuredialogs.xrc:1479
msgid " By default, show hidden files and directories"
msgstr ""
#: configuredialogs.xrc:1487
msgid ""
"If ticked, displayed files/dirs are sorted in a way appropriate for the "
"language to which your locale is set. However, this may result in hidden "
"files (when displayed) not being shown separately"
msgstr ""
#: configuredialogs.xrc:1490
msgid " Sort files in a locale-aware way"
msgstr ""
#: configuredialogs.xrc:1498
msgid ""
"Show a symlink-to-a-directory with the ordinary directories in the file-"
"view, not beneath with the files"
msgstr ""
#: configuredialogs.xrc:1501
msgid " Treat a symlink-to-directory as a normal directory"
msgstr ""
#: configuredialogs.xrc:1509
msgid ""
"Do you want visible lines between each directory and its subdirectories? "
"Choose whichever you prefer, but the normal style is 'Yes' in gtk1, but 'No'"
" in some versions of gtk2"
msgstr ""
#: configuredialogs.xrc:1512
msgid " Show lines in the directory tree"
msgstr ""
#: configuredialogs.xrc:1528
msgid ""
"Choose colours to use as a pane's background. You can have different colours"
" for dir-views and file-views"
msgstr ""
#: configuredialogs.xrc:1531
msgid " Colour the background of a pane"
msgstr ""
#: configuredialogs.xrc:1543
msgid "&Select Colours"
msgstr ""
#: configuredialogs.xrc:1546
msgid "Click to select the background colours to use"
msgstr ""
#: configuredialogs.xrc:1564
msgid ""
"In a fileview, give alternate lines different background colours, resulting "
"in a striped appearance"
msgstr ""
#: configuredialogs.xrc:1567
msgid " Colour alternate lines in a fileview"
msgstr ""
#: configuredialogs.xrc:1579
msgid "Se&lect Colours"
msgstr ""
#: configuredialogs.xrc:1582
msgid "Click to select the colours in which to paint alternate lines"
msgstr ""
#: configuredialogs.xrc:1599
msgid ""
"Slightly highlight the column header of a file-view, or above the toolbar of"
" a dir-view, to flag which pane currently has focus. Click the 'Configure' "
"button to alter the amount of highlighting"
msgstr ""
#: configuredialogs.xrc:1602
msgid " Highlight the focused pane"
msgstr ""
#: configuredialogs.xrc:1613
msgid "C&onfigure"
msgstr ""
#: configuredialogs.xrc:1616
msgid "Click to alter the amount of any highlighting for each pane type"
msgstr ""
#: configuredialogs.xrc:1629
msgid ""
"Before version 1.1, 4Pane used to update its display when it itself altered files/directories, but didn't react to any alterations made outside it.\n"
"Now 4Pane can use inotify to inform it of both internal and external changes. Untick the box if you prefer the old method."
msgstr ""
#: configuredialogs.xrc:1632
msgid " Use inotify to watch the filesystem"
msgstr ""
#: configuredialogs.xrc:1656 configuredialogs.xrc:1806
#: configuredialogs.xrc:2018 configuredialogs.xrc:2372
#: configuredialogs.xrc:2567 configuredialogs.xrc:2771
#: configuredialogs.xrc:2917 configuredialogs.xrc:3094
#: configuredialogs.xrc:3342 configuredialogs.xrc:3481
#: configuredialogs.xrc:3775 configuredialogs.xrc:4004
#: configuredialogs.xrc:4164 configuredialogs.xrc:4271
#: configuredialogs.xrc:5240 configuredialogs.xrc:5483
#: configuredialogs.xrc:5655 configuredialogs.xrc:5854
#: configuredialogs.xrc:6052 configuredialogs.xrc:6205
#: configuredialogs.xrc:6360 configuredialogs.xrc:6530
msgid "&Apply"
msgstr ""
#: configuredialogs.xrc:1713
msgid "Here you can configure the font used by the tree"
msgstr ""
#: configuredialogs.xrc:1721
msgid "Click the 'Change' button to select a different font or size"
msgstr ""
#: configuredialogs.xrc:1728
msgid "The 'Use Default' button will reset it to the system default"
msgstr ""
#: configuredialogs.xrc:1747 configuredialogs.xrc:2486
msgid "This is how the terminal emulator font looks"
msgstr ""
#: configuredialogs.xrc:1754
msgid "C&hange"
msgstr ""
#: configuredialogs.xrc:1757 configuredialogs.xrc:2497
msgid "Change to a font of your choice"
msgstr ""
#: configuredialogs.xrc:1768 configuredialogs.xrc:2524
msgid "The appearance using the default font"
msgstr ""
#: configuredialogs.xrc:1775
msgid "Use &Default"
msgstr ""
#: configuredialogs.xrc:1778 configuredialogs.xrc:2535
msgid "Revert to the system default font"
msgstr ""
#: configuredialogs.xrc:1867
msgid ""
"If the currently-selected path in the active dirview is "
"/home/david/Documents, make the titlebar show '4Pane [Documents]' instead of"
" just '4Pane'"
msgstr ""
#: configuredialogs.xrc:1870
msgid " Show the currently-selected filepath in the titlebar"
msgstr ""
#: configuredialogs.xrc:1878
msgid ""
"This is where you can see which file or directory is selected. You can also "
"use Ctrl-C to copy it for use in external applications. Changes to this "
"option won't take effect until 4Pane is restarted"
msgstr ""
#: configuredialogs.xrc:1881
msgid " Show the currently-selected filepath in the toolbar"
msgstr ""
#: configuredialogs.xrc:1889
msgid ""
"4Pane supplies default icons for things like 'Copy' and 'Undo'. Tick this "
"box to use your theme's icons instead"
msgstr ""
#: configuredialogs.xrc:1892
msgid " Whenever possible, use stock icons"
msgstr ""
#: configuredialogs.xrc:1900
msgid ""
"4Pane stores 'trashed' files and directories, rather than deleting them. "
"Even so, you may wish to be asked each time you try to do this; in which "
"case, tick this box"
msgstr ""
#: configuredialogs.xrc:1903
msgid " Ask for confirmation before 'Trashcan'-ing files"
msgstr ""
#: configuredialogs.xrc:1911
msgid "4Pane stores 'deleted' files and directories in its own delete-bin"
msgstr ""
#: configuredialogs.xrc:1914
msgid " Ask for confirmation before Deleting files"
msgstr ""
#: configuredialogs.xrc:1926
msgid "Make the cans for trashed/deleted files in this directory"
msgstr ""
#: configuredialogs.xrc:1951
msgid "Configure &toolbar editors"
msgstr ""
#: configuredialogs.xrc:1954
msgid ""
"This is where you can add/remove the icons on the toolbar that represent "
"editors and similar apps. These open when clicked, or you can drag file(s) "
"onto one to open them in that app."
msgstr ""
#: configuredialogs.xrc:1963
msgid "Configure &Previews"
msgstr ""
#: configuredialogs.xrc:1966
msgid ""
"Here you can configure the dimensions of the image and text previews, and "
"their trigger time"
msgstr ""
#: configuredialogs.xrc:1975
msgid "Configure &small-toolbar Tools"
msgstr ""
#: configuredialogs.xrc:1978
msgid ""
"This is where you can add/remove buttons from the small toolbar at the top "
"of each dir-view"
msgstr ""
#: configuredialogs.xrc:1987
msgid "Configure Too<ips"
msgstr ""
#: configuredialogs.xrc:1990
msgid ""
"Configures whether and for how long tooltips are displayed. This is only "
"partly effective: it currently doesn't work for toolbar tooltips."
msgstr ""
#: configuredialogs.xrc:2079
msgid "Select the Terminal application to be launched by Ctrl-T"
msgstr ""
#: configuredialogs.xrc:2094 configuredialogs.xrc:2190
#: configuredialogs.xrc:2286
msgid "Either one of the following"
msgstr ""
#: configuredialogs.xrc:2123 configuredialogs.xrc:2219
#: configuredialogs.xrc:2315
msgid "Or enter your own choice"
msgstr ""
#: configuredialogs.xrc:2138
msgid ""
"Type in the exact command that will launch a terminal.\n"
"Choose one that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2175
msgid "Which Terminal application should launch other programs?"
msgstr ""
#: configuredialogs.xrc:2234
msgid ""
"Type in the exact command that will launch another program inside a terminal.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2271
msgid "Which Terminal program should launch a User-Defined Tool?"
msgstr ""
#: configuredialogs.xrc:2330
msgid ""
"Type in the exact command that will launch another program inside a terminal, keeping the terminal open when the program exits.\n"
"Choose a terminal that exists on your system ;)"
msgstr ""
#: configuredialogs.xrc:2433
msgid "Configure the Prompt and Font for the terminal emulator"
msgstr ""
#: configuredialogs.xrc:2441
msgid "Prompt. See the tooltip for details"
msgstr ""
#: configuredialogs.xrc:2459
msgid ""
"This is the prompt for the in-house 'terminal' accessed by Ctrl-M or Ctrl-F6. You can use normal characters, but there are also the following options:\n"
"%H = hostname %h = hostname up to the dot\n"
"%u = username\n"
"%w = cwd %W = the last segment only of cwd\n"
"%$ gives either $, or # if root"
msgstr ""
#: configuredialogs.xrc:2494 configuredialogs.xrc:4356
#: configuredialogs.xrc:4394 configuredialogs.xrc:4501
#: configuredialogs.xrc:4539
msgid "Change"
msgstr ""
#: configuredialogs.xrc:2532 configuredialogs.xrc:4918
msgid "Use Default"
msgstr ""
#: configuredialogs.xrc:2637
msgid "Currently-known possible nfs servers"
msgstr ""
#: configuredialogs.xrc:2647
msgid ""
"These are ip addresses of servers that are known to be, or have been, on "
"your network"
msgstr ""
#: configuredialogs.xrc:2663
msgid "Delete the highlit server"
msgstr ""
#: configuredialogs.xrc:2678
msgid "Enter another server address"
msgstr ""
#: configuredialogs.xrc:2687
msgid ""
"Write in the address of another server here (e.g. 192.168.0.2), then click "
"'Add'"
msgstr ""
#: configuredialogs.xrc:2698
msgid "Add"
msgstr ""
#: configuredialogs.xrc:2714
msgid "Filepath for showmount"
msgstr ""
#: configuredialogs.xrc:2723
msgid ""
"What is the filepath to the nfs helper showmount? Probably "
"/usr/sbin/showmount"
msgstr ""
#: configuredialogs.xrc:2744
msgid "Path to samba dir"
msgstr ""
#: configuredialogs.xrc:2753
msgid ""
"Where are files like smbclient and findsmb stored? Probably in /usr/bin/ (or"
" symlinked from there)"
msgstr ""
#: configuredialogs.xrc:2832
msgid "4Pane allows you undo (and redo) most operations."
msgstr ""
#: configuredialogs.xrc:2839
msgid "What is the maximum number that can be undone?"
msgstr ""
#: configuredialogs.xrc:2846
msgid "(NB. See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2855
msgid ""
"Whenever you Paste/Move/Rename/Delete/etc files, the process is stored so that it can later be undone, and then redone if desired. This is the maximum number of such Undo's\n"
"Note that if you delete the contents of a dir containing 100 files, this counts as 100 procedures! So I suggest that the number here should be fairly large: at least 10000"
msgstr ""
#: configuredialogs.xrc:2872
msgid "The number of items at a time on a drop-down menu."
msgstr ""
#: configuredialogs.xrc:2879
msgid "(See the tooltip)"
msgstr ""
#: configuredialogs.xrc:2888
msgid ""
"This refers to the Undo and Redo drop-down buttons, and the dir-view toolbar ones for navigating to recently visited directories.\n"
"What is the maximum number items to display per menu page? I suggest 15. You can get to earlier items a page-worth at a time."
msgstr ""
#: configuredialogs.xrc:2976
msgid "Some messages are shown briefly, then disappear."
msgstr ""
#: configuredialogs.xrc:2983
msgid "For how many seconds should they last?"
msgstr ""
#: configuredialogs.xrc:3002
msgid "'Success' message dialogs"
msgstr ""
#: configuredialogs.xrc:3011
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a \"Success\" message"
msgstr ""
#: configuredialogs.xrc:3027
msgid "'Failed because...' dialogs"
msgstr ""
#: configuredialogs.xrc:3036
msgid ""
"There are some dialogs that provide a message, such as \"Success\" or "
"\"Oops, that didn't work\", and close themselves automatically after a few "
"seconds. This figure is the number of seconds to show a Failure message, "
"which needs to be longer than a Success one to give you a chance to read it"
msgstr ""
#: configuredialogs.xrc:3052
msgid "Statusbar messages"
msgstr ""
#: configuredialogs.xrc:3061
msgid ""
"Some procedures e.g. mounting a partition, give a success message in the "
"statusbar. This determines how long such a message persists"
msgstr ""
#: configuredialogs.xrc:3155
msgid "Which front-end do you wish to use to perform tasks as root?"
msgstr ""
#: configuredialogs.xrc:3177
msgid ""
"Tick this box to have 4Pane manage running commands as root, either by "
"calling su or sudo (depending on your distro or setup)"
msgstr ""
#: configuredialogs.xrc:3180
msgid " 4Pane's own one"
msgstr ""
#: configuredialogs.xrc:3188
msgid "It should call:"
msgstr ""
#: configuredialogs.xrc:3191
msgid ""
"Some distros (ubuntu and similar) use sudo to become superuser; most others "
"use su. Select which is appropriate for you."
msgstr ""
#: configuredialogs.xrc:3196
msgid "su"
msgstr ""
#: configuredialogs.xrc:3197
msgid "sudo"
msgstr ""
#: configuredialogs.xrc:3212
msgid ""
"Check the box if you want 4Pane to store the password and provide it "
"automatically if needed. For security reasons the longest permitted time is "
"60 minutes"
msgstr ""
#: configuredialogs.xrc:3215
msgid " Store passwords for:"
msgstr ""
#: configuredialogs.xrc:3233
msgid "min"
msgstr ""
#: configuredialogs.xrc:3244
msgid ""
"If this box is checked, every time the password is supplied the time-limit "
"will be renewed"
msgstr ""
#: configuredialogs.xrc:3247
msgid " Restart time with each use"
msgstr ""
#: configuredialogs.xrc:3268
msgid ""
"An external program e.g. gksu. Only ones available on your system will be "
"selectable"
msgstr ""
#: configuredialogs.xrc:3271
msgid " An external program:"
msgstr ""
#: configuredialogs.xrc:3284
msgid " kdesu"
msgstr ""
#: configuredialogs.xrc:3292
msgid " gksu"
msgstr ""
#: configuredialogs.xrc:3300
msgid " gnomesu"
msgstr ""
#: configuredialogs.xrc:3308
msgid " Other..."
msgstr ""
#: configuredialogs.xrc:3310
msgid ""
"Enter your own choice of application, including any necessary options. It "
"would be best if it were available on your system..."
msgstr ""
#: configuredialogs.xrc:3399
msgid ""
"The first 3 buttons configure File-opening, D'n'D and the statusbar\n"
"The fourth exports 4Pane's configuration: see the tooltip"
msgstr ""
#: configuredialogs.xrc:3415
msgid "Configure &Opening Files"
msgstr ""
#: configuredialogs.xrc:3418
msgid "Click to tell 4Pane how you prefer it to open files"
msgstr ""
#: configuredialogs.xrc:3427
msgid "Configure &Drag'n'Drop"
msgstr ""
#: configuredialogs.xrc:3430
msgid "Click to configure the behaviour of Drag and Drop"
msgstr ""
#: configuredialogs.xrc:3439
msgid "Configure &Statusbar"
msgstr ""
#: configuredialogs.xrc:3442
msgid "Click to configure the statusbar sections"
msgstr ""
#: configuredialogs.xrc:3451
msgid "&Export Configuration File"
msgstr ""
#: configuredialogs.xrc:3454
msgid ""
"Click to save bits of your configuration as ~/4Pane.conf. Very few people "
"will need to do this; probably only distro packagers. For more details, "
"press F1 after clicking."
msgstr ""
#: configuredialogs.xrc:3555
msgid "Command to be run:"
msgstr ""
#: configuredialogs.xrc:3564
msgid ""
"Type in the name of the application or script to be run. If it is in your PATH, you should get away with just the name e.g. 'df'. Otherwise you will need the full filepath e.g. '/usr/X11R6/bin/foo'\n"
"\n"
"Parameters: \n"
"%s will pass the selected file or folder to the application, %f (%d) a file (directory) only.\n"
"%a will pass all of the active pane's selected items, %b one selection from both fileview panes.\n"
"%p will prompt you for a parameter to pass to the application"
msgstr ""
#: configuredialogs.xrc:3578
msgid "Click to browse for the application to run"
msgstr ""
#: configuredialogs.xrc:3596 configuredialogs.xrc:3912
msgid "Tick if you want the tool to be run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3599 configuredialogs.xrc:3915
msgid "Run in a Terminal"
msgstr ""
#: configuredialogs.xrc:3607 configuredialogs.xrc:3923
msgid ""
"Some programs need a terminal both to run in, and to display the results. If"
" you tick this checkbox, the terminal will stay visible when the program is "
"finished, to give you a chance to look at the output."
msgstr ""
#: configuredialogs.xrc:3610 configuredialogs.xrc:3926
msgid "Keep terminal open"
msgstr ""
#: configuredialogs.xrc:3618 configuredialogs.xrc:3934
msgid ""
"Tick if you want the current pane to be automatically updated when the tool "
"has finished"
msgstr ""
#: configuredialogs.xrc:3621 configuredialogs.xrc:3937
msgid "Refresh pane after"
msgstr ""
#: configuredialogs.xrc:3629 configuredialogs.xrc:3945
msgid "Tick if you want the other pane to be updated too"
msgstr ""
#: configuredialogs.xrc:3632 configuredialogs.xrc:3948
msgid "Refresh opposite pane too"
msgstr ""
#: configuredialogs.xrc:3640 configuredialogs.xrc:3956
msgid ""
"Tick if you want the tool to be run with superuser privileges, but not in a "
"terminal (in a terminal, you can use 'sudo' or 'su -c' anyway)"
msgstr ""
#: configuredialogs.xrc:3643 configuredialogs.xrc:3959
msgid "Run command as root"
msgstr ""
#: configuredialogs.xrc:3666
msgid "Label to display in the menu:"
msgstr ""
#: configuredialogs.xrc:3689
msgid "Add it to this menu:"
msgstr ""
#: configuredialogs.xrc:3698
msgid ""
"These are the menus that are currently available. Select one, or add a new "
"one"
msgstr ""
#: configuredialogs.xrc:3710
msgid "&New Menu"
msgstr ""
#: configuredialogs.xrc:3713
msgid "Add a new menu or submenu to the list"
msgstr ""
#: configuredialogs.xrc:3723
msgid "&Delete Menu"
msgstr ""
#: configuredialogs.xrc:3726
msgid "Delete the currently-selected menu or submenu"
msgstr ""
#: configuredialogs.xrc:3746
msgid "Add the &Tool"
msgstr ""
#: configuredialogs.xrc:3749
msgid "Click to add the new tool"
msgstr ""
#: configuredialogs.xrc:3840
msgid "Select a command, then click 'Edit this Command'"
msgstr ""
#: configuredialogs.xrc:3862 configuredialogs.xrc:4088
msgid "Label in menu"
msgstr ""
#: configuredialogs.xrc:3871
msgid ""
"Select the label of the command you want to edit. You can edit this too if "
"you wish."
msgstr ""
#: configuredialogs.xrc:3886 configuredialogs.xrc:4112
msgid "Command"
msgstr ""
#: configuredialogs.xrc:3895
msgid "The command to be edited"
msgstr ""
#: configuredialogs.xrc:3975
msgid "&Edit this Command"
msgstr ""
#: configuredialogs.xrc:4065
msgid "Select an item, then click 'Delete this Command'"
msgstr ""
#: configuredialogs.xrc:4097
msgid "Select the label of the command you want to delete"
msgstr ""
#: configuredialogs.xrc:4121
msgid "The command to be deleted"
msgstr ""
#: configuredialogs.xrc:4137
msgid "&Delete this Command"
msgstr ""
#: configuredialogs.xrc:4221
msgid "Double-click an entry to change it"
msgstr ""
#: configuredialogs.xrc:4234
msgid ""
"Show the labels below without any mnemonic e.g. show 'Cut' instead of "
"'C&ut'. You can still see and edit the mnemonic when you edit an item's "
"label"
msgstr ""
#: configuredialogs.xrc:4237
msgid "Display labels without mnemonics"
msgstr ""
#: configuredialogs.xrc:4308 configuredialogs.xrc:4452
msgid "Select Colours"
msgstr ""
#: configuredialogs.xrc:4321
msgid "The colours shown below will be used alternately in a file-view pane"
msgstr ""
#: configuredialogs.xrc:4340
msgid " Current 1st Colour"
msgstr ""
#: configuredialogs.xrc:4379
msgid " Current 2nd Colour"
msgstr ""
#: configuredialogs.xrc:4465
msgid ""
"Select the colour to use as the background for a pane.\n"
"You can choose one colour for dir-views and another for file-views.\n"
"Alternatively, tick the box to use the same one in both."
msgstr ""
#: configuredialogs.xrc:4486
msgid " Current Dir-view Colour"
msgstr ""
#: configuredialogs.xrc:4524
msgid " Current File-view Colour"
msgstr ""
#: configuredialogs.xrc:4552
msgid " Use the same colour for both types of pane"
msgstr ""
#: configuredialogs.xrc:4606
msgid "Select Pane Highlighting"
msgstr ""
#: configuredialogs.xrc:4619
msgid ""
"A pane can optionally be highlit when focused. Here you can alter the degree"
" of highlighting."
msgstr ""
#: configuredialogs.xrc:4626
msgid "For a dir-view, the highlight is in a narrow line above the toolbar."
msgstr ""
#: configuredialogs.xrc:4633
msgid ""
"For a file-view, the colour change is to the header, which is much thicker."
msgstr ""
#: configuredialogs.xrc:4640
msgid ""
"So I suggest you make the file-view 'offset' smaller, as the difference is "
"more obvious"
msgstr ""
#: configuredialogs.xrc:4682
msgid " Dir-view focused"
msgstr ""
#: configuredialogs.xrc:4704
msgid "Baseline"
msgstr ""
#: configuredialogs.xrc:4726
msgid "File-view focused"
msgstr ""
#: configuredialogs.xrc:4807
msgid "Enter a Shortcut"
msgstr ""
#: configuredialogs.xrc:4826
msgid "Press the keys that you want to use for this function:"
msgstr ""
#: configuredialogs.xrc:4834
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:4859
msgid "Current"
msgstr ""
#: configuredialogs.xrc:4875
msgid "Clear"
msgstr ""
#: configuredialogs.xrc:4878
msgid "Click this if you don't want a shortcut for this action"
msgstr ""
#: configuredialogs.xrc:4902
msgid " Default:"
msgstr ""
#: configuredialogs.xrc:4910
msgid "Ctrl+Shift+Alt+M"
msgstr ""
#: configuredialogs.xrc:4921
msgid "Clicking this will enter the default accelerator seen above"
msgstr ""
#: configuredialogs.xrc:5002
msgid "Change Label"
msgstr ""
#: configuredialogs.xrc:5012
msgid " Change Help String"
msgstr ""
#: configuredialogs.xrc:5027
msgid "Duplicate Accelerator"
msgstr ""
#: configuredialogs.xrc:5045
msgid "This combination of keys is already used by:"
msgstr ""
#: configuredialogs.xrc:5053
msgid " Dummy"
msgstr ""
#: configuredialogs.xrc:5061 dialogs.xrc:489 dialogs.xrc:652 dialogs.xrc:790
#: dialogs.xrc:904 dialogs.xrc:1021 dialogs.xrc:1240 dialogs.xrc:1407
#: dialogs.xrc:1570 dialogs.xrc:1722
msgid "What would you like to do?"
msgstr ""
#: configuredialogs.xrc:5081
msgid "Choose different keys"
msgstr ""
#: configuredialogs.xrc:5089
msgid "Steal the other shortcut's keys"
msgstr ""
#: configuredialogs.xrc:5097
msgid "Give up"
msgstr ""
#: configuredialogs.xrc:5112 dialogs.xrc:4595
msgid "&Try Again"
msgstr ""
#: configuredialogs.xrc:5115
msgid "Return to the dialog to make another choice of keys"
msgstr ""
#: configuredialogs.xrc:5126
msgid "&Override"
msgstr ""
#: configuredialogs.xrc:5129
msgid ""
"Use your selection anyway. You will be given the opportunity to make a new "
"choice for the shortcut that is currently using them."
msgstr ""
#: configuredialogs.xrc:5142
msgid "The shortcut will revert to its previous value, if any"
msgstr ""
#: configuredialogs.xrc:5177
msgid "How are plugged-in devices detected?"
msgstr ""
#: configuredialogs.xrc:5180
msgid ""
"Until the 2.4 kernel, usb pens and similar weren't detected at all. 2.4 "
"kernels introduced the usb-storage method. More recent distros with 2.6 "
"kernels usually use the udev/hal system. In between a few distros (e.g. SuSE"
" 9.2) did something odd involving /etc/mtab"
msgstr ""
#: configuredialogs.xrc:5185
msgid "The original, usb-storage, method"
msgstr ""
#: configuredialogs.xrc:5186
msgid "By looking in mtab"
msgstr ""
#: configuredialogs.xrc:5187
msgid "The new, udev/hal, method"
msgstr ""
#: configuredialogs.xrc:5196
msgid "Floppy drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5205
msgid "DVD-ROM etc drives mount automatically"
msgstr ""
#: configuredialogs.xrc:5214
msgid "Removable devices mount automatically"
msgstr ""
#: configuredialogs.xrc:5306
msgid "Which file (if any) holds data about a newly-inserted device?"
msgstr ""
#: configuredialogs.xrc:5326
msgid "Floppies"
msgstr ""
#: configuredialogs.xrc:5336 configuredialogs.xrc:5383
#: configuredialogs.xrc:5429
msgid ""
"This applies mostly to non-automounting distros, some of which insert "
"information about devices directly into either /etc/mtab or /etc/fstab."
msgstr ""
#: configuredialogs.xrc:5341 configuredialogs.xrc:5388
#: configuredialogs.xrc:5434
msgid "mtab"
msgstr ""
#: configuredialogs.xrc:5342 configuredialogs.xrc:5389
#: configuredialogs.xrc:5435
msgid "fstab"
msgstr ""
#: configuredialogs.xrc:5343 configuredialogs.xrc:5390
#: configuredialogs.xrc:5436
msgid "none"
msgstr ""
#: configuredialogs.xrc:5352 configuredialogs.xrc:5399
#: configuredialogs.xrc:5445
msgid ""
"Some distros (eg Mandriva 10.1) use Supermount to help manage disk-changes."
" If so, a device's fstab entry may start with 'none' instead of the device "
"name. In which case, check this box."
msgstr ""
#: configuredialogs.xrc:5355 configuredialogs.xrc:5402
#: configuredialogs.xrc:5448
msgid "Supermounts"
msgstr ""
#: configuredialogs.xrc:5373
msgid "CDRoms etc"
msgstr ""
#: configuredialogs.xrc:5419
msgid "USB devices"
msgstr ""
#: configuredialogs.xrc:5550
msgid "Check how often for newly-attached usb devices?"
msgstr ""
#: configuredialogs.xrc:5564
msgid ""
"4Pane checks to see if any removable devices have been removed, or new ones "
"added. How often should this happen?"
msgstr ""
#: configuredialogs.xrc:5575
msgid "seconds"
msgstr ""
#: configuredialogs.xrc:5591
msgid "How should multicard usb readers be displayed?"
msgstr ""
#: configuredialogs.xrc:5600
msgid ""
"Multicard readers usually register as a separate device for each slot.\n"
"By default only slots with a card inserted are displayed.\n"
"If you tick here, each empty slot will get a button too, so a 13-slot device will always have 13 buttons!"
msgstr ""
#: configuredialogs.xrc:5603
msgid " Add buttons even for empty slots"
msgstr ""
#: configuredialogs.xrc:5616
msgid "What to do if 4Pane has mounted a usb device?"
msgstr ""
#: configuredialogs.xrc:5625
msgid ""
"Do you want to unmount before exiting? This only applies to removable "
"devices, and only if your distro is non-automounting"
msgstr ""
#: configuredialogs.xrc:5628
msgid " Ask before unmounting it on exit"
msgstr ""
#: configuredialogs.xrc:5715 configuredialogs.xrc:5914
#: configuredialogs.xrc:6112
msgid "For information, please read the tooltips"
msgstr ""
#: configuredialogs.xrc:5734
msgid "Which file contains partition data?"
msgstr ""
#: configuredialogs.xrc:5743
msgid "The list of known partitions. Default: /proc/partitions"
msgstr ""
#: configuredialogs.xrc:5757
msgid "Which dir contains device data?"
msgstr ""
#: configuredialogs.xrc:5766
msgid "Holds 'files' like hda1, sda1. Currently /dev/"
msgstr ""
#: configuredialogs.xrc:5779
msgid "Which file(s) contains Floppy info"
msgstr ""
#: configuredialogs.xrc:5788
msgid ""
"Floppy info can usually be found in /sys/block/fd0, /sys/block/fd1 etc.\n"
"Don't put the 0, 1 bit in here, only /sys/block/fd or whatever"
msgstr ""
#: configuredialogs.xrc:5801
msgid "Which file contains CD/DVDROM info"
msgstr ""
#: configuredialogs.xrc:5810
msgid ""
"Information about fixed devices like cdroms can usually be found in "
"/proc/sys/dev/cdrom/info. Alter it if that has changed"
msgstr ""
#: configuredialogs.xrc:5828 configuredialogs.xrc:6026
#: configuredialogs.xrc:6179
msgid "Reload Defaults"
msgstr ""
#: configuredialogs.xrc:5933
msgid "2.4 kernels: usb-storage"
msgstr ""
#: configuredialogs.xrc:5942
msgid ""
"2.4 kernels detect removable devices and add a dir called /proc/scsi/usb-storage-0, storage-1 etc.\n"
"Just put the /proc/scsi/usb-storage- bit here"
msgstr ""
#: configuredialogs.xrc:5955
msgid "2.4 kernels: removable device list"
msgstr ""
#: configuredialogs.xrc:5964
msgid ""
"2.4 kernels keep a list of attached/previously-attached removable devices.\n"
"Probably /proc/scsi/scsi"
msgstr ""
#: configuredialogs.xrc:5977
msgid "Node-names for removable devices"
msgstr ""
#: configuredialogs.xrc:5986
msgid ""
"What device node is given to removable devices like usb-pens? Probably /dev/sda, sdb1 etc\n"
"Just put the /dev/sd bit here"
msgstr ""
#: configuredialogs.xrc:5999
msgid "2.6 kernels: removable device info dir"
msgstr ""
#: configuredialogs.xrc:6008
msgid ""
"In 2.6 kernels some removable-device info is found here\n"
"Probably /sys/bus/scsi/devices"
msgstr ""
#: configuredialogs.xrc:6130
msgid "What is the LVM prefix?"
msgstr ""
#: configuredialogs.xrc:6139
msgid ""
"By what name are Logical Volume Management 'partitions' called e.g. dm-0\n"
"Only put in the dm- bit"
msgstr ""
#: configuredialogs.xrc:6152
msgid "More LVM stuff. See the tooltip"
msgstr ""
#: configuredialogs.xrc:6161
msgid ""
"Where are the proc 'block' files? This is needed to help manage LVM stuff.\n"
"Probably /dev/.udevdb/block@foo. Just enter the '/dev/.udevdb/block@' bit"
msgstr ""
#: configuredialogs.xrc:6279
msgid ""
"Pick a Drive to configure\n"
"Or 'Add a Drive' to add"
msgstr ""
#: configuredialogs.xrc:6311 configuredialogs.xrc:6480
msgid "Add a Dri&ve"
msgstr ""
#: configuredialogs.xrc:6321 configuredialogs.xrc:6490
msgid "&Edit this Drive"
msgstr ""
#: configuredialogs.xrc:6330 configuredialogs.xrc:6500
msgid "&Delete this Drive"
msgstr ""
#: configuredialogs.xrc:6421
msgid ""
"Fixed drives should have been found automatically,\n"
"but if one was missed or you want to alter some data\n"
"you can do so here."
msgstr ""
#: configuredialogs.xrc:6448
msgid ""
"Select a drive to configure\n"
"Or 'Add a Drive' to add one"
msgstr ""
#: configuredialogs.xrc:6571
msgid "Fake, used to test for this version of the file"
msgstr ""
#: configuredialogs.xrc:6576
msgid "Configure dir-view toolbar buttons"
msgstr ""
#: configuredialogs.xrc:6598
msgid ""
"These are the buttons on the right-hand side of the small toolbar in each dir-view.\n"
"They act as bookmarks: clicking one 'goes to' its destination filepath"
msgstr ""
#: configuredialogs.xrc:6628 configuredialogs.xrc:7264
msgid "Current Buttons"
msgstr ""
#: configuredialogs.xrc:6659
msgid "&Add a Button"
msgstr ""
#: configuredialogs.xrc:6669
msgid "&Edit this Button"
msgstr ""
#: configuredialogs.xrc:6678
msgid "&Delete this Button"
msgstr ""
#: configuredialogs.xrc:6714
msgid "Configure e.g. an Editor"
msgstr ""
#: configuredialogs.xrc:6762 moredialogs.xrc:745 moredialogs.xrc:860
msgid "Name"
msgstr ""
#: configuredialogs.xrc:6780
msgid "This is just a label so you will be able to recognise it. e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6800 configuredialogs.xrc:7449
msgid "Icon to use"
msgstr ""
#: configuredialogs.xrc:6817
msgid "Launch Command"
msgstr ""
#: configuredialogs.xrc:6835
msgid ""
"This is the string that invokes the program. e.g. kwrite or "
"/opt/gnome/bin/gedit"
msgstr ""
#: configuredialogs.xrc:6856
msgid "Working Directory to use (optional)"
msgstr ""
#: configuredialogs.xrc:6874 dialogs.xrc:3353
msgid ""
"You can optionally provide a working directory. If you do, it will be 'cd'ed"
" to before running the command. Most commands won't need this; in "
"particular, it won't be needed for any commands that can be launched without"
" a Path e.g. kwrite"
msgstr ""
#: configuredialogs.xrc:6903
msgid ""
"For example, if pasted with several files, GEdit can open them in tabs."
msgstr ""
#: configuredialogs.xrc:6906
msgid "Accepts Multiple Input"
msgstr ""
#: configuredialogs.xrc:6915
msgid ""
"Don't load the icon for this program. Its configuration is retained, and you"
" can 'unignore' it in the future"
msgstr ""
#: configuredialogs.xrc:6918
msgid "Ignore this program"
msgstr ""
#: configuredialogs.xrc:6985
msgid "Select Icon"
msgstr ""
#: configuredialogs.xrc:7009
msgid ""
"Current\n"
"Selection"
msgstr ""
#: configuredialogs.xrc:7036
msgid ""
"Click an icon to Select it\n"
"or Browse to search for others"
msgstr ""
#: configuredialogs.xrc:7051
msgid "&Browse"
msgstr ""
#: configuredialogs.xrc:7116
msgid "New Icon"
msgstr ""
#: configuredialogs.xrc:7148
msgid "Add this Icon?"
msgstr ""
#: configuredialogs.xrc:7211
msgid "Configure Editors etc"
msgstr ""
#: configuredialogs.xrc:7233
msgid ""
"These programs can be launched by clicking a button\n"
"on the toolbar or by dragging a file onto the button.\n"
"An obvious example would be a text editor such as\n"
"kwrite, but it can be any program you wish."
msgstr ""
#: configuredialogs.xrc:7295
msgid "&Add a Program"
msgstr ""
#: configuredialogs.xrc:7305
msgid "&Edit this Program"
msgstr ""
#: configuredialogs.xrc:7315
msgid "&Delete this Program"
msgstr ""
#: configuredialogs.xrc:7356
msgid "Configure a small-toolbar icon"
msgstr ""
#: configuredialogs.xrc:7402
msgid "Filepath"
msgstr ""
#: configuredialogs.xrc:7411
msgid "Enter the filepath that you want to go to when the button is clicked"
msgstr ""
#: configuredialogs.xrc:7428
msgid "Click to browse for the new filepath"
msgstr ""
#: configuredialogs.xrc:7456
msgid "(Click to change)"
msgstr ""
#: configuredialogs.xrc:7474
msgid "Label e.g. 'Music' or '/usr/share/'"
msgstr ""
#: configuredialogs.xrc:7483
msgid ""
"Supplying a label is optional, and won't display most of the time. However "
"when in gtk3 there's not enough space to display all the icons, the overflow"
" panel shows only the label, not the icon; so without a label there's a "
"blank space."
msgstr ""
#: configuredialogs.xrc:7503
msgid "Optional Tooltip Text"
msgstr ""
#: configuredialogs.xrc:7574
msgid "Configure Drag and Drop"
msgstr ""
#: configuredialogs.xrc:7588
msgid "Choose which keys should do the following:"
msgstr ""
#: configuredialogs.xrc:7628
msgid "Move:"
msgstr ""
#: configuredialogs.xrc:7660
msgid "Copy:"
msgstr ""
#: configuredialogs.xrc:7692
msgid "Hardlink:"
msgstr ""
#: configuredialogs.xrc:7724
msgid "Softlink:"
msgstr ""
#: configuredialogs.xrc:7758
msgid "Alter these values to change D'n'D triggering sensitivity"
msgstr ""
#: configuredialogs.xrc:7776
msgid "Horizontal"
msgstr ""
#: configuredialogs.xrc:7785
msgid ""
"How far left and right should the mouse move before D'n'D is triggered? "
"Default value 10"
msgstr ""
#: configuredialogs.xrc:7804
msgid "Vertical"
msgstr ""
#: configuredialogs.xrc:7813
msgid ""
"How far up and down should the mouse move before D'n'D is triggered? Default"
" value 15"
msgstr ""
#: configuredialogs.xrc:7832
msgid "How many lines to scroll per mouse-wheel click"
msgstr ""
#: configuredialogs.xrc:7841
msgid ""
"If it can't be found from your system settings, this determines how "
"sensitive the mouse-wheel is, during Drag-and-Drop only"
msgstr ""
#: configuredialogs.xrc:7903
msgid "Configure the Statusbar"
msgstr ""
#: configuredialogs.xrc:7917
msgid "The statusbar has four sections. Here you can adjust their proportions"
msgstr ""
#: configuredialogs.xrc:7925
msgid "(Changes won't take effect until you restart 4Pane)"
msgstr ""
#: configuredialogs.xrc:7945
msgid "Menu-item help"
msgstr ""
#: configuredialogs.xrc:7953 configuredialogs.xrc:8059
msgid "(Default 5)"
msgstr ""
#: configuredialogs.xrc:7963
msgid "Occasionally-helpful messages when you hover over a menu item"
msgstr ""
#: configuredialogs.xrc:7981
msgid "Success Messages"
msgstr ""
#: configuredialogs.xrc:7989
msgid "(Default 3)"
msgstr ""
#: configuredialogs.xrc:7999
msgid ""
"Messages like \"Successfully deleted 15 files\". These messages disappear "
"after a configurable number of seconds"
msgstr ""
#: configuredialogs.xrc:8016
msgid "Filepaths"
msgstr ""
#: configuredialogs.xrc:8024
msgid "(Default 8)"
msgstr ""
#: configuredialogs.xrc:8034
msgid ""
"Information about the currently-selected file or directory; usually its "
"type, name and size"
msgstr ""
#: configuredialogs.xrc:8051
msgid "Filters"
msgstr ""
#: configuredialogs.xrc:8069
msgid ""
"What is the focused pane showing: D=directories F=files H=hidden files R=recursive subdirectory size.\n"
"Any filter is also shown e.g. f*.txt for textfiles beginning with 'f'"
msgstr ""
#: configuredialogs.xrc:8133
msgid "Export Data"
msgstr ""
#: configuredialogs.xrc:8147
msgid ""
"This is where, should you wish, you can export part of your configuration "
"data to a file called 4Pane.conf."
msgstr ""
#: configuredialogs.xrc:8155
msgid "If you're tempted, press F1 for more details."
msgstr ""
#: configuredialogs.xrc:8163
msgid "Deselect any types of data you don't want to export"
msgstr ""
#: configuredialogs.xrc:8176
msgid ""
"Tools e.g. 'df -h' to supply by default. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8179
msgid " User-defined Tools data"
msgstr ""
#: configuredialogs.xrc:8187
msgid ""
"Which editor(s) e.g. gedit, kwrite, should have an icon added to the toolbar"
" by default"
msgstr ""
#: configuredialogs.xrc:8190
msgid " Editors data"
msgstr ""
#: configuredialogs.xrc:8198
msgid ""
"Things from 'Configure 4Pane > Devices'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8201
msgid " Device-mounting data"
msgstr ""
#: configuredialogs.xrc:8209
msgid ""
"Things from 'Configure 4Pane > Terminals'. See the manual for more details"
msgstr ""
#: configuredialogs.xrc:8212
msgid " Terminal-related data"
msgstr ""
#: configuredialogs.xrc:8220
msgid ""
"The contents of the 'Open With...' dialog, and which programs should open "
"which MIME types"
msgstr ""
#: configuredialogs.xrc:8223
msgid "'Open With' data"
msgstr ""
#: configuredialogs.xrc:8238
msgid " Export Data"
msgstr ""
#: configuredialogs.xrc:8267
msgid "Configure Previews"
msgstr ""
#: configuredialogs.xrc:8306
msgid "Maximum width (px)"
msgstr ""
#: configuredialogs.xrc:8314
msgid "Maximum height (px)"
msgstr ""
#: configuredialogs.xrc:8322
msgid "Images:"
msgstr ""
#: configuredialogs.xrc:8350
msgid "Text files:"
msgstr ""
#: configuredialogs.xrc:8385
msgid "Preview trigger delay, in tenths of seconds:"
msgstr ""
#: configuredialogs.xrc:8457
msgid "Configure File Opening"
msgstr ""
#: configuredialogs.xrc:8471
msgid ""
"How do you want 4Pane to try to open e.g. a text file in an editor.\n"
"Use either the system way, 4Pane's built-in way, or both.\n"
"If both, which should be tried first?"
msgstr ""
#: configuredialogs.xrc:8491
msgid "Use your system's method"
msgstr ""
#: configuredialogs.xrc:8500
msgid "Use 4Pane's method"
msgstr ""
#: configuredialogs.xrc:8515
msgid "Prefer the system way"
msgstr ""
#: configuredialogs.xrc:8524
msgid "Prefer 4Pane's way"
msgstr ""
#: dialogs.xrc:42
msgid "&Locate"
msgstr ""
#: dialogs.xrc:66
msgid "Clea&r"
msgstr ""
#: dialogs.xrc:76
msgid "Cl&ose"
msgstr ""
#: dialogs.xrc:116
msgid "Can't Read"
msgstr ""
#: dialogs.xrc:134
msgid "I'm afraid you don't have Read permission for"
msgstr ""
#: dialogs.xrc:143
msgid "a Pretend q"
msgstr ""
#: dialogs.xrc:164 dialogs.xrc:711 dialogs.xrc:940 dialogs.xrc:1469
#: dialogs.xrc:1633
msgid "&Skip"
msgstr ""
#: dialogs.xrc:167
msgid "Skip just this file"
msgstr ""
#: dialogs.xrc:182
msgid "Skip &All"
msgstr ""
#: dialogs.xrc:185
msgid "Skip any other files where I don't have Read permission"
msgstr ""
#: dialogs.xrc:200
msgid "Tsk Tsk!"
msgstr ""
#: dialogs.xrc:218
msgid "You seem to be trying to join"
msgstr ""
#: dialogs.xrc:226 dialogs.xrc:249 dialogs.xrc:1943 dialogs.xrc:1983
#: dialogs.xrc:2476
msgid "Pretend"
msgstr ""
#: dialogs.xrc:241
msgid "to one of its descendants"
msgstr ""
#: dialogs.xrc:257
msgid "This is certainly illegal and probably immoral"
msgstr ""
#: dialogs.xrc:279
msgid " I'm &Sorry :-("
msgstr ""
#: dialogs.xrc:282
msgid "Click to apologise"
msgstr ""
#: dialogs.xrc:321
msgid "What would you like the new name to be?"
msgstr ""
#: dialogs.xrc:331
msgid "Type in the new name"
msgstr ""
#: dialogs.xrc:391 dialogs.xrc:540
msgid "Overwrite or Rename"
msgstr ""
#: dialogs.xrc:423 dialogs.xrc:571 dialogs.xrc:1328
msgid "There is already a file here with the name"
msgstr ""
#: dialogs.xrc:504 dialogs.xrc:669 dialogs.xrc:1255 dialogs.xrc:1424
#: dialogs.xrc:1585
msgid "&Overwrite it"
msgstr ""
#: dialogs.xrc:513 dialogs.xrc:690
msgid "&Rename Incoming File"
msgstr ""
#: dialogs.xrc:678 dialogs.xrc:1433
msgid " Overwrite &All"
msgstr ""
#: dialogs.xrc:681 dialogs.xrc:1436
msgid "Overwrite all files when there is a name clash"
msgstr ""
#: dialogs.xrc:699
msgid " Re&name All"
msgstr ""
#: dialogs.xrc:702
msgid "Go straight to the RENAME dialog when there is a name clash"
msgstr ""
#: dialogs.xrc:714 dialogs.xrc:943 dialogs.xrc:1472 dialogs.xrc:1636
#: dialogs.xrc:1740
msgid "Skip this item"
msgstr ""
#: dialogs.xrc:723 dialogs.xrc:952 dialogs.xrc:1481 dialogs.xrc:1645
msgid "S&kip All"
msgstr ""
#: dialogs.xrc:726 dialogs.xrc:1484
msgid "Skip all files where there is a name clash"
msgstr ""
#: dialogs.xrc:759
msgid "Rename or cancel"
msgstr ""
#: dialogs.xrc:782
msgid "There is already a directory here with this name."
msgstr ""
#: dialogs.xrc:813 dialogs.xrc:919
msgid "&Rename Incoming Dir"
msgstr ""
#: dialogs.xrc:851 dialogs.xrc:1683
msgid "Rename or skip"
msgstr ""
#: dialogs.xrc:874 dialogs.xrc:1540
msgid "There is already a Directory here with the name"
msgstr ""
#: dialogs.xrc:928
msgid "Rename &All"
msgstr ""
#: dialogs.xrc:931
msgid "Go straight to the RENAME dialog for all conflicting names"
msgstr ""
#: dialogs.xrc:955 dialogs.xrc:1648 dialogs.xrc:1752
msgid "Skip all items where there is a name clash"
msgstr ""
#: dialogs.xrc:990
msgid "Query duplicate in archive"
msgstr ""
#: dialogs.xrc:1013
msgid "There is already a file with this name in the archive"
msgstr ""
#: dialogs.xrc:1036
msgid "&Store a duplicate of it"
msgstr ""
#: dialogs.xrc:1039
msgid ""
"Inside an archive you're allowed to have two identical items with the same "
"name. If that's what you want (and you'll presumably have a good reason :/ )"
" click this button"
msgstr ""
#: dialogs.xrc:1066
msgid "Duplicate by Renaming in archive"
msgstr ""
#: dialogs.xrc:1089
msgid "Sorry, you can't do a direct duplication within an archive"
msgstr ""
#: dialogs.xrc:1097
msgid "Would you like to duplicate by renaming instead?"
msgstr ""
#: dialogs.xrc:1112
msgid "&Rename"
msgstr ""
#: dialogs.xrc:1115
msgid "Make a copy of each item or items, using a different name"
msgstr ""
#: dialogs.xrc:1142
msgid "Add to archive"
msgstr ""
#: dialogs.xrc:1174 dialogs.xrc:1706
msgid "There is already an item here with the name"
msgstr ""
#: dialogs.xrc:1258
msgid ""
"Delete the original file from the archive, and replace it with the incoming "
"one"
msgstr ""
#: dialogs.xrc:1267
msgid "&Store both items"
msgstr ""
#: dialogs.xrc:1270
msgid ""
"It's allowed inside an archive to have multiple files with the same name. "
"Click this button if that's what you want (you'll presumably have a good "
"reason :/ )"
msgstr ""
#: dialogs.xrc:1297 dialogs.xrc:1517
msgid "Overwrite or add to archive"
msgstr ""
#: dialogs.xrc:1445 dialogs.xrc:1609
msgid "S&tore both items"
msgstr ""
#: dialogs.xrc:1448
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1457 dialogs.xrc:1621
msgid " Store A&ll"
msgstr ""
#: dialogs.xrc:1460
msgid ""
"Inside an archive you're allowed to have two files with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1588
msgid "Replace the current dir with the incoming one"
msgstr ""
#: dialogs.xrc:1597
msgid "Overwrite &All"
msgstr ""
#: dialogs.xrc:1600
msgid ""
"Replace the current dir with the incoming one, and do this for any other "
"clashes"
msgstr ""
#: dialogs.xrc:1612
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's what you want (and you'll presumably have a good reason :/ ) click "
"this button"
msgstr ""
#: dialogs.xrc:1624
msgid ""
"Inside an archive you're allowed to have two dirs with the same name. If "
"that's always what you want (and you'll presumably have a good reason :/ ) "
"click this button"
msgstr ""
#: dialogs.xrc:1737
msgid "&Skip it"
msgstr ""
#: dialogs.xrc:1749
msgid "Skip &All Clashes"
msgstr ""
#: dialogs.xrc:1776
msgid "Abort all items"
msgstr ""
#: dialogs.xrc:1810
msgid "You seem to want to overwrite this file with itself"
msgstr ""
#: dialogs.xrc:1818
msgid "Does this mean:"
msgstr ""
#: dialogs.xrc:1840
msgid "I want to &DUPLICATE it"
msgstr ""
#: dialogs.xrc:1856
msgid "or:"
msgstr ""
#: dialogs.xrc:1873
msgid "&Oops, I didn't mean it"
msgstr ""
#: dialogs.xrc:1895
msgid "Make a Link"
msgstr ""
#: dialogs.xrc:1921
msgid " Create a new Link from:"
msgstr ""
#: dialogs.xrc:1946 dialogs.xrc:1986 dialogs.xrc:2479
msgid "This is what you are trying to Link to"
msgstr ""
#: dialogs.xrc:1967
msgid "Make the link in the following Directory:"
msgstr ""
#: dialogs.xrc:2011
msgid "What would you like to call the Link?"
msgstr ""
#: dialogs.xrc:2028
msgid "Keep the same name"
msgstr ""
#: dialogs.xrc:2037
msgid "Use the following Extension"
msgstr ""
#: dialogs.xrc:2045
msgid "Use the following Name"
msgstr ""
#: dialogs.xrc:2067
msgid "Enter the extension you would like to add to the original filename"
msgstr ""
#: dialogs.xrc:2077
msgid "Enter the name you would like to give this link"
msgstr ""
#: dialogs.xrc:2094
msgid ""
"Check this box if you wish to make relative symlink(s) e.g. to ../../foo "
"instead of /path/to/foo"
msgstr ""
#: dialogs.xrc:2097
msgid "Make Relative"
msgstr ""
#: dialogs.xrc:2105
msgid ""
"Check this box if you wish these choices to be applied automatically to the "
"rest of the items selected"
msgstr ""
#: dialogs.xrc:2108 dialogs.xrc:3669
msgid "Apply to all"
msgstr ""
#: dialogs.xrc:2128
msgid ""
"If you've changed your mind about which type of link you want, chose again "
"here."
msgstr ""
#: dialogs.xrc:2133
msgid "I want to make a Hard Link"
msgstr ""
#: dialogs.xrc:2134
msgid "I want to make a Soft link"
msgstr ""
#: dialogs.xrc:2173
msgid "Skip"
msgstr ""
#: dialogs.xrc:2210
msgid "Choose a name for the new item"
msgstr ""
#: dialogs.xrc:2228
msgid "Do you want a new File or a new Directory?"
msgstr ""
#: dialogs.xrc:2233
msgid "Make a new File"
msgstr ""
#: dialogs.xrc:2234
msgid "Make a new Directory"
msgstr ""
#: dialogs.xrc:2318
msgid "Choose a name for the new Directory"
msgstr ""
#: dialogs.xrc:2383
msgid "Add a Bookmark"
msgstr ""
#: dialogs.xrc:2404
msgid "Add the following to your Bookmarks:"
msgstr ""
#: dialogs.xrc:2415
msgid "This is the bookmark that will be created"
msgstr ""
#: dialogs.xrc:2440
msgid "What label would you like to give this bookmark?"
msgstr ""
#: dialogs.xrc:2460 dialogs.xrc:3383
msgid "Add it to the following folder:"
msgstr ""
#: dialogs.xrc:2493
msgid "Change &Folder"
msgstr ""
#: dialogs.xrc:2496
msgid ""
"Click if you want to save this bookmark in a different folder, or to create "
"a new folder"
msgstr ""
#: dialogs.xrc:2557
msgid "Edit a Bookmark"
msgstr ""
#: dialogs.xrc:2573
msgid "Make any required alterations below"
msgstr ""
#: dialogs.xrc:2595
msgid "Current Path"
msgstr ""
#: dialogs.xrc:2606
msgid "This is current Path"
msgstr ""
#: dialogs.xrc:2620
msgid "Current Label"
msgstr ""
#: dialogs.xrc:2631
msgid "This is the current Label"
msgstr ""
#: dialogs.xrc:2691
msgid "Manage Bookmarks"
msgstr ""
#: dialogs.xrc:2717 dialogs.xrc:3415
msgid "&New Folder"
msgstr ""
#: dialogs.xrc:2720
msgid "Create a new Folder"
msgstr ""
#: dialogs.xrc:2734
msgid "New &Separator"
msgstr ""
#: dialogs.xrc:2737
msgid "Insert a new Separator"
msgstr ""
#: dialogs.xrc:2751
msgid "&Edit Selection"
msgstr ""
#: dialogs.xrc:2754
msgid "Edit the highlit item"
msgstr ""
#: dialogs.xrc:2768
msgid "&Delete"
msgstr ""
#: dialogs.xrc:2771
msgid "Delete the highlit item"
msgstr ""
#: dialogs.xrc:2860
msgid "Open with:"
msgstr ""
#: dialogs.xrc:2880
msgid ""
"Type in the path & name of the application to use, if you know it. If not, "
"browse, or choose from the list below."
msgstr ""
#: dialogs.xrc:2895 dialogs.xrc:3253
msgid "Click to browse for the application to use"
msgstr ""
#: dialogs.xrc:2927
msgid "&Edit Application"
msgstr ""
#: dialogs.xrc:2930
msgid "Edit the selected Application"
msgstr ""
#: dialogs.xrc:2944
msgid "&Remove Application"
msgstr ""
#: dialogs.xrc:2947
msgid "Remove the selected Application from the folder"
msgstr ""
#: dialogs.xrc:2970
msgid "&Add Application"
msgstr ""
#: dialogs.xrc:2973
msgid "Add the Application to the selected folder below"
msgstr ""
#: dialogs.xrc:3001
msgid " Add &Folder"
msgstr ""
#: dialogs.xrc:3004
msgid "Add a folder to the tree below"
msgstr ""
#: dialogs.xrc:3018
msgid "Remove F&older"
msgstr ""
#: dialogs.xrc:3021
msgid "Remove the selected folder from the tree below"
msgstr ""
#: dialogs.xrc:3054
msgid "Click an application to select"
msgstr ""
#: dialogs.xrc:3078 dialogs.xrc:3449
msgid "Tick the box to open the file with this application within a terminal"
msgstr ""
#: dialogs.xrc:3081 dialogs.xrc:3452
msgid "Open in terminal"
msgstr ""
#: dialogs.xrc:3089 dialogs.xrc:3460
msgid ""
"Tick the box if in the future you want this application to be called "
"automatically to launch this type of file"
msgstr ""
#: dialogs.xrc:3092 dialogs.xrc:3463
msgid "Always use the selected application for this kind of file"
msgstr ""
#: dialogs.xrc:3156
msgid "Add an Application"
msgstr ""
#: dialogs.xrc:3174
msgid "Label to give the Application (optional)"
msgstr ""
#: dialogs.xrc:3194
msgid ""
"This name must be unique. If you don't enter one, the end of the filepath will be used.\n"
"eg /usr/local/bin/foo will be called 'foo'"
msgstr ""
#: dialogs.xrc:3217
msgid ""
"Where is the Application? eg /usr/local/bin/gs\n"
"(sometimes just the filename will work)"
msgstr ""
#: dialogs.xrc:3237
msgid ""
"Type in the name of the application. If it is in your PATH, you should get "
"away with just the name eg kwrite. Otherwise you will need the full pathname"
" eg /usr/X11R6/bin/foo"
msgstr ""
#: dialogs.xrc:3274
msgid "Extension(s) that it should launch? e.g. txt or htm,html"
msgstr ""
#: dialogs.xrc:3290
msgid ""
"This is optional. If you enter one or more extensions, this application will be offered when you right-click on files with such extensions. You must also enter one if you will want this application to be the default for launching this type of file. So if you will want all files with the extension 'txt', on double-clicking, to be launched with this application, write txt here.\n"
"You may enter more than one extension, separated by commas. eg htm,html"
msgstr ""
#: dialogs.xrc:3306
#, c-format
msgid " What is the Command String to use? e.g. kedit %s"
msgstr ""
#: dialogs.xrc:3321
#, c-format
msgid ""
"This is the command to use to launch a file. It is generally the program name followed by %s, which represents the file to be launched. So if kedit is your default text editor, and the launch Command is kedit %s, double-clicking the file foo.txt will execute ' kedit 'foo.txt' '\n"
"If this doesn't work, you'll need to RTFM for the application in question."
msgstr ""
#: dialogs.xrc:3338
msgid " Working directory in which to run the app (optional)"
msgstr ""
#: dialogs.xrc:3405
msgid "Put the application in this group. So kwrite goes in Editors."
msgstr ""
#: dialogs.xrc:3418
msgid "Add a new group to categorise applications"
msgstr ""
#: dialogs.xrc:3544
msgid "For which Extensions do you want the application to be default."
msgstr ""
#: dialogs.xrc:3563
msgid "These are the extensions to choose from"
msgstr ""
#: dialogs.xrc:3576
msgid ""
"You can either use the first two buttons, or select using the mouse (& Ctrl-"
"key for non-contiguous choices)"
msgstr ""
#: dialogs.xrc:3581
msgid "All of them"
msgstr ""
#: dialogs.xrc:3582
msgid "Just the First"
msgstr ""
#: dialogs.xrc:3583
msgid "Select with Mouse (+shift key)"
msgstr ""
#: dialogs.xrc:3640
msgid "4Pane"
msgstr ""
#: dialogs.xrc:3709
msgid "Save Template"
msgstr ""
#: dialogs.xrc:3737
msgid "There is a Template loaded already."
msgstr ""
#: dialogs.xrc:3745
msgid "Do you want to Overwrite this, or Save as a new Template?"
msgstr ""
#: dialogs.xrc:3760
msgid "&Overwrite"
msgstr ""
#: dialogs.xrc:3775
msgid "&New Template"
msgstr ""
#: dialogs.xrc:3803
msgid "Enter the Filter String"
msgstr ""
#: dialogs.xrc:3829
msgid ""
"Enter a string to use as a filter, or use the history. Multiple filters can"
" be separated by either | or a comma. eg Pre*.txt or *.jpg | *.png or "
"*htm,*html"
msgstr ""
#: dialogs.xrc:3848
msgid "Show only files, not dirs"
msgstr ""
#: dialogs.xrc:3851
msgid "Display only Files"
msgstr ""
#: dialogs.xrc:3860
msgid "Reset the filter, so that all files are shown ie *"
msgstr ""
#: dialogs.xrc:3863
msgid "Reset filter to *"
msgstr ""
#: dialogs.xrc:3872
msgid "Use the selected filter on all panes in this Tab"
msgstr ""
#: dialogs.xrc:3875
msgid "Apply to All visible panes"
msgstr ""
#: dialogs.xrc:3934
msgid "Multiple Rename"
msgstr ""
#: dialogs.xrc:3957
msgid "You can either change foo.bar to, e.g., foo1.bar or new.foo.bar"
msgstr ""
#: dialogs.xrc:3965
msgid "or do something more complex with a regex"
msgstr ""
#: dialogs.xrc:4000
msgid " Use a Regular Expression"
msgstr ""
#: dialogs.xrc:4011 moredialogs.xrc:12253
msgid "&Regex Help"
msgstr ""
#: dialogs.xrc:4043
msgid "Replace"
msgstr ""
#: dialogs.xrc:4046 dialogs.xrc:4279
msgid "Type in the text or regular expression that you want to be substituted"
msgstr ""
#: dialogs.xrc:4056
msgid "Type in the text that you want to substitute"
msgstr ""
#: dialogs.xrc:4076
msgid "With"
msgstr ""
#: dialogs.xrc:4140
msgid "Replace all matches in a name"
msgstr ""
#: dialogs.xrc:4155
msgid "Replace the first"
msgstr ""
#: dialogs.xrc:4165
msgid ""
"Given the name 'foo-foo-foo' and replacement text 'bar', setting the count "
"to 2 would result in 'bar-bar-foo'"
msgstr ""
#: dialogs.xrc:4175
msgid " matches in name"
msgstr ""
#: dialogs.xrc:4197
msgid ""
"Suppose you select all the files in a directory and want to use a regex to "
"change any .jpeg files to .jpg. If you don't tick this box, all other files "
"in the selection will also be renamed by the non-regex section; which is "
"probably not what you want."
msgstr ""
#: dialogs.xrc:4200
msgid "Completely ignore non-matching files"
msgstr ""
#: dialogs.xrc:4221
msgid "How (else) to create new names:"
msgstr ""
#: dialogs.xrc:4224
msgid ""
"If you have successfully used a regex above, this may not be necessary. But "
"if you didn't, or some clashes remain, this is how they will be overcome."
msgstr ""
#: dialogs.xrc:4238
msgid "Change which part of the name?"
msgstr ""
#: dialogs.xrc:4241
msgid ""
"If the name is foo.something.bar, selecting 'Ext' will affect 'bar', not 'something.bar'.\n"
"If you choose 'Ext' when there isn't one, the body will be altered instead."
msgstr ""
#: dialogs.xrc:4246
msgid "Body"
msgstr ""
#: dialogs.xrc:4247
msgid "Ext"
msgstr ""
#: dialogs.xrc:4276
msgid "Prepend text (optional)"
msgstr ""
#: dialogs.xrc:4288
msgid "Type in any text to Prepend"
msgstr ""
#: dialogs.xrc:4308
msgid "Append text (optional)"
msgstr ""
#: dialogs.xrc:4317
msgid "Type in any text to Append"
msgstr ""
#: dialogs.xrc:4350
msgid "Increment starting with:"
msgstr ""
#: dialogs.xrc:4367 dialogs.xrc:4377
msgid ""
"If there's still a name-clash despite anything you've done above, this adds "
"a digit or a letter to create a new name. So joe.txt will become joe0.txt "
"(or joe.txt0 if you've chosen to change the ext)"
msgstr ""
#: dialogs.xrc:4389
msgid ""
"If this box is ticked, an Increment will only happen if it's needed to avoid"
" a name-clash. If it's not, it will happen anyway."
msgstr ""
#: dialogs.xrc:4392
msgid " Only if needed"
msgstr ""
#: dialogs.xrc:4408
msgid "Increment with a"
msgstr ""
#: dialogs.xrc:4411
msgid "Determines whether 'joe' changes to 'joe0' or 'joeA'"
msgstr ""
#: dialogs.xrc:4416
msgid "digit"
msgstr ""
#: dialogs.xrc:4417
msgid "letter"
msgstr ""
#: dialogs.xrc:4431
msgid "Case"
msgstr ""
#: dialogs.xrc:4434
msgid "Do you want 'joe' become 'joeA' or joea'"
msgstr ""
#: dialogs.xrc:4439
msgid "Upper"
msgstr ""
#: dialogs.xrc:4440
msgid "Lower"
msgstr ""
#: dialogs.xrc:4501
msgid "Confirm Rename"
msgstr ""
#: dialogs.xrc:4514
msgid "Are you sure that you want to make these changes?"
msgstr ""
#: moredialogs.xrc:4
msgid "Locate Files"
msgstr ""
#: moredialogs.xrc:22
msgid "Enter the search string. eg *foo[ab]r"
msgstr ""
#: moredialogs.xrc:32
msgid ""
"This is the pattern to be matched. If you type in 'foo', both path/foo and "
"path/foobar/morepath will be found. Alternatively you can use the wildcards"
" *, ? and [ ]. If you do, Locate will only return exact matches, i.e. you "
"need to enter *foo[ab]r* to find path/foobar/morepath"
msgstr ""
#: moredialogs.xrc:54
msgid ""
"Match only the final component of a file e.g. the 'foo' bit of "
"/home/myname/bar/foo but not /home/myname/foo/bar"
msgstr ""
#: moredialogs.xrc:57
msgid " -b Basename"
msgstr ""
#: moredialogs.xrc:65
msgid ""
"If checked, the pattern 'foo' matches both foo and Foo (and FoO and...)"
msgstr ""
#: moredialogs.xrc:68
msgid " -i Ignore case"
msgstr ""
#: moredialogs.xrc:83
msgid ""
"Locate searches a database, which is usually updated only once a day. If "
"this box is ticked, each result is checked to make sure it still exists, and"
" hasn't been deleted since the last update. If there are lots of results, "
"this may take a noticeable time to do."
msgstr ""
#: moredialogs.xrc:86
msgid " -e Existing"
msgstr ""
#: moredialogs.xrc:94
msgid ""
"If checked, treat the pattern as a Regular Expression, not just the usual "
"glob"
msgstr ""
#: moredialogs.xrc:97
msgid " -r Regex"
msgstr ""
#: moredialogs.xrc:158
msgid "Find"
msgstr ""
#: moredialogs.xrc:179 moredialogs.xrc:266 moredialogs.xrc:861
msgid "Path"
msgstr ""
#: moredialogs.xrc:194
msgid ""
"This is Full Find. There is also a Quick Find\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:208
msgid "Click for &Quick Find"
msgstr ""
#: moredialogs.xrc:211
msgid "Click here to go to the Quick Find dialog"
msgstr ""
#: moredialogs.xrc:222
msgid "Tick the checkbox to make Quick Find the default in the future"
msgstr ""
#: moredialogs.xrc:225
msgid "Make Quick Find the default"
msgstr ""
#: moredialogs.xrc:241
msgid ""
"Enter the Path from which to start searching (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:276 moredialogs.xrc:12623
msgid "Type in the Path from which to search"
msgstr ""
#: moredialogs.xrc:305
msgid "Search the current directory and below"
msgstr ""
#: moredialogs.xrc:308 moredialogs.xrc:3899 moredialogs.xrc:12344
#: moredialogs.xrc:12652
msgid "Current Directory"
msgstr ""
#: moredialogs.xrc:316
msgid "Search your Home directory and below"
msgstr ""
#: moredialogs.xrc:327
msgid "Search the whole directory tree"
msgstr ""
#: moredialogs.xrc:330 moredialogs.xrc:3915 moredialogs.xrc:12360
#: moredialogs.xrc:12668
msgid "Root ( / )"
msgstr ""
#: moredialogs.xrc:346 moredialogs.xrc:906
msgid "&Add To Command String, surrounded by Quotes"
msgstr ""
#: moredialogs.xrc:349 moredialogs.xrc:909 moredialogs.xrc:3938
msgid ""
"Add to the Command string. Single quotes will be provided to protect "
"metacharacters."
msgstr ""
#: moredialogs.xrc:365 moredialogs.xrc:10353
msgid "Options"
msgstr ""
#: moredialogs.xrc:380
msgid "These options are applied to the whole command. Select any you wish."
msgstr ""
#: moredialogs.xrc:412
msgid ""
"Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the"
" beginning of today rather than from 24 hours ago"
msgstr ""
#: moredialogs.xrc:415
msgid "-daystart"
msgstr ""
#: moredialogs.xrc:423
msgid ""
"Process each directory's contents before the directory itself. In other "
"words, Find from the bottom upwards."
msgstr ""
#: moredialogs.xrc:426
msgid "-depth"
msgstr ""
#: moredialogs.xrc:434
msgid ""
"Dereference symbolic links (ie look at what is linked to, not the link "
"itself). Implies -noleaf."
msgstr ""
#: moredialogs.xrc:437
msgid "-follow"
msgstr ""
#: moredialogs.xrc:456
msgid ""
"Descend at most the selected number of levels of directories below the start"
" path. `-maxdepth 0' means only apply the tests and actions to the command "
"line arguments."
msgstr ""
#: moredialogs.xrc:459
msgid "-maxdepth"
msgstr ""
#: moredialogs.xrc:467
msgid ""
"Don't start searching until the selected depth down each directory branch. "
"`-mindepth 1' means process all files except the command line arguments."
msgstr ""
#: moredialogs.xrc:470
msgid "-mindepth"
msgstr ""
#: moredialogs.xrc:517
msgid ""
"Don't optimise by assuming that directories contain 2 fewer subdirectories "
"than their hard link count"
msgstr ""
#: moredialogs.xrc:520
msgid "-noleaf"
msgstr ""
#: moredialogs.xrc:528
msgid "Don't descend directories on other filesystems. -mount is a synonym"
msgstr ""
#: moredialogs.xrc:531
msgid "-xdev (-mount)"
msgstr ""
#: moredialogs.xrc:539
msgid "HEELLLP!!"
msgstr ""
#: moredialogs.xrc:542
msgid "-help"
msgstr ""
#: moredialogs.xrc:565 moredialogs.xrc:730 moredialogs.xrc:1306
#: moredialogs.xrc:1554 moredialogs.xrc:2132 moredialogs.xrc:2556
#: moredialogs.xrc:2861 moredialogs.xrc:2971 moredialogs.xrc:3260
#: moredialogs.xrc:3636 moredialogs.xrc:3820 moredialogs.xrc:3935
msgid "&Add To Command String"
msgstr ""
#: moredialogs.xrc:568 moredialogs.xrc:733 moredialogs.xrc:2559
#: moredialogs.xrc:2864 moredialogs.xrc:2974 moredialogs.xrc:3263
#: moredialogs.xrc:3639
msgid "Add these choices to the Command string"
msgstr ""
#: moredialogs.xrc:580
msgid "Operators"
msgstr ""
#: moredialogs.xrc:600
msgid ""
"Here for completeness, but it's usually easier to write them direct into the"
" Command String."
msgstr ""
#: moredialogs.xrc:608
msgid "Select one at a time."
msgstr ""
#: moredialogs.xrc:642
msgid ""
"Logically AND the two surrounding expressions. Since this is the default, "
"the only reason explicitly to use it is for emphasis."
msgstr ""
#: moredialogs.xrc:645
msgid "-and"
msgstr ""
#: moredialogs.xrc:653
msgid "Logically OR the surrounding expressions"
msgstr ""
#: moredialogs.xrc:656
msgid "-or"
msgstr ""
#: moredialogs.xrc:664
msgid "Negate the following expression"
msgstr ""
#: moredialogs.xrc:667
msgid "-not"
msgstr ""
#: moredialogs.xrc:682
msgid ""
"Used (with Close Bracket) to alter precedence eg ensure two -path "
"expressions are run before a -prune. It is automatically 'escaped' with a "
"backslash."
msgstr ""
#: moredialogs.xrc:685
msgid "Open Bracket"
msgstr ""
#: moredialogs.xrc:693
msgid "Like Open Bracket, this is automatically 'escaped' with a backslash."
msgstr ""
#: moredialogs.xrc:696
msgid "Close Bracket"
msgstr ""
#: moredialogs.xrc:704
msgid ""
"Separates list items with a comma. If you can't think of a use for this, "
"you're in good company."
msgstr ""
#: moredialogs.xrc:707
msgid "List ( , )"
msgstr ""
#: moredialogs.xrc:764
msgid ""
"Enter a search term, which may include wildcards. It may instead be a "
"Regular Expression."
msgstr ""
#: moredialogs.xrc:771
msgid "Use Path or Regex if there is a '/' in the term, otherwise Name."
msgstr ""
#: moredialogs.xrc:778
msgid "Symbolic-Link returns only symlinks."
msgstr ""
#: moredialogs.xrc:812
msgid "Search term"
msgstr ""
#: moredialogs.xrc:823
msgid "Type in the name to match. eg *.txt or /usr/s*"
msgstr ""
#: moredialogs.xrc:834
msgid "Ignore Case"
msgstr ""
#: moredialogs.xrc:852
msgid "This is a"
msgstr ""
#: moredialogs.xrc:855
msgid ""
"Select one of these alternatives. Apart from 'Regular Expression' they may contain wildcards.\n"
"Symbolic-Link will return only matching symlinks.\n"
"Regular Expression means the entry is a proper regex and will return anything it matches."
msgstr ""
#: moredialogs.xrc:862
msgid "Regular Expression"
msgstr ""
#: moredialogs.xrc:863
msgid "Symbolic-Link"
msgstr ""
#: moredialogs.xrc:882
msgid "Return Matches"
msgstr ""
#: moredialogs.xrc:884
msgid "Return any results (the default behaviour)"
msgstr ""
#: moredialogs.xrc:893
msgid "Ignore Matches"
msgstr ""
#: moredialogs.xrc:895
msgid ""
"Usually you WANT the results, but sometimes you'll wish to ignore eg a "
"particular directory. If so, enter its path, then select Path and Ignore."
msgstr ""
#: moredialogs.xrc:946
msgid "To filter by Time, select one of the following:"
msgstr ""
#: moredialogs.xrc:971 moredialogs.xrc:1117
msgid "Files that were"
msgstr ""
#: moredialogs.xrc:989 moredialogs.xrc:1135
msgid "Accessed"
msgstr ""
#: moredialogs.xrc:997 moredialogs.xrc:1143
msgid "Modified"
msgstr ""
#: moredialogs.xrc:1005 moredialogs.xrc:1151
msgid "Status changed"
msgstr ""
#: moredialogs.xrc:1023 moredialogs.xrc:1238 moredialogs.xrc:1383
#: moredialogs.xrc:1722
msgid "More than"
msgstr ""
#: moredialogs.xrc:1031 moredialogs.xrc:1246 moredialogs.xrc:1391
#: moredialogs.xrc:1730
msgid "Exactly"
msgstr ""
#: moredialogs.xrc:1039 moredialogs.xrc:1254 moredialogs.xrc:1399
#: moredialogs.xrc:1738
msgid "Less than"
msgstr ""
#: moredialogs.xrc:1056
msgid "Enter the number of minutes or days"
msgstr ""
#: moredialogs.xrc:1078
msgid "Minutes ago"
msgstr ""
#: moredialogs.xrc:1086
msgid "Days ago"
msgstr ""
#: moredialogs.xrc:1169
msgid "more recently than the file:"
msgstr ""
#: moredialogs.xrc:1182 moredialogs.xrc:3196 moredialogs.xrc:3239
#: moredialogs.xrc:3617
msgid "Type in the pathname of the file to compare with"
msgstr ""
#: moredialogs.xrc:1220
msgid "Files that were last accessed"
msgstr ""
#: moredialogs.xrc:1271
msgid "Enter the number of days"
msgstr ""
#: moredialogs.xrc:1289
msgid "days after being modified"
msgstr ""
#: moredialogs.xrc:1309
msgid "Add to the Command string."
msgstr ""
#: moredialogs.xrc:1325
msgid "Size and type"
msgstr ""
#: moredialogs.xrc:1339 moredialogs.xrc:1587
msgid "Choose up to one (at a time) of the following:"
msgstr ""
#: moredialogs.xrc:1365
msgid "Files of size"
msgstr ""
#: moredialogs.xrc:1435
msgid "bytes"
msgstr ""
#: moredialogs.xrc:1443
msgid "512-byte blocks"
msgstr ""
#: moredialogs.xrc:1451
msgid "kilobytes"
msgstr ""
#: moredialogs.xrc:1478
msgid "Empty files"
msgstr ""
#: moredialogs.xrc:1511
msgid "Type"
msgstr ""
#: moredialogs.xrc:1531
msgid "File"
msgstr ""
#: moredialogs.xrc:1532
msgid "SymLink"
msgstr ""
#: moredialogs.xrc:1533
msgid "Pipe"
msgstr ""
#: moredialogs.xrc:1535
msgid "Blk Special"
msgstr ""
#: moredialogs.xrc:1536
msgid "Char Special"
msgstr ""
#: moredialogs.xrc:1557 moredialogs.xrc:2135
msgid "Add to the Command string"
msgstr ""
#: moredialogs.xrc:1573
msgid "Owner and permissions"
msgstr ""
#: moredialogs.xrc:1628 moredialogs.xrc:1850 moredialogs.xrc:6543
#: moredialogs.xrc:7716 moredialogs.xrc:8905
msgid "User"
msgstr ""
#: moredialogs.xrc:1662
msgid "By Name"
msgstr ""
#: moredialogs.xrc:1675
msgid "By ID"
msgstr ""
#: moredialogs.xrc:1696
msgid "Type in the owner name to match. eg root"
msgstr ""
#: moredialogs.xrc:1755
msgid "Enter the ID to compare against"
msgstr ""
#: moredialogs.xrc:1790
msgid "No User"
msgstr ""
#: moredialogs.xrc:1798
msgid "No Group"
msgstr ""
#: moredialogs.xrc:1868 moredialogs.xrc:6559 moredialogs.xrc:7732
#: moredialogs.xrc:8921
msgid "Others"
msgstr ""
#: moredialogs.xrc:1883 moredialogs.xrc:6573 moredialogs.xrc:7746
#: moredialogs.xrc:8935
msgid "Read"
msgstr ""
#: moredialogs.xrc:1928 moredialogs.xrc:6614 moredialogs.xrc:7787
#: moredialogs.xrc:8976
msgid "Write"
msgstr ""
#: moredialogs.xrc:1973 moredialogs.xrc:6655 moredialogs.xrc:7828
#: moredialogs.xrc:9017
msgid "Exec"
msgstr ""
#: moredialogs.xrc:2018 moredialogs.xrc:6696 moredialogs.xrc:7869
#: moredialogs.xrc:9058
msgid "Special"
msgstr ""
#: moredialogs.xrc:2028 moredialogs.xrc:6704 moredialogs.xrc:7877
#: moredialogs.xrc:9066
msgid "suid"
msgstr ""
#: moredialogs.xrc:2037 moredialogs.xrc:6712 moredialogs.xrc:7885
#: moredialogs.xrc:9074
msgid "sgid"
msgstr ""
#: moredialogs.xrc:2046 moredialogs.xrc:6720 moredialogs.xrc:7893
#: moredialogs.xrc:9082
msgid "sticky"
msgstr ""
#: moredialogs.xrc:2064
msgid "or Enter Octal"
msgstr ""
#: moredialogs.xrc:2075
msgid "Type in the octal string to match. eg 0664"
msgstr ""
#: moredialogs.xrc:2098
msgid "Match Any"
msgstr ""
#: moredialogs.xrc:2106
msgid "Exact Match only"
msgstr ""
#: moredialogs.xrc:2114
msgid "Match Each Specified"
msgstr ""
#: moredialogs.xrc:2151
msgid "Actions"
msgstr ""
#: moredialogs.xrc:2170
msgid "What to do with the results. The default is to Print them."
msgstr ""
#: moredialogs.xrc:2197
msgid "Print the results on the standard output, each followed by a newline"
msgstr ""
#: moredialogs.xrc:2200
msgid " print"
msgstr ""
#: moredialogs.xrc:2224
msgid ""
"The same as 'Print', but adds a terminal '\\0' to each string instead of a "
"newline"
msgstr ""
#: moredialogs.xrc:2227
msgid " print0"
msgstr ""
#: moredialogs.xrc:2251
msgid "List the results in `ls -dils' format on the standard output"
msgstr ""
#: moredialogs.xrc:2254
msgid " ls"
msgstr ""
#: moredialogs.xrc:2289
msgid "Execute the following command for each match"
msgstr ""
#: moredialogs.xrc:2292
msgid "exec"
msgstr ""
#: moredialogs.xrc:2300
msgid "Execute the following command, asking first for each match"
msgstr ""
#: moredialogs.xrc:2303
msgid "ok"
msgstr ""
#: moredialogs.xrc:2317
msgid "Command to execute"
msgstr ""
#: moredialogs.xrc:2329
msgid ""
"This is the command to be executed. The {} ; will be added automatically"
msgstr ""
#: moredialogs.xrc:2357
msgid ""
"Output each string as in print, but using the following format: see 'man "
"find(1)' for the byzantine details"
msgstr ""
#: moredialogs.xrc:2360
msgid "printf"
msgstr ""
#: moredialogs.xrc:2374 moredialogs.xrc:2510
msgid "Format String"
msgstr ""
#: moredialogs.xrc:2409
msgid "Output as ls, but to the following file"
msgstr ""
#: moredialogs.xrc:2412
msgid "fls"
msgstr ""
#: moredialogs.xrc:2420
msgid "Output each string as print, but to the following file"
msgstr ""
#: moredialogs.xrc:2423
msgid "fprint"
msgstr ""
#: moredialogs.xrc:2431
msgid "Same as fprint, but null-terminated"
msgstr ""
#: moredialogs.xrc:2434
msgid "fprint0"
msgstr ""
#: moredialogs.xrc:2448 moredialogs.xrc:2525
msgid "Destination File"
msgstr ""
#: moredialogs.xrc:2460 moredialogs.xrc:2535
msgid ""
"The filepath of the destination file. It will be created/truncated as "
"appropriate"
msgstr ""
#: moredialogs.xrc:2486
msgid "Behaves like printf, but to the following file"
msgstr ""
#: moredialogs.xrc:2489
msgid "fprintf"
msgstr ""
#: moredialogs.xrc:2586
msgid "Command:"
msgstr ""
#: moredialogs.xrc:2597
msgid ""
"This is where the Find command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:2630 moredialogs.xrc:4015 moredialogs.xrc:12493
#: moredialogs.xrc:12814
msgid "&SEARCH"
msgstr ""
#: moredialogs.xrc:2664
msgid "Grep"
msgstr ""
#: moredialogs.xrc:2685
msgid "General Options"
msgstr ""
#: moredialogs.xrc:2700
msgid ""
"This is the Full-Grep notebook.\n"
"There's also a Quick-Grep dialog\n"
"that will suffice for most searches"
msgstr ""
#: moredialogs.xrc:2715
msgid "Click for &Quick Grep"
msgstr ""
#: moredialogs.xrc:2718
msgid "Click here to go to the Quick-Grep dialog"
msgstr ""
#: moredialogs.xrc:2729
msgid "Tick the checkbox to make Quick Grep the default in the future"
msgstr ""
#: moredialogs.xrc:2732
msgid "Make Quick Grep the default"
msgstr ""
#: moredialogs.xrc:2756
msgid "Syntax: grep [options] [PatternToMatch] [File(s) to search]"
msgstr ""
#: moredialogs.xrc:2764
msgid ""
"Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern\n"
"and the path or files to search. Alternatively you can write direct into the Command box."
msgstr ""
#: moredialogs.xrc:2788
msgid "Select whichever options you need"
msgstr ""
#: moredialogs.xrc:2808
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:2816
msgid "Ignore case, both in the pattern and in filenames"
msgstr ""
#: moredialogs.xrc:2819
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:2834
msgid "-x return whole Line matches only"
msgstr ""
#: moredialogs.xrc:2842
msgid "-v return only lines that DON'T match"
msgstr ""
#: moredialogs.xrc:2876
msgid "Directory Options"
msgstr ""
#: moredialogs.xrc:2893
msgid "Options to do with Directories"
msgstr ""
#: moredialogs.xrc:2919
msgid " Do what with Directories?"
msgstr ""
#: moredialogs.xrc:2937
msgid "Try to match the names (the default)"
msgstr ""
#: moredialogs.xrc:2945
msgid " -r Recurse into them"
msgstr ""
#: moredialogs.xrc:2953 moredialogs.xrc:3133 moredialogs.xrc:12466
msgid "Ignore them altogether"
msgstr ""
#: moredialogs.xrc:2990
msgid "File Options"
msgstr ""
#: moredialogs.xrc:3004
msgid "Options to do with Files"
msgstr ""
#: moredialogs.xrc:3036
msgid " Stop searching a file after"
msgstr ""
#: moredialogs.xrc:3053
msgid "Enter the maximum number of matches"
msgstr ""
#: moredialogs.xrc:3071
msgid "matches found"
msgstr ""
#: moredialogs.xrc:3093
msgid " Do what with Binary Files?"
msgstr ""
#: moredialogs.xrc:3111
msgid "Report those containing a match (the default)"
msgstr ""
#: moredialogs.xrc:3113
msgid ""
"Search through the binary file, outputting only a 'Binary file matches' "
"message, not the matching line"
msgstr ""
#: moredialogs.xrc:3122
msgid "Treat them as if they were textfiles"
msgstr ""
#: moredialogs.xrc:3124
msgid ""
"Search through the binary file, outputting any line that matches the "
"pattern. This usually results in garbage"
msgstr ""
#: moredialogs.xrc:3155
msgid " -D skip Ignore devices, sockets, FIFOs"
msgstr ""
#: moredialogs.xrc:3178
msgid " Don't search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3221
msgid " Only search in files that match the following pattern:"
msgstr ""
#: moredialogs.xrc:3275
msgid "Output Options"
msgstr ""
#: moredialogs.xrc:3290
msgid "Options relating to the Output"
msgstr ""
#: moredialogs.xrc:3319
msgid "-c print only Count of matches"
msgstr ""
#: moredialogs.xrc:3327
msgid ""
"Print only the names of the files that contain matches, not the matches "
"themselves"
msgstr ""
#: moredialogs.xrc:3330
msgid "-l print just each match's Filename"
msgstr ""
#: moredialogs.xrc:3338
msgid "-H print the Filename for each match"
msgstr ""
#: moredialogs.xrc:3346
msgid "-n prefix a match with its line-Number"
msgstr ""
#: moredialogs.xrc:3354
msgid "-s don't print Error messages"
msgstr ""
#: moredialogs.xrc:3371
msgid "-B Show"
msgstr ""
#: moredialogs.xrc:3387 moredialogs.xrc:3497 moredialogs.xrc:3556
msgid "Enter the number of lines of context you want to see"
msgstr ""
#: moredialogs.xrc:3404
msgid "lines of leading context"
msgstr ""
#: moredialogs.xrc:3423
msgid "-o print only Matching section of line"
msgstr ""
#: moredialogs.xrc:3431
msgid "Print only the names of those files that contain NO matches"
msgstr ""
#: moredialogs.xrc:3434
msgid "-L Print only filenames with no match"
msgstr ""
#: moredialogs.xrc:3442
msgid "-h Don't print filenames if multiple files"
msgstr ""
#: moredialogs.xrc:3450
msgid "Prefix each match with its line's offset within the file, in bytes"
msgstr ""
#: moredialogs.xrc:3453
msgid "-b prefix a match with its Byte offset"
msgstr ""
#: moredialogs.xrc:3461
msgid ""
"No output at all, either matches or errors, but exit with 0 status at first "
"match"
msgstr ""
#: moredialogs.xrc:3464
msgid "-q print No output at all"
msgstr ""
#: moredialogs.xrc:3481
msgid "-A Show"
msgstr ""
#: moredialogs.xrc:3514
msgid "lines of trailing context"
msgstr ""
#: moredialogs.xrc:3539
msgid "-C Show"
msgstr ""
#: moredialogs.xrc:3574
msgid "lines of both leading and trailing context"
msgstr ""
#: moredialogs.xrc:3596
msgid ""
"Displays input actually coming from standard input (or a pipe) as input "
"coming from this filename. eg if displaying the contents of an Archive"
msgstr ""
#: moredialogs.xrc:3599
msgid " Make the display pretend the input came from File:"
msgstr ""
#: moredialogs.xrc:3651
msgid "Pattern"
msgstr ""
#: moredialogs.xrc:3671
msgid ""
"If your search pattern begins with a minus sign eg -foo grep will try to "
"find a non-existant option '-foo'. The -e option protects against this."
msgstr ""
#: moredialogs.xrc:3674
msgid "-e Use this if your pattern begins with a minus sign"
msgstr ""
#: moredialogs.xrc:3690 moredialogs.xrc:12245
msgid "Regular Expression to be matched"
msgstr ""
#: moredialogs.xrc:3703 moredialogs.xrc:12268
msgid "Type in the name for which to search. eg foobar or f.*r"
msgstr ""
#: moredialogs.xrc:3718
msgid ""
"&Regex\n"
"Help"
msgstr ""
#: moredialogs.xrc:3743
msgid ""
"Treat the pattern not as a Regular Expression but as a list of fixed "
"strings, separated by newlines, any of which is to be matched ie as though "
"using fgrep"
msgstr ""
#: moredialogs.xrc:3746
msgid "-F Treat pattern as if using fgrep"
msgstr ""
#: moredialogs.xrc:3761
msgid "-P treat pattern as a Perl regex"
msgstr ""
#: moredialogs.xrc:3783
msgid ""
"Instead of entering the pattern in the box above, extract it from this file"
msgstr ""
#: moredialogs.xrc:3786
msgid "-f instead load the pattern from File:"
msgstr ""
#: moredialogs.xrc:3823
msgid ""
"Add to the Command string. The Pattern will be given single quotes to "
"protect metacharacters."
msgstr ""
#: moredialogs.xrc:3835
msgid "Location"
msgstr ""
#: moredialogs.xrc:3848
msgid ""
"Enter the Path or list of Files to search (or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:3872 moredialogs.xrc:12315
msgid ""
"Type in the Path from which to search. If you use the shortcuts on the "
"right, you can then append a /* if needed"
msgstr ""
#: moredialogs.xrc:3965
msgid "This will be the grep command string"
msgstr ""
#: moredialogs.xrc:3990
msgid ""
"This is where the grep command string will be built. Either use the dialog "
"pages, or type things in direct"
msgstr ""
#: moredialogs.xrc:4085
msgid ""
"If checked, the dialog will automatically close 2 seconds after the last "
"entry is made"
msgstr ""
#: moredialogs.xrc:4088
msgid "Auto-Close"
msgstr ""
#: moredialogs.xrc:4128
msgid "Archive Files"
msgstr ""
#: moredialogs.xrc:4169 moredialogs.xrc:4595
msgid "File(s) to store in the Archive"
msgstr ""
#: moredialogs.xrc:4208 moredialogs.xrc:4634 moredialogs.xrc:4969
#: moredialogs.xrc:5248 moredialogs.xrc:5746
msgid "Add another File"
msgstr ""
#: moredialogs.xrc:4241
msgid "Browse for another file"
msgstr ""
#: moredialogs.xrc:4255 moredialogs.xrc:5015 moredialogs.xrc:10943
msgid "&Add"
msgstr ""
#: moredialogs.xrc:4258 moredialogs.xrc:4682 moredialogs.xrc:5018
#: moredialogs.xrc:5296 moredialogs.xrc:5795
msgid "Add the file or directory in the above box to the list on the left"
msgstr ""
#: moredialogs.xrc:4297
msgid "Name to give the Archive"
msgstr ""
#: moredialogs.xrc:4307
msgid ""
"Enter just the main part of the name, not the extension eg foo, not "
"foo.tar.gz"
msgstr ""
#: moredialogs.xrc:4316
msgid "(Don't add an ext)"
msgstr ""
#: moredialogs.xrc:4335
msgid "Create in this folder"
msgstr ""
#: moredialogs.xrc:4371
msgid "Browse for a suitable folder"
msgstr ""
#: moredialogs.xrc:4407
msgid "Create the archive using Tar"
msgstr ""
#: moredialogs.xrc:4419 moredialogs.xrc:5041
msgid "Compress using:"
msgstr ""
#: moredialogs.xrc:4422
msgid ""
"Which program to use (or none) to compress the Archive. gzip and bzip2 are "
"good choices. If it's available on your system, xz gives the best "
"compression."
msgstr ""
#: moredialogs.xrc:4427 moredialogs.xrc:5049
msgid "bzip2"
msgstr ""
#: moredialogs.xrc:4428 moredialogs.xrc:5050
msgid "gzip"
msgstr ""
#: moredialogs.xrc:4429 moredialogs.xrc:5051
msgid "xz"
msgstr ""
#: moredialogs.xrc:4430 moredialogs.xrc:5052
msgid "lzma"
msgstr ""
#: moredialogs.xrc:4431
msgid "7z"
msgstr ""
#: moredialogs.xrc:4432 moredialogs.xrc:5053
msgid "lzop"
msgstr ""
#: moredialogs.xrc:4433
msgid "don't compress"
msgstr ""
#: moredialogs.xrc:4446 moredialogs.xrc:4812
msgid ""
"Don't store in the archive the Name of a symbolic link, store the file to "
"which it points"
msgstr ""
#: moredialogs.xrc:4449
msgid "Dereference symlinks"
msgstr ""
#: moredialogs.xrc:4458 moredialogs.xrc:4823
msgid ""
"Try to verify the integrity of the archive once it's made. Not guaranteed, "
"but better than nothing. Takes a long time for very large archives, though."
msgstr ""
#: moredialogs.xrc:4461
msgid "Verify afterwards"
msgstr ""
#: moredialogs.xrc:4469 moredialogs.xrc:4834
msgid ""
"Delete the source files once they have been added to the archive. For "
"courageous users only, unless the files are unimportant!"
msgstr ""
#: moredialogs.xrc:4472
msgid "Delete source files"
msgstr ""
#: moredialogs.xrc:4500
msgid ""
"Use zip both to archive the file(s) and compress them. It compresses less "
"well than gzip or bzip2, so use it for compatability with lesser operating "
"systems that don't have these programs."
msgstr ""
#: moredialogs.xrc:4503
msgid "Use zip instead"
msgstr ""
#: moredialogs.xrc:4554
msgid "Append files to existing Archive"
msgstr ""
#: moredialogs.xrc:4679 moredialogs.xrc:5293 moredialogs.xrc:5792
msgid "&Add to List"
msgstr ""
#: moredialogs.xrc:4725
msgid "Archive to which to Append"
msgstr ""
#: moredialogs.xrc:4747 moredialogs.xrc:5547
msgid ""
"Path and name of the archive. If not already in the entry list, write it in"
" or Browse."
msgstr ""
#: moredialogs.xrc:4764 moredialogs.xrc:5564
msgid "Browse"
msgstr ""
#: moredialogs.xrc:4815
msgid "Dereference Symlinks"
msgstr ""
#: moredialogs.xrc:4826
msgid "Verify archive afterwards"
msgstr ""
#: moredialogs.xrc:4837
msgid "Delete Source Files afterwards"
msgstr ""
#: moredialogs.xrc:4899
msgid "Compress files"
msgstr ""
#: moredialogs.xrc:4933
msgid "File(s) to Compress"
msgstr ""
#: moredialogs.xrc:5044
msgid ""
"Which program to compress with. Bzip2 is said to squeeze harder (at least for large files) but takes longer.\n"
"If for some reason you want to use Zip, this is available from Archive > Create."
msgstr ""
#: moredialogs.xrc:5054
msgid "'compress'"
msgstr ""
#: moredialogs.xrc:5071
msgid "Faster"
msgstr ""
#: moredialogs.xrc:5081
msgid ""
"Applies only to gzip. The higher the value, the greater the compression but"
" the longer it takes to do"
msgstr ""
#: moredialogs.xrc:5091
msgid "Smaller"
msgstr ""
#: moredialogs.xrc:5112
msgid ""
"Normal behaviour is not to overwrite an existing compressed file with the "
"same name. Check this box if you want to override this."
msgstr ""
#: moredialogs.xrc:5115
msgid "Overwrite any existing files"
msgstr ""
#: moredialogs.xrc:5123
msgid ""
"If checked, all files in any selected directories (and their subdirectories)"
" will be compressed. If unchecked, directories are ignored."
msgstr ""
#: moredialogs.xrc:5126
msgid "Recursively compress all files in any selected directories"
msgstr ""
#: moredialogs.xrc:5180
msgid "Extract Compressed Files"
msgstr ""
#: moredialogs.xrc:5214
msgid "Compressed File(s) to Extract"
msgstr ""
#: moredialogs.xrc:5334
msgid ""
"If a selection is a directory, uncompress any compressed files within it and"
" its subdirectories"
msgstr ""
#: moredialogs.xrc:5337
msgid "Recurse into Directories"
msgstr ""
#: moredialogs.xrc:5346
msgid ""
"If a file has the same name as an extracted file, automatically overwrite it"
msgstr ""
#: moredialogs.xrc:5349 moredialogs.xrc:5614
msgid "Overwrite existing files"
msgstr ""
#: moredialogs.xrc:5358
msgid ""
"Uncompress, but don't extract, any selected archives. If unchecked, "
"archives are ignored"
msgstr ""
#: moredialogs.xrc:5361
msgid "Uncompress Archives too"
msgstr ""
#: moredialogs.xrc:5427
msgid "Extract an Archive"
msgstr ""
#: moredialogs.xrc:5466
msgid "Archive to Extract"
msgstr ""
#: moredialogs.xrc:5525
msgid "Directory into which to Extract"
msgstr ""
#: moredialogs.xrc:5611
msgid ""
"If there already exist files with the same name as any of those extracted "
"from the archive, overwrite them."
msgstr ""
#: moredialogs.xrc:5679
msgid "Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5712
msgid "Compressed File(s) to Verify"
msgstr ""
#: moredialogs.xrc:5819
msgid "&Verify Compressed Files"
msgstr ""
#: moredialogs.xrc:5858
msgid "Verify an Archive"
msgstr ""
#: moredialogs.xrc:5892
msgid "Archive to Verify"
msgstr ""
#: moredialogs.xrc:6019
msgid "Do you wish to Extract an Archive, or Decompress files?"
msgstr ""
#: moredialogs.xrc:6034
msgid "&Extract an Archive"
msgstr ""
#: moredialogs.xrc:6049
msgid "&Decompress File(s)"
msgstr ""
#: moredialogs.xrc:6105
msgid "Do you wish to Verify an Archive, or Compressed files?"
msgstr ""
#: moredialogs.xrc:6120
msgid "An &Archive"
msgstr ""
#: moredialogs.xrc:6135
msgid "Compressed &File(s)"
msgstr ""
#: moredialogs.xrc:6164 moredialogs.xrc:7201 moredialogs.xrc:8397
msgid "Properties"
msgstr ""
#: moredialogs.xrc:6175 moredialogs.xrc:7212 moredialogs.xrc:8408
msgid "General"
msgstr ""
#: moredialogs.xrc:6215 moredialogs.xrc:7253 moredialogs.xrc:8447
msgid "Name:"
msgstr ""
#: moredialogs.xrc:6231 moredialogs.xrc:7269 moredialogs.xrc:8463
msgid "Location:"
msgstr ""
#: moredialogs.xrc:6246 moredialogs.xrc:7284 moredialogs.xrc:8478
msgid "Type:"
msgstr ""
#: moredialogs.xrc:6331 moredialogs.xrc:7489 moredialogs.xrc:8680
msgid "Size:"
msgstr ""
#: moredialogs.xrc:6346 moredialogs.xrc:7504 moredialogs.xrc:8694
msgid "Accessed:"
msgstr ""
#: moredialogs.xrc:6360 moredialogs.xrc:7518 moredialogs.xrc:8708
msgid "Admin Changed:"
msgstr ""
#: moredialogs.xrc:6375 moredialogs.xrc:7533 moredialogs.xrc:8722
msgid "Modified:"
msgstr ""
#: moredialogs.xrc:6490 moredialogs.xrc:7663 moredialogs.xrc:8852
msgid "Permissions and Ownership"
msgstr ""
#: moredialogs.xrc:6762 moredialogs.xrc:7932 moredialogs.xrc:9125
msgid "User:"
msgstr ""
#: moredialogs.xrc:6778 moredialogs.xrc:7948 moredialogs.xrc:9141
msgid "Group:"
msgstr ""
#: moredialogs.xrc:6846 moredialogs.xrc:8012 moredialogs.xrc:9209
msgid ""
"Apply any change in permissions or ownership to each contained file and "
"subdirectory"
msgstr ""
#: moredialogs.xrc:6849 moredialogs.xrc:8015 moredialogs.xrc:9212
msgid "Apply changes to all descendants"
msgstr ""
#: moredialogs.xrc:6898 moredialogs.xrc:8079 moredialogs.xrc:9276
msgid "Esoterica"
msgstr ""
#: moredialogs.xrc:6943 moredialogs.xrc:8124 moredialogs.xrc:9321
msgid "Device ID:"
msgstr ""
#: moredialogs.xrc:6958 moredialogs.xrc:8139 moredialogs.xrc:9336
msgid "Inode:"
msgstr ""
#: moredialogs.xrc:6973 moredialogs.xrc:8154 moredialogs.xrc:9351
msgid "No. of Hard Links:"
msgstr ""
#: moredialogs.xrc:6988 moredialogs.xrc:8169 moredialogs.xrc:9366
msgid "No. of 512B Blocks:"
msgstr ""
#: moredialogs.xrc:7003 moredialogs.xrc:8184 moredialogs.xrc:9381
msgid "Blocksize:"
msgstr ""
#: moredialogs.xrc:7017 moredialogs.xrc:8198 moredialogs.xrc:9395
msgid "Owner ID:"
msgstr ""
#: moredialogs.xrc:7032 moredialogs.xrc:8213 moredialogs.xrc:9410
msgid "Group ID:"
msgstr ""
#: moredialogs.xrc:7300
msgid "Link Target:"
msgstr ""
#: moredialogs.xrc:7367 moredialogs.xrc:8581
msgid ""
"To change the target, either write in the name of a different file or dir, "
"or use the Browse button"
msgstr ""
#: moredialogs.xrc:7382
msgid "&Go To Link Target"
msgstr ""
#: moredialogs.xrc:7454 moredialogs.xrc:8592
msgid "Browse to select a different target for the symlink"
msgstr ""
#: moredialogs.xrc:8494
msgid "First Link Target:"
msgstr ""
#: moredialogs.xrc:8508
msgid "Ultimate Target:"
msgstr ""
#: moredialogs.xrc:8606
msgid "&Go To First Link Target"
msgstr ""
#: moredialogs.xrc:8609
msgid "Go to the link that is the immediate target of this one"
msgstr ""
#: moredialogs.xrc:8638
msgid "Go To &Ultimate Target"
msgstr ""
#: moredialogs.xrc:8641
msgid "Go to the file that is the ultimate target of this link"
msgstr ""
#: moredialogs.xrc:9598
msgid "Mount an fstab partition"
msgstr ""
#: moredialogs.xrc:9635 moredialogs.xrc:9865
msgid "Partition to Mount"
msgstr ""
#: moredialogs.xrc:9658
msgid "This is the list of known, unmounted partitions in fstab"
msgstr ""
#: moredialogs.xrc:9705 moredialogs.xrc:9935
msgid "Mount-Point for the Partition"
msgstr ""
#: moredialogs.xrc:9728
msgid ""
"This is the mount-point corresponding to the selected partition, taken from "
"fstab"
msgstr ""
#: moredialogs.xrc:9762
msgid "&Mount a non-fstab partition"
msgstr ""
#: moredialogs.xrc:9765
msgid ""
"If a partition is not in fstab, it won't be listed above. Click this button "
"for all known partitions"
msgstr ""
#: moredialogs.xrc:9828
msgid "Mount a Partition"
msgstr ""
#: moredialogs.xrc:9888
msgid ""
"This is the list of known, unmounted partitions. If you think that you know "
"another, you may write it in."
msgstr ""
#: moredialogs.xrc:9958 moredialogs.xrc:10313 moredialogs.xrc:10673
#: moredialogs.xrc:10776 moredialogs.xrc:11089 moredialogs.xrc:11608
msgid ""
"If there is an fstab entry for this device, the mount-point will "
"automatically have been entered. If not, you must enter one yourself (or "
"browse)."
msgstr ""
#: moredialogs.xrc:9976 moredialogs.xrc:10331 moredialogs.xrc:10689
#: moredialogs.xrc:10794 moredialogs.xrc:11107 moredialogs.xrc:11626
msgid "Browse for a mount-point"
msgstr ""
#: moredialogs.xrc:10002 moredialogs.xrc:11133 moredialogs.xrc:11652
msgid "Mount Options"
msgstr ""
#: moredialogs.xrc:10020
msgid "No writing to the filesystem shall be allowed"
msgstr ""
#: moredialogs.xrc:10023
msgid "Read Only"
msgstr ""
#: moredialogs.xrc:10031
msgid "All writes to the filesystem while it is mounted shall be synchronous"
msgstr ""
#: moredialogs.xrc:10034
msgid "Synchronous Writes"
msgstr ""
#: moredialogs.xrc:10042
msgid "Access times of files shall not be updated when the files are accessed"
msgstr ""
#: moredialogs.xrc:10045
msgid "No File Access-time update"
msgstr ""
#: moredialogs.xrc:10059
msgid "No files in the filesystem shall be executed"
msgstr ""
#: moredialogs.xrc:10062
msgid "Files not executable"
msgstr ""
#: moredialogs.xrc:10070
msgid "No device special files in the filesystem shall be accessible"
msgstr ""
#: moredialogs.xrc:10073
msgid "Hide device special files"
msgstr ""
#: moredialogs.xrc:10081
msgid ""
"Setuid and Setgid permissions on files in the filesystem shall be ignored"
msgstr ""
#: moredialogs.xrc:10084
msgid "Ignore Setuid/Setgid"
msgstr ""
#: moredialogs.xrc:10097
msgid ""
"If ticked, a passive translator will be created in addition to an active "
"one. The mount will then persist, even after a reboot, until you choose to "
"remove it."
msgstr ""
#: moredialogs.xrc:10101
msgid "Create a Passive Translator too"
msgstr ""
#: moredialogs.xrc:10162
msgid "Mount using sshfs"
msgstr ""
#: moredialogs.xrc:10190
msgid "Remote user"
msgstr ""
#: moredialogs.xrc:10200
msgid ""
"Optionally, enter the name of the remote user. If you leave it blank, your "
"local username will be used"
msgstr ""
#: moredialogs.xrc:10212
msgid " @"
msgstr ""
#: moredialogs.xrc:10225
msgid "Host name"
msgstr ""
#: moredialogs.xrc:10235
msgid "Enter the name of the server e.g. myserver.com"
msgstr ""
#: moredialogs.xrc:10248
msgid " :"
msgstr ""
#: moredialogs.xrc:10261
msgid "Remote directory"
msgstr ""
#: moredialogs.xrc:10271
msgid ""
"Optionally, supply a directory to mount. The default is the remote user's "
"home dir"
msgstr ""
#: moredialogs.xrc:10292
msgid "Local mount-point"
msgstr ""
#: moredialogs.xrc:10363
msgid ""
"Translate the uid and gid of the remote host user to those of the local one."
" Recommended"
msgstr ""
#: moredialogs.xrc:10366
msgid "idmap=user"
msgstr ""
#: moredialogs.xrc:10378
msgid "mount read-only"
msgstr ""
#: moredialogs.xrc:10401
msgid "Other options:"
msgstr ""
#: moredialogs.xrc:10410
msgid ""
"Enter any other options you need e.g. -p 1234 -o cache_timeout=2. I'll trust"
" you to get the syntax right"
msgstr ""
#: moredialogs.xrc:10461
msgid "Mount a DVD-RAM Disc"
msgstr ""
#: moredialogs.xrc:10483
msgid "Device to Mount"
msgstr ""
#: moredialogs.xrc:10506
msgid "This is the device-name for the dvdram drive"
msgstr ""
#: moredialogs.xrc:10549
msgid ""
"These are the appropriate mount-points in fstab. You can supply your own if "
"you wish"
msgstr ""
#: moredialogs.xrc:10613
msgid "Mount an iso-image"
msgstr ""
#: moredialogs.xrc:10650
msgid "Image to Mount"
msgstr ""
#: moredialogs.xrc:10734
msgid "Mount-Point for the Image"
msgstr ""
#: moredialogs.xrc:10753
msgid ""
"Already\n"
"Mounted"
msgstr ""
#: moredialogs.xrc:10868
msgid "Mount an NFS export"
msgstr ""
#: moredialogs.xrc:10904
msgid "Choose a Server"
msgstr ""
#: moredialogs.xrc:10927
msgid ""
"This is the list of NFS servers currently active on the network. If you know"
" of another, use the button on the right to add it."
msgstr ""
#: moredialogs.xrc:10946
msgid "Manually add another server"
msgstr ""
#: moredialogs.xrc:10979
msgid "Export to Mount"
msgstr ""
#: moredialogs.xrc:11005
msgid "These are the Exports available on the above Server"
msgstr ""
#: moredialogs.xrc:11021 moredialogs.xrc:11542
msgid " already mounted"
msgstr ""
#: moredialogs.xrc:11148
msgid ""
"What to do if the server fails. A Hard mount will freeze your computer "
"until the server recovers; a Soft should quickly unfreeze itself, but may "
"lose data"
msgstr ""
#: moredialogs.xrc:11153
msgid "Hard Mount"
msgstr ""
#: moredialogs.xrc:11154
msgid "Soft Mount"
msgstr ""
#: moredialogs.xrc:11173 moredialogs.xrc:11750
msgid "Mount read-write"
msgstr ""
#: moredialogs.xrc:11174 moredialogs.xrc:11751
msgid "Mount read-only"
msgstr ""
#: moredialogs.xrc:11222
msgid "Add an NFS server"
msgstr ""
#: moredialogs.xrc:11259
msgid "IP address of the new Server"
msgstr ""
#: moredialogs.xrc:11282
msgid "Type in the address. It should be something like 192.168.0.2"
msgstr ""
#: moredialogs.xrc:11303
msgid "Store this address for future use"
msgstr ""
#: moredialogs.xrc:11368
msgid "Mount a Samba Share"
msgstr ""
#: moredialogs.xrc:11404
msgid "Available Servers"
msgstr ""
#: moredialogs.xrc:11427
msgid "IP Address"
msgstr ""
#: moredialogs.xrc:11438
msgid ""
"These are the IP addresses of the known sources of samba shares on the "
"network"
msgstr ""
#: moredialogs.xrc:11455
msgid "Host Name"
msgstr ""
#: moredialogs.xrc:11466
msgid ""
"These are the host-names of the known sources of samba shares on the network"
msgstr ""
#: moredialogs.xrc:11503
msgid "Share to Mount"
msgstr ""
#: moredialogs.xrc:11526
msgid "These are the shares available on the above Server"
msgstr ""
#: moredialogs.xrc:11669
msgid "Use this Name and Password"
msgstr ""
#: moredialogs.xrc:11670
msgid "Try to Mount Anonymously"
msgstr ""
#: moredialogs.xrc:11695
msgid "Username"
msgstr ""
#: moredialogs.xrc:11704
msgid "Enter your samba username for this share"
msgstr ""
#: moredialogs.xrc:11720
msgid "Password"
msgstr ""
#: moredialogs.xrc:11729
msgid "Enter the corresponding password (if there is one)"
msgstr ""
#: moredialogs.xrc:11801
msgid "Unmount a partition"
msgstr ""
#: moredialogs.xrc:11838
msgid " Partition to Unmount"
msgstr ""
#: moredialogs.xrc:11861
msgid "This is the list of mounted partitions from mtab"
msgstr ""
#: moredialogs.xrc:11908
msgid "Mount-Point for this Partition"
msgstr ""
#: moredialogs.xrc:11931
msgid "This is the mount-point corresponding to the selected partition"
msgstr ""
#: moredialogs.xrc:12001
msgid "Execute as superuser"
msgstr ""
#: moredialogs.xrc:12025
msgid "The command:"
msgstr ""
#: moredialogs.xrc:12040
msgid "requires extra privileges"
msgstr ""
#: moredialogs.xrc:12067
msgid "Please enter the administrator password:"
msgstr ""
#: moredialogs.xrc:12098
msgid "If ticked the password will be saved for, by default, 15 minutes"
msgstr ""
#: moredialogs.xrc:12101
msgid " Remember this password for a while"
msgstr ""
#: moredialogs.xrc:12163
msgid "Quick Grep"
msgstr ""
#: moredialogs.xrc:12182
msgid ""
"This is the Quick-Grep dialog.\n"
"It provides only the commonest\n"
"of the many grep options."
msgstr ""
#: moredialogs.xrc:12197
msgid "Click for &Full Grep"
msgstr ""
#: moredialogs.xrc:12200
msgid "Click here to go to the Full Grep dialog"
msgstr ""
#: moredialogs.xrc:12211
msgid "Tick the checkbox to make Full Grep the default in the future"
msgstr ""
#: moredialogs.xrc:12214
msgid "Make Full Grep the default"
msgstr ""
#: moredialogs.xrc:12304
msgid ""
"Enter the Path or list of Files to search\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12398
msgid "Only match whole words"
msgstr ""
#: moredialogs.xrc:12401
msgid "-w match Whole words only"
msgstr ""
#: moredialogs.xrc:12409 moredialogs.xrc:12733
msgid "Do a case-insensitive search"
msgstr ""
#: moredialogs.xrc:12412
msgid "-i Ignore case"
msgstr ""
#: moredialogs.xrc:12420 moredialogs.xrc:12431
msgid "Don't bother searching inside binary files"
msgstr ""
#: moredialogs.xrc:12423
msgid "-n prefix match with line-number"
msgstr ""
#: moredialogs.xrc:12434
msgid "Ignore binary files"
msgstr ""
#: moredialogs.xrc:12442
msgid "Don't try to search in devices, fifos, sockets and the like"
msgstr ""
#: moredialogs.xrc:12445
msgid "Ignore devices, fifos etc"
msgstr ""
#: moredialogs.xrc:12459
msgid "Do what with directories?"
msgstr ""
#: moredialogs.xrc:12464
msgid "Match the names"
msgstr ""
#: moredialogs.xrc:12465
msgid "Recurse into them"
msgstr ""
#: moredialogs.xrc:12531
msgid "Quick Find"
msgstr ""
#: moredialogs.xrc:12550
msgid ""
"This is the Quick-Find dialog.\n"
"It provides only the commonest\n"
"of the many find options."
msgstr ""
#: moredialogs.xrc:12565
msgid "Click for &Full Find"
msgstr ""
#: moredialogs.xrc:12568
msgid "Click here to go to the full Find dialog"
msgstr ""
#: moredialogs.xrc:12579
msgid "Tick the checkbox to make Full Find the default in the future"
msgstr ""
#: moredialogs.xrc:12582
msgid "Make Full Find the default"
msgstr ""
#: moredialogs.xrc:12612
msgid ""
"Enter the Path from which to start searching\n"
"(or use one of the shortcuts)"
msgstr ""
#: moredialogs.xrc:12706
msgid "Search term:"
msgstr ""
#: moredialogs.xrc:12721
msgid ""
"Type in the name or path for which to search. It can include wild-cards e.g. foobar or f.*r\n"
"Alternatively it can be a regular expression."
msgstr ""
#: moredialogs.xrc:12736
msgid "Ignore case"
msgstr ""
#: moredialogs.xrc:12760
msgid "This is a:"
msgstr ""
#: moredialogs.xrc:12769
msgid "name"
msgstr ""
#: moredialogs.xrc:12778
msgid "path"
msgstr ""
#: moredialogs.xrc:12787
msgid "regex"
msgstr ""
4pane-5.0/locale/Makefile.am 0000644 0001750 0001750 00000001357 13121747256 012617 0000000 0000000
all-local: clean-local
@if ! test -f $(MSGFMT) ; then \
echo "msgfmt not found. You probably need to install the gettext package"; \
exit 1; \
else \
## The complexity is because of 'make distcheck' which builds in a subdir, so we have to mkdir before we can msgfmt. $(srcdir) is ../../locale and $(builddir) '.'
## The 'find' output is e.g. ./fr.po which we cut to get 'fr'
find $(srcdir) -path *LC_MESSAGES/*.po -execdir sh -c 'echo {} | cut -d/ -f2 | cut -d. -f1' \; | xargs -I {} -- sh -c '$(MKDIR_P) $(abs_builddir)/{}/LC_MESSAGES && $(MSGFMT) $(srcdir)/{}/LC_MESSAGES/{}.po -o $(abs_builddir)/{}/LC_MESSAGES/4Pane.mo' ; \
fi
distclean-local: clean-local
clean-local:
@`find $(builddir) -path *LC_MESSAGES/*.mo -execdir rm -f {} \;`
4pane-5.0/rc/ 0000755 0001750 0001750 00000000000 13130460752 007773 5 0000000 0000000 4pane-5.0/rc/configuredialogs.xrc 0000644 0001750 0001750 00001312301 13124431003 013744 0000000 0000000
Enter Tooltip Delay
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Set desired Tooltip delay, in seconds
wxTOP|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
1
0
0
100
wxTOP|wxALIGN_CENTER
20
Turn off Tooltips
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
20,10
wxEXPAND
1
New device detected
1
wxVERTICAL
wxALL
15
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
wxALL|wxALIGN_CENTER
A device has been attached that I've not yet met.
wxALL|wxALIGN_CENTER
Would you like to configure it?
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxALL|wxEXPAND
5
&Yes
wxLEFT
0
wxLEFT
10
wxALL|wxEXPAND
5
N&ot now
wxLEFT
0
wxLEFT
10
wxALL|wxEXPAND
5
&Never
wxLEFT
0
20,10
wxEXPAND
1
Configure new device
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Devicenode
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
1
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Mount-point for the device
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
wxTOP|wxBOTTOM|wxEXPAND
20
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
What would you like to call it?
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
wxTOP|wxBOTTOM|wxEXPAND
20
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Device type
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
-1
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
Device is read-only
0
wxTOP|wxALIGN_CENTER
20
Ignore this device
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure new device
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Manufacturer's name
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
1
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Model name
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
wxEXPAND
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Device type
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
-1
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
Device is read-only
0
wxTOP|wxALIGN_CENTER
20
Ignore this device
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure new device
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
20
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Mount-point for this device
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
1
wxEXPAND
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Device type
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
-1
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
Device is read-only
0
wxTOP|wxALIGN_CENTER
15
Ignore this device
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure new device type
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxEXPAND
20
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Label to give this device
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
1
wxEXPAND
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Which is the best-matching description?
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
-1
1
wxTOP|wxALIGN_CENTER
10
wxVERTICAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
30
wxHORIZONTAL
20,10
1
wxLEFT
20
OK
wxLEFT
0
30,10
1
wxRIGHT
15
&CANCEL
wxLEFT
0
20,10
1
Configure 4Pane
1
wxVERTICAL
wxALL|wxEXPAND
10
1
wxVERTICAL
wxEXPAND
1
wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
&Finished
wxLEFT
0
wxVERTICAL
wxALIGN_CENTER
1
wxVERTICAL
1
wxALL
7
User-defined commands are external programs that you can
launch from 4Pane. They may be utilities like 'df', or any other
available program or executable script.
e.g. 'gedit %f' launches the currently-selected file in gedit.
wxALL
7
The following parameters are available:
%s will pass the selected file or folder to the application
%f (%d) will pass the selected file (directory) only
%a passes all of the active pane's selected items
%b will pass one selection from both fileview panes.
%p will prompt for a parameter to pass to the application.
To try to run a command as superuser, prefix e.g. gksu or sudo
wxLEFT|wxBOTTOM
7
On the following sub-pages you can Add, Edit or Delete tools.
1
wxVERTICAL
wxALIGN_CENTER
1
wxVERTICAL
1
wxALL
7
This section deals with devices. These may be either
fixed e.g. dvdrw drives, or removable e.g. usb pens.
4Pane can usually deduce a distro's behaviour and
configure itself to match. If this fails, or you want to make
changes, you can do so on the following sub-pages.
1
wxVERTICAL
wxALIGN_CENTER
1
wxVERTICAL
1
wxALL
7
This is where you can try to make things work
if something fails because you have a very old,
or a very modern, setup.
You are unlikely to need to use this section
but, if you do, read the tooltips.
1
wxVERTICAL
wxALIGN_CENTER
1
wxVERTICAL
1
wxALL
7
This is where you can configure 4Pane's appearance.
The first sub-page deals with the directory and file trees,
the second the font, and the third miscellaneous things.
1
wxVERTICAL
wxALIGN_CENTER
1
wxVERTICAL
1
wxALL
7
These two sub-pages deal with terminals. The first is
for real terminals, the second the terminal emulator.
1
wxVERTICAL
wxALIGN_CENTER
1
wxVERTICAL
1
wxALL
7
Finally, four pages of miscellany.
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
10
These items deal with the directory and file trees
wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
5
wxHORIZONTAL
wxRIGHT|wxALIGN_CENTER
10
wxVERTICAL
Pixels between the parent
dir and the Expand box
wxALIGN_CENTER
1
1
30
wxEXPAND
wxLEFT|wxALIGN_CENTER
10
wxVERTICAL
Pixels between the
Expand box and name
wxALIGN_CENTER
1
1
30
wxVERTICAL
wxTOP
5
By default, show hidden files and directories
0
Sort files in a locale-aware way
0
Treat a symlink-to-directory as a normal directory
0
Show lines in the directory tree
0
wxBOTTOM|wxEXPAND
3
wxHORIZONTAL
wxTOP|wxBOTTOM
3
Colour the background of a pane
0
1
wxLEFT|wxALIGN_CENTER_VERTICAL
2
&Select Colours
wxLEFT
0
wxBOTTOM|wxEXPAND
3
wxHORIZONTAL
wxTOP|wxBOTTOM
3
Colour alternate lines in a fileview
0
1
wxLEFT|wxALIGN_CENTER_VERTICAL
2
Se&lect Colours
wxLEFT
0
wxEXPAND
wxHORIZONTAL
wxTOP|wxBOTTOM
3
Highlight the focused pane
1
1
wxALIGN_CENTER_VERTICAL
C&onfigure
wxLEFT
0
wxBOTTOM
3
Use inotify to watch the filesystem
1
wxALL|wxEXPAND
10
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
5
wxHORIZONTAL
15
wxLEFT
20
&Apply
wxLEFT
0
1
wxRIGHT
15
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
10
Here you can configure the font used by the tree
wxBOTTOM
5
Click the 'Change' button to select a different font or size
The 'Use Default' button will reset it to the system default
wxTOP|wxEXPAND
20
2
0
10
20
0
wxEXPAND
C&hange
wxLEFT
0
wxEXPAND
Use &Default
wxLEFT
0
wxTOP|wxBOTTOM|wxEXPAND
25
wxLEFT|wxRIGHT|wxEXPAND
5
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxRIGHT
15
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxVERTICAL
Show the currently-selected filepath in the titlebar
0
Show the currently-selected filepath in the toolbar
0
Whenever possible, use stock icons
0
Ask for confirmation before 'Trashcan'-ing files
0
Ask for confirmation before Deleting files
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
Make the cans for trashed/deleted files in this directory
wxEXPAND
wxTOP|wxALIGN_CENTER
10
2
0
10
10
wxEXPAND
Configure &toolbar editors
wxLEFT
0
wxEXPAND
Configure &Previews
wxLEFT
0
wxEXPAND
Configure &small-toolbar Tools
wxLEFT
0
wxEXPAND
Configure Too<ips
wxLEFT
0
wxTOP|wxBOTTOM|wxEXPAND
20
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
5
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxRIGHT
15
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Select the Terminal application to be launched by Ctrl-T
wxALIGN_CENTER
wxHORIZONTAL
wxVERTICAL
Either one of the following
wxTOP|wxEXPAND
5
-1
wxLEFT|wxRIGHT|wxEXPAND
10
wxVERTICAL
Or enter your own choice
wxEXPAND
wxHORIZONTAL
wxTOP|wxBOTTOM
5
1
wxLEFT|wxALIGN_CENTER
10
OK
wxLEFT
0
wxALL|wxEXPAND
10
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Which Terminal application should launch other programs?
wxALIGN_CENTER
wxHORIZONTAL
wxVERTICAL
Either one of the following
wxTOP|wxEXPAND
5
-1
wxLEFT|wxRIGHT|wxEXPAND
10
wxVERTICAL
Or enter your own choice
wxEXPAND
wxHORIZONTAL
wxTOP|wxBOTTOM
5
1
wxLEFT|wxALIGN_CENTER
10
OK
wxLEFT
0
wxALL|wxEXPAND
10
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Which Terminal program should launch a User-Defined Tool?
wxALIGN_CENTER
wxHORIZONTAL
wxVERTICAL
Either one of the following
wxTOP|wxEXPAND
5
-1
wxLEFT|wxRIGHT|wxEXPAND
10
wxVERTICAL
Or enter your own choice
wxEXPAND
wxHORIZONTAL
wxTOP|wxBOTTOM
5
1
wxLEFT|wxALIGN_CENTER
10
OK
wxLEFT
0
wxALL|wxEXPAND
10
wxTOP|wxEXPAND
3
wxHORIZONTAL
15
wxLEFT
20
&Apply
wxLEFT
0
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
Configure the Prompt and Font for the terminal emulator
wxTOP|wxALIGN_CENTER
10
Prompt. See the tooltip for details
wxEXPAND
wxHORIZONTAL
1
5
1
wxTOP|wxEXPAND
12
wxHORIZONTAL
1
wxALIGN_CENTER_VERTICAL
3
wxLEFT
20
Change
wxLEFT
0
1
wxTOP|wxEXPAND
10
wxHORIZONTAL
1
wxALIGN_CENTER_VERTICAL
3
wxLEFT
20
Use Default
wxLEFT
0
1
wxALL|wxEXPAND
12
wxTOP|wxEXPAND
3
wxHORIZONTAL
15
wxLEFT
20
&Apply
wxLEFT
0
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxEXPAND
1
12
15
0,0
wxVERTICAL
Currently-known possible nfs servers
wxEXPAND
-1,50
-1
wxALIGN_CENTER_VERTICAL
0,1
Delete
wxLEFT
0
wxEXPAND
1,0
wxVERTICAL
Enter another server address
wxEXPAND
wxALIGN_BOTTOM
1,1
Add
wxLEFT
0
wxTOP|wxEXPAND
15
wxVERTICAL
Filepath for showmount
wxEXPAND
wxTOP|wxEXPAND
20
wxTOP|wxBOTTOM|wxEXPAND
15
wxVERTICAL
Path to samba dir
wxEXPAND
wxTOP|wxEXPAND
15
wxHORIZONTAL
wxEXPAND
15
&Apply
wxLEFT
0
wxEXPAND
1
wxLEFT
5
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
4Pane allows you undo (and redo) most operations.
wxALIGN_CENTER
What is the maximum number that can be undone?
wxALIGN_CENTER
(NB. See the tooltip)
wxALIGN_CENTER
1
1
100000
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
The number of items at a time on a drop-down menu.
wxALIGN_CENTER
(See the tooltip)
wxALIGN_CENTER
2
2
50
wxALL|wxEXPAND
10
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
Some messages are shown briefly, then disappear.
wxALIGN_CENTER
For how many seconds should they last?
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
1
0
10
0
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
'Success' message dialogs
wxALIGN_CENTER
1
1
30
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
'Failed because...' dialogs
wxALIGN_CENTER
1
1
30
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Statusbar messages
wxALIGN_CENTER
1
1
30
wxTOP|wxBOTTOM|wxEXPAND
15
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
10
Which front-end do you wish to use to perform tasks as root?
wxTOP
10
wxHORIZONTAL
1
0
10
0
1
4Pane's own one
0
wxLEFT
30
It should call:
1
0
- su
- sudo
wxHORIZONTAL
wxALIGN_CENTER_VERTICAL
Store passwords for:
0
wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL
5
50,-1
15
1
60
wxALIGN_CENTER_VERTICAL
min
wxLEFT
30
Restart time with each use
0
wxLEFT|wxRIGHT|wxEXPAND
10
wxVERTICAL
An external program:
0
wxTOP|wxALIGN_CENTER_HORIZONTAL
5
wxVERTICAL
kdesu
1
gksu
1
gnomesu
1
Other...
1
wxALL|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
The first 3 buttons configure File-opening, D'n'D and the statusbar
The fourth exports 4Pane's configuration: see the tooltip
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
1
0
10
0
wxEXPAND
Configure &Opening Files
wxLEFT
0
wxEXPAND
Configure &Drag'n'Drop
wxLEFT
0
wxEXPAND
Configure &Statusbar
wxLEFT
0
wxEXPAND
&Export Configuration File
wxLEFT
0
wxALL|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALIGN_CENTER
15
wxVERTICAL
wxEXPAND
1
0
10
0
0
wxEXPAND
wxHORIZONTAL
1
wxVERTICAL
Command to be run:
wxEXPAND
1
wxLEFT|wxALIGN_BOTTOM
5
../bitmaps/fileopen.xpm
0
2
0
0
0
Run in a Terminal
0
Keep terminal open
0
Refresh pane after
0
Refresh opposite pane too
0
Run command as root
0
wxTOP|wxBOTTOM|wxEXPAND
10
1
0
10
0
0
wxEXPAND
wxVERTICAL
Label to display in the menu:
wxEXPAND
wxHORIZONTAL
wxVERTICAL
Add it to this menu:
wxEXPAND
-1
wxLEFT|wxALIGN_BOTTOM
15
&New Menu
wxLEFT
0
wxLEFT|wxALIGN_BOTTOM
10
&Delete Menu
wxLEFT
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
Add the &Tool
wxLEFT
0
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
15
&Apply
wxLEFT
0
wxEXPAND
1
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxBOTTOM|wxALIGN_CENTER
10
1
Select a command, then click 'Edit this Command'
wxEXPAND
1
0
10
0
0
wxEXPAND
wxVERTICAL
Label in menu
wxEXPAND
-1
wxEXPAND
wxVERTICAL
Command
wxEXPAND
2
0
0
0
Run in a Terminal
0
Keep terminal open
0
Refresh pane after
0
Refresh opposite pane too
0
Run command as root
0
wxTOP|wxBOTTOM|wxEXPAND
15
wxVERTICAL
wxALIGN_CENTER
&Edit this Command
wxLEFT
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxTOP|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
15
&Apply
wxLEFT
0
wxEXPAND
1
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxBOTTOM|wxALIGN_CENTER
10
1
Select an item, then click 'Delete this Command'
wxTOP|wxBOTTOM|wxEXPAND
10
1
0
10
0
0
wxEXPAND
wxVERTICAL
Label in menu
wxEXPAND
-1
wxEXPAND
wxVERTICAL
Command
wxEXPAND
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
&Delete this Command
wxLEFT
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxTOP|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
15
&Apply
wxLEFT
0
wxEXPAND
1
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
wxALL|wxEXPAND
10
1
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
Double-click an entry to change it
20,-1
1
Display labels without mnemonics
1
wxALL|wxEXPAND
10
1
wxVERTICAL
wxEXPAND
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
&Apply
wxLEFT
0
wxEXPAND
1
wxLEFT|wxRIGHT
5
&Cancel
wxLEFT
0
wxEXPAND
1
Select Colours
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxALIGN_CENTER
The colours shown below will be used alternately in a file-view pane
wxTOP|wxALIGN_CENTER
20
1
wxHORIZONTAL
wxRIGHT|wxEXPAND
30
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Current 1st Colour
wxEXPAND
wxBOTTOM|wxALIGN_BOTTOM
20
Change
wxLEFT
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
1
wxHORIZONTAL
wxRIGHT|wxEXPAND
30
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Current 2nd Colour
wxEXPAND
wxALIGN_BOTTOM
Change
wxLEFT
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
OK
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
wxEXPAND
1
Select Colours
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxALIGN_CENTER
Select the colour to use as the background for a pane.
You can choose one colour for dir-views and another for file-views.
Alternatively, tick the box to use the same one in both.
wxTOP|wxALIGN_CENTER
20
1
wxHORIZONTAL
wxRIGHT|wxEXPAND
30
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Current Dir-view Colour
wxEXPAND
wxALIGN_BOTTOM
Change
wxLEFT
0
wxTOP|wxALIGN_CENTER
20
1
wxHORIZONTAL
wxRIGHT|wxEXPAND
30
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Current File-view Colour
wxEXPAND
wxALIGN_BOTTOM
Change
wxLEFT
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
Use the same colour for both types of pane
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
OK
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
wxEXPAND
1
Select Pane Highlighting
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
A pane can optionally be highlit when focused. Here you can alter the degree of highlighting.
For a dir-view, the highlight is in a narrow line above the toolbar.
For a file-view, the colour change is to the header, which is much thicker.
So I suggest you make the file-view 'offset' smaller, as the difference is more obvious
wxTOP|wxEXPAND
20
1
#F6F4F4
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
1
wxHORIZONTAL
1
wxRIGHT|wxALIGN_BOTTOM
5
0
-50
50
wxRIGHT|wxEXPAND
30
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Dir-view focused
wxEXPAND
-1,20
wxRIGHT|wxEXPAND
30
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Baseline
wxEXPAND
-1,20
wxRIGHT|wxEXPAND
5
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
File-view focused
wxEXPAND
-1,20
wxALIGN_BOTTOM
0
-50
50
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
wxEXPAND
15
wxLEFT
20
OK
wxLEFT
0
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
wxEXPAND
1
Enter a Shortcut
1
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
150
wxVERTICAL
wxALL|wxALIGN_CENTER
5
Press the keys that you want to use for this function:
wxBOTTOM|wxEXPAND
10
Dummy
wxLEFT|wxRIGHT|wxEXPAND
15
1
wxHORIZONTAL
wxALL|wxALIGN_CENTER
10
2
wxVERTICAL
wxALIGN_CENTER
Current
wxALL|wxEXPAND
10
1
wxBOTTOM|wxALIGN_CENTER
5
Clear
wxLEFT
0
wxRIGHT|wxEXPAND
5
wxEXPAND
1
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
Default:
wxTOP|wxBOTTOM|wxALIGN_CENTER
9
Ctrl+Shift+Alt+M
wxBOTTOM|wxALIGN_CENTER
5
Use Default
wxLEFT
0
wxALL|wxEXPAND
15
wxHORIZONTAL
wxEXPAND
1
wxHORIZONTAL
wxEXPAND
15
wxALIGN_CENTER
wxVERTICAL
wxLEFT
20
OK
wxLEFT
1
wxEXPAND
1
wxALIGN_CENTER
wxVERTICAL
wxRIGHT
15
&CANCEL
wxLEFT
0
wxEXPAND
1
wxRIGHT
27
wxVERTICAL
wxRIGHT|wxBOTTOM|wxEXPAND
5
Change Label
wxLEFT
0
wxRIGHT
5
Change Help String
wxLEFT
0
Duplicate Accelerator
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
50
wxVERTICAL
wxALIGN_CENTER
This combination of keys is already used by:
wxTOP|wxBOTTOM|wxEXPAND
10
Dummy
wxTOP|wxALIGN_CENTER
20
What would you like to do?
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
1
wxHORIZONTAL
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_RIGHT
12
Choose different keys
wxTOP|wxBOTTOM|wxALIGN_RIGHT
13
Steal the other shortcut's keys
wxTOP|wxBOTTOM|wxALIGN_RIGHT
13
Give up
wxLEFT|wxRIGHT
10
wxVERTICAL
wxALL
10
&Try Again
1
wxLEFT
0
wxALL
10
&Override
wxLEFT
0
wxALL
10
&CANCEL
wxLEFT
0
wxVERTICAL
1
wxALL|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
How are plugged-in devices detected?
1
2
- The original, usb-storage, method
- By looking in mtab
- The new, udev/hal, method
wxTOP
15
Floppy drives mount automatically
0
wxTOP|wxBOTTOM
10
DVD-ROM etc drives mount automatically
0
wxBOTTOM
10
Removable devices mount automatically
0
wxALL|wxEXPAND
5
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
15
wxHORIZONTAL
15
wxLEFT
20
&Apply
wxLEFT
0
1
wxLEFT
5
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALL|wxEXPAND
10
wxVERTICAL
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxBOTTOM
10
wxVERTICAL
Which file (if any) holds data about a newly-inserted device?
wxTOP|wxEXPAND
10
wxHORIZONTAL
1
wxALIGN_CENTER
wxVERTICAL
Floppies
1
0
- mtab
- fstab
- none
wxTOP
8
Supermounts
0
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
8
wxVERTICAL
CDRoms etc
1
0
- mtab
- fstab
- none
wxTOP
8
Supermounts
0
1
wxVERTICAL
USB devices
1
0
- mtab
- fstab
- none
wxTOP
8
Supermounts
0
1
wxEXPAND
wxTOP|wxEXPAND
15
wxHORIZONTAL
wxEXPAND
15
wxRIGHT
5
&Apply
wxLEFT
0
wxEXPAND
1
&Cancel
wxLEFT
0
wxEXPAND
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxEXPAND
1
0
25
0
wxVERTICAL
wxBOTTOM
5
Check how often for newly-attached usb devices?
wxLEFT
20
wxHORIZONTAL
1
1
250
wxLEFT|wxALIGN_CENTER_VERTICAL
5
seconds
wxVERTICAL
wxBOTTOM
5
How should multicard usb readers be displayed?
wxLEFT
20
Add buttons even for empty slots
0
wxVERTICAL
What to do if 4Pane has mounted a usb device?
wxLEFT
20
Ask before unmounting it on exit
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
15
wxRIGHT
5
&Apply
wxLEFT
0
1
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxBOTTOM
5
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
7
For information, please read the tooltips
wxALL|wxALIGN_CENTER
5
1
0
10
10
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Which file contains partition data?
wxEXPAND
1
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Which dir contains device data?
wxEXPAND
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Which file(s) contains Floppy info
wxEXPAND
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Which file contains CD/DVDROM info
wxEXPAND
wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
Reload Defaults
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
15
&Apply
wxLEFT
0
1
wxLEFT
5
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
7
For information, please read the tooltips
wxBOTTOM|wxEXPAND
5
1
0
10
0
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
2.4 kernels: usb-storage
wxEXPAND
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
2.4 kernels: removable device list
wxEXPAND
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Node-names for removable devices
wxEXPAND
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
2.6 kernels: removable device info dir
wxEXPAND
wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
Reload Defaults
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
15
&Apply
wxLEFT
0
1
wxLEFT
5
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
For information, please read the tooltips
wxEXPAND
1
0
15
0
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
What is the LVM prefix?
wxEXPAND
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
More LVM stuff. See the tooltip
wxEXPAND
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
Reload Defaults
wxLEFT
0
wxBOTTOM|wxEXPAND
20
wxEXPAND
wxHORIZONTAL
15
&Apply
wxLEFT
0
1
wxLEFT
5
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALL
10
wxHORIZONTAL
wxALIGN_CENTER
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
wxALIGN_CENTER
Pick a Drive to configure
Or 'Add a Drive' to add
150,100
-1
wxLEFT|wxRIGHT|wxEXPAND
40
wxVERTICAL
wxTOP
22
1
wxTOP|wxBOTTOM|wxEXPAND
4
Add a Dri&ve
wxLEFT
0
wxBOTTOM|wxEXPAND
4
&Edit this Drive
wxLEFT
0
wxEXPAND
&Delete this Drive
wxLEFT
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
15
&Apply
wxLEFT
0
1
wxLEFT
5
&Cancel
wxLEFT
0
1
1
wxVERTICAL
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxEXPAND
1
wxVERTICAL
Fixed drives should have been found automatically,
but if one was missed or you want to alter some data
you can do so here.
wxALL
10
1
wxHORIZONTAL
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
Select a drive to configure
Or 'Add a Drive' to add one
wxEXPAND
1
-1
wxLEFT|wxEXPAND
30
wxVERTICAL
wxTOP
22
1
wxTOP|wxBOTTOM|wxEXPAND
4
Add a Dri&ve
wxLEFT
0
wxBOTTOM|wxEXPAND
4
&Edit this Drive
1
wxLEFT
0
wxEXPAND
&Delete this Drive
wxLEFT
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxEXPAND
wxHORIZONTAL
15
&Apply
wxLEFT
0
1
wxLEFT
5
&Cancel
wxLEFT
0
1
1
Fake, used to test for this version of the file
1
Configure dir-view toolbar buttons
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxEXPAND
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
These are the buttons on the right-hand side of the small toolbar in each dir-view.
They act as bookmarks: clicking one 'goes to' its destination filepath
wxALL|wxEXPAND
10
1
wxHORIZONTAL
1
wxEXPAND
3
wxVERTICAL
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
Current Buttons
wxEXPAND
1
-1
wxLEFT|wxRIGHT|wxEXPAND
40
wxVERTICAL
wxTOP
10
1
wxTOP|wxBOTTOM|wxEXPAND
4
&Add a Button
wxLEFT
0
wxBOTTOM|wxEXPAND
4
&Edit this Button
wxLEFT
0
wxEXPAND
&Delete this Button
wxLEFT
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
&Finished
wxLEFT
0
Configure e.g. an Editor
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
25
1
wxHORIZONTAL
wxEXPAND
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Name
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
1
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
Icon to use
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Launch Command
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Working Directory to use (optional)
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
3
1
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxLEFT
25
wxVERTICAL
wxTOP
10
Accepts Multiple Input
0
wxTOP
10
Ignore this program
0
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT|wxBOTTOM
15
OK
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Select Icon
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
wxHORIZONTAL
wxLEFT|wxRIGHT
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
Current
Selection
wxLEFT|wxRIGHT|wxEXPAND
10
wxALL|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
10
Click an icon to Select it
or Browse to search for others
wxLEFT|wxTOP|wxALIGN_CENTER
10
wxVERTICAL
wxALIGN_CENTER
&Browse
wxLEFT
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
New Icon
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
10
Add this Icon?
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure Editors etc
1
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
20
wxVERTICAL
wxALIGN_CENTER
These programs can be launched by clicking a button
on the toolbar or by dragging a file onto the button.
An obvious example would be a text editor such as
kwrite, but it can be any program you wish.
wxALL|wxEXPAND
10
1
wxHORIZONTAL
1
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
Current Buttons
wxEXPAND
1
-1
wxLEFT|wxEXPAND
30
wxVERTICAL
wxTOP
10
1
wxTOP|wxBOTTOM|wxEXPAND
4
&Add a Program
wxLEFT
0
wxBOTTOM|wxEXPAND
4
&Edit this Program
1
wxLEFT
0
wxEXPAND
&Delete this Program
wxLEFT
0
1
wxTOP|wxALIGN_CENTER
15
wxVERTICAL
wxBOTTOM
10
&Finished
wxLEFT
0
Configure a small-toolbar icon
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP|wxEXPAND
10
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
1
wxVERTICAL
wxTOP|wxEXPAND
wxHORIZONTAL
2
wxEXPAND
5
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
6
Filepath
wxEXPAND
1
5,5
wxALIGN_BOTTOM
../bitmaps/fileopen.xpm
0
1
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
Icon to use
wxALIGN_CENTER
(Click to change)
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
Label e.g. 'Music' or '/usr/share/'
wxEXPAND
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
Optional Tooltip Text
wxEXPAND
wxALL|wxALIGN_CENTER
15
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT
20
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure Drag and Drop
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
Choose which keys should do the following:
wxTOP|wxALIGN_CENTER
10
4
0
0
0
Shift
Ctrl
Alt
wxTOP
5
Move:
0
0
0
wxTOP
5
Copy:
0
0
0
wxTOP
5
Hardlink:
0
0
0
wxTOP
5
Softlink:
0
0
0
wxTOP|wxALIGN_CENTER
30
Alter these values to change D'n'D triggering sensitivity
wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxRIGHT
5
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Horizontal
wxALIGN_CENTER
1
1
1
50
wxLEFT
5
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Vertical
wxALIGN_CENTER
1
1
50
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
wxALIGN_CENTER
How many lines to scroll per mouse-wheel click
wxALIGN_CENTER
1
1
10
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure the Statusbar
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
The statusbar has four sections. Here you can adjust their proportions
wxTOP|wxALIGN_CENTER
10
(Changes won't take effect until you restart 4Pane)
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
4
1
0
0
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Menu-item help
wxBOTTOM|wxALIGN_CENTER
6
(Default 5)
wxLEFT|wxALIGN_CENTER
12
1
1
1
30
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Success Messages
wxBOTTOM|wxALIGN_CENTER
6
(Default 3)
wxLEFT|wxALIGN_CENTER
12
1
1
30
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Filepaths
wxBOTTOM|wxALIGN_CENTER
6
(Default 8)
wxLEFT|wxALIGN_CENTER
12
1
1
30
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
Filters
wxBOTTOM|wxALIGN_CENTER
6
(Default 2)
wxLEFT|wxALIGN_CENTER
12
1
1
30
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Export Data
1
wxVERTICAL
wxALL|wxEXPAND
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
This is where, should you wish, you can export part of your configuration data to a file called 4Pane.conf.
wxTOP|wxALIGN_CENTER
5
If you're tempted, press F1 for more details.
wxTOP|wxALIGN_CENTER
20
Deselect any types of data you don't want to export
wxTOP|wxALIGN_CENTER
20
wxVERTICAL
User-defined Tools data
1
Editors data
1
Devices'. See the manual for more details]]>
Device-mounting data
1
Terminals'. See the manual for more details]]>
Terminal-related data
1
'Open With' data
1
wxTOP|wxALIGN_CENTER
20
wxHORIZONTAL
wxRIGHT
15
Export Data
wxLEFT
1
wxLEFT
15
&CANCEL
wxLEFT
0
Configure Previews
1
wxVERTICAL
wxALL
12
wxVERTICAL
wxTOP
5
wxVERTICAL
wxALL|wxEXPAND
5
1
3
0
0
0
1,2
wxALL
5
1
wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL
5
Maximum width (px)
wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL
5
Maximum height (px)
wxALL|wxALIGN_CENTER_VERTICAL
5
Images:
wxALL|wxALIGN_CENTER_HORIZONTAL
5
100
10
10000
wxALL|wxALIGN_CENTER_HORIZONTAL
5
100
10
10000
wxALL|wxALIGN_CENTER_VERTICAL
5
Text files:
wxALL|wxALIGN_CENTER_HORIZONTAL
5
300
10
10000
wxALL|wxALIGN_CENTER_HORIZONTAL
5
300
10
10000
wxALL
5
wxHORIZONTAL
wxALL|wxALIGN_CENTER_VERTICAL
5
Preview trigger delay, in tenths of seconds:
wxALL
5
1
10
1
300
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
20
wxHORIZONTAL
20,10
wxEXPAND
1
20
OK
wxLEFT
1
30,10
wxEXPAND
1
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Configure File Opening
1
wxVERTICAL
wxALL
12
wxVERTICAL
wxALL
5
How do you want 4Pane to try to open e.g. a text file in an editor.
Use either the system way, 4Pane's built-in way, or both.
If both, which should be tried first?
wxTOP|wxEXPAND
5
wxVERTICAL
wxALL
5
Use your system's method
1
wxALL
5
Use 4Pane's method
1
wxALL|wxEXPAND
5
1
wxHORIZONTAL
wxALL
5
Prefer the system way
1
wxALL
5
Prefer 4Pane's way
0
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
20
wxHORIZONTAL
20,10
wxEXPAND
1
20
OK
wxLEFT
1
30,10
wxEXPAND
1
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
4pane-5.0/rc/dialogs.xrc 0000644 0001750 0001750 00000555345 13056344641 012101 0000000 0000000
1,1
wxHORIZONTAL
40,30
wxHORIZONTAL
wxHORIZONTAL
wxLEFT|wxEXPAND
5
1
wxLEFT|wxEXPAND
1
wxVERTICAL
wxTOP
1
wxALL
5
&Locate
wxLEFT
1
wxALL
5
&Cancel
wxLEFT
0
wxTOP
15
wxALL
5
Clea&r
wxLEFT
0
wxALL
5
Cl&ose
wxLEFT
0
wxTOP
1
About
1
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxALIGN_CENTER
&Finished
1
wxLEFT
0
Can't Read
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxEXPAND
15
I'm afraid you don't have Read permission for
wxTOP|wxALIGN_CENTER_HORIZONTAL
4
3
a Pretend q
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
20,10
wxALL|wxEXPAND
5
&Skip
wxLEFT
0
wxLEFT
10
1
wxALL|wxEXPAND|wxALIGN_RIGHT
5
Skip &All
wxLEFT
0
20,10
wxEXPAND
Tsk Tsk!
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
You seem to be trying to join
wxTOP|wxALIGN_CENTER
5
Pretend
wxBOTTOM|wxEXPAND
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
to one of its descendants
wxTOP|wxALIGN_CENTER
5
Pretend
wxTOP|wxALIGN_CENTER
15
This is certainly illegal and probably immoral
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
I'm &Sorry :-(
1
wxLEFT
1
30,10
wxEXPAND
1
Rename
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
What would you like the new name to be?
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
12
1
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Overwrite or Rename
1
wxVERTICAL
wxALL|wxEXPAND
15
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
wxHORIZONTAL
1
wxALIGN_CENTER
There is already a file here with the name
1
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
7
wxHORIZONTAL
1
wxALL|wxALIGN_CENTER
7
1
wxBOTTOM|wxEXPAND
40
wxHORIZONTAL
1
wxALL|wxALIGN_CENTER
7
1
wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
5
What would you like to do?
wxALL|wxEXPAND
10
0
1
0
15
wxEXPAND
&Overwrite it
wxLEFT
0
wxEXPAND
&Rename Incoming File
wxLEFT
0
wxEXPAND
&Cancel
wxLEFT
0
Overwrite or Rename
1
wxVERTICAL
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
20
wxVERTICAL
wxALIGN_CENTER
There is already a file here with the name
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
7
wxHORIZONTAL
1
wxALL|wxEXPAND
7
3
1
wxBOTTOM|wxEXPAND
15
wxHORIZONTAL
1
wxALL|wxEXPAND
7
3
1
wxEXPAND
wxHORIZONTAL
wxALL
7
1
wxBOTTOM|wxALIGN_CENTER
5
What would you like to do?
wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER
5
2
0
8
8
wxEXPAND
&Overwrite it
wxLEFT
0
wxEXPAND
Overwrite &All
wxLEFT
0
wxEXPAND
&Rename Incoming File
wxLEFT
0
wxEXPAND
Re&name All
wxLEFT
0
wxEXPAND
&Skip
wxLEFT
0
wxEXPAND
S&kip All
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
&Cancel
wxLEFT
0
Rename or cancel
1
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
There is already a directory here with this name.
wxALL|wxALIGN_CENTER
5
What would you like to do?
20,10
wxEXPAND
1
wxALL|wxEXPAND
10
wxHORIZONTAL
10,10
wxEXPAND
1
wxLEFT
10
&Rename Incoming Dir
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&Cancel
wxLEFT
0
10,10
wxEXPAND
1
Rename or skip
1
wxVERTICAL
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
There is already a Directory here with the name
wxEXPAND
wxHORIZONTAL
1
wxALL|wxEXPAND
7
1
wxBOTTOM|wxALIGN_CENTER
5
What would you like to do?
wxALL|wxALIGN_CENTER
10
2
0
10
10
wxEXPAND
&Rename Incoming Dir
wxLEFT
0
wxEXPAND
Rename &All
wxLEFT
0
wxEXPAND
&Skip
wxLEFT
0
wxEXPAND
S&kip All
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
&Cancel
wxLEFT
0
Query duplicate in archive
1
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
There is already a file with this name in the archive
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
What would you like to do?
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
0
1
0
10
wxEXPAND
&Store a duplicate of it
wxLEFT
0
wxEXPAND
&Cancel
wxLEFT
0
Duplicate by Renaming in archive
1
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
Sorry, you can't do a direct duplication within an archive
wxALL|wxALIGN_CENTER
10
Would you like to duplicate by renaming instead?
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
0
1
0
20
wxEXPAND
&Rename
wxLEFT
0
wxEXPAND
&Cancel
wxLEFT
0
Add to archive
1
wxVERTICAL
wxALL|wxEXPAND
15
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
wxHORIZONTAL
1
wxALIGN_CENTER
There is already an item here with the name
1
wxEXPAND
wxVERTICAL
wxBOTTOM|wxEXPAND
7
wxHORIZONTAL
1
wxALL|wxALIGN_CENTER
7
1
wxBOTTOM|wxEXPAND
25
wxHORIZONTAL
1
wxALL|wxALIGN_CENTER
7
1
wxBOTTOM|wxALIGN_CENTER
5
What would you like to do?
wxALL|wxALIGN_CENTER
10
0
1
0
15
wxEXPAND
&Overwrite it
wxLEFT
0
wxEXPAND
&Store both items
wxLEFT
0
wxEXPAND
&Cancel
wxLEFT
0
Overwrite or add to archive
1
wxVERTICAL
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
20
wxVERTICAL
There is already a file here with the name
wxEXPAND
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
7
wxHORIZONTAL
1
wxALL|wxALIGN_CENTER
7
1
wxBOTTOM|wxALIGN_CENTER
15
wxHORIZONTAL
1
wxALL|wxALIGN_CENTER
7
1
wxEXPAND
wxHORIZONTAL
wxALL|wxEXPAND
7
1
wxBOTTOM|wxALIGN_CENTER
5
What would you like to do?
wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER
5
2
0
8
20
wxEXPAND
&Overwrite it
wxLEFT
0
wxEXPAND
Overwrite &All
wxLEFT
0
wxEXPAND
S&tore both items
wxLEFT
0
wxEXPAND
Store A&ll
wxLEFT
0
wxEXPAND
&Skip
wxLEFT
0
wxEXPAND
S&kip All
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
&Cancel
wxLEFT
0
Overwrite or add to archive
1
wxVERTICAL
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
There is already a Directory here with the name
wxEXPAND
wxHORIZONTAL
1
wxALL|wxEXPAND
7
1
wxBOTTOM|wxALIGN_CENTER
5
What would you like to do?
wxALL|wxALIGN_CENTER
10
2
0
10
10
wxEXPAND
&Overwrite it
wxLEFT
0
wxEXPAND
Overwrite &All
wxLEFT
0
wxEXPAND
S&tore both items
wxLEFT
0
wxEXPAND
Store A&ll
wxLEFT
0
wxEXPAND
&Skip
wxLEFT
0
wxEXPAND
S&kip All
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
&Cancel
wxLEFT
0
Rename or skip
1
wxVERTICAL
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
There is already an item here with the name
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
What would you like to do?
wxALL|wxALIGN_CENTER
10
2
0
10
10
wxEXPAND
&Skip it
wxLEFT
0
wxEXPAND
Skip &All Clashes
wxLEFT
0
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
&Cancel
wxLEFT
0
1
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALL|wxALIGN_CENTER
5
You seem to want to overwrite this file with itself
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Does this mean:
20,10
wxEXPAND
1
wxEXPAND
wxHORIZONTAL
wxEXPAND
1
wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER
5
2
I want to &DUPLICATE it
wxLEFT
0
wxEXPAND
1
wxALL|wxALIGN_CENTER
5
or:
wxEXPAND
wxHORIZONTAL
wxEXPAND
1
wxALL|wxEXPAND
5
2
&Oops, I didn't mean it
wxLEFT
0
wxEXPAND
1
Make a Link
1
wxVERTICAL
wxALL
15
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
wxVERTICAL
wxEXPAND
wxHORIZONTAL
1
wxALIGN_CENTER
Create a new Link from:
1
wxTOP|wxEXPAND
5
wxHORIZONTAL
1
wxEXPAND
Pretend
1
wxBOTTOM|wxALIGN_CENTER
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
Make the link in the following Directory:
wxTOP|wxEXPAND
5
wxHORIZONTAL
1
wxEXPAND
Pretend
1
wxALL|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxALIGN_CENTER
10
What would you like to call the Link?
wxLEFT|wxRIGHT
10
wxHORIZONTAL
wxVERTICAL
Keep the same name
1
wxTOP|wxBOTTOM
5
Use the following Extension
1
Use the following Name
1
wxTOP|wxEXPAND
10
wxVERTICAL
1,7
wxBOTTOM
7
wxBOTTOM|wxALIGN_CENTER
5
wxBOTTOM|wxALIGN_CENTER
7
wxALL|wxALIGN_CENTER
10
wxVERTICAL
Make Relative
0
Apply to all
0
wxBOTTOM|wxALIGN_CENTER
5
wxHORIZONTAL
wxLEFT|wxRIGHT|wxEXPAND
10
1
1
- I want to make a Hard Link
- I want to make a Soft link
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
15,10
wxEXPAND
1
Skip
wxLEFT
0
15,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Choose a name for the new item
1
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
35
1
wxVERTICAL
wxALL|wxALIGN_CENTER
15
1
0
- Make a new File
- Make a new Directory
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
30
1
wxALL|wxEXPAND
20
wxHORIZONTAL
10,10
wxEXPAND
1
wxLEFT
10
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&CANCEL
wxLEFT
0
10,10
wxEXPAND
1
New Directory
1
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
35
wxVERTICAL
0,20
30
wxBOTTOM
5
Choose a name for the new Directory
wxBOTTOM|wxEXPAND
15
1
wxALL|wxEXPAND
20
wxHORIZONTAL
10,10
wxEXPAND
1
wxLEFT
10
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&CANCEL
wxLEFT
0
10,10
wxEXPAND
1
Add a Bookmark
1
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Add the following to your Bookmarks:
wxALL|wxEXPAND
10
1
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
What would you like to call it?
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
1
wxEXPAND
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
Add it to the following folder:
wxEXPAND
wxHORIZONTAL
1
wxTOP|wxEXPAND
10
Pretend
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
Change &Folder
wxLEFT
0
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Edit a Bookmark
1
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
50
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
1
Make any required alterations below
wxALL|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Current Path
wxALL|wxEXPAND
10
1
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
Current Label
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
1
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Manage Bookmarks
1
wxVERTICAL
wxTOP|wxALIGN_CENTER
5
wxVERTICAL
wxEXPAND
wxHORIZONTAL
10,10
wxEXPAND
1
wxEXPAND
1
&New Folder
wxLEFT
0
10,5
wxEXPAND
1
New &Separator
wxLEFT
0
10,5
wxEXPAND
1
&Edit Selection
wxLEFT
0
10,5
wxEXPAND
1
&Delete
wxLEFT
0
10,10
wxEXPAND
1
wxALL|wxEXPAND
5
1
wxHORIZONTAL
wxEXPAND
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
1
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Open with:
1
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxALL|wxEXPAND
10
wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
10,5
wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
wxALL|wxEXPAND
10
wxBOTTOM|wxALIGN_CENTER
5
wxHORIZONTAL
wxLEFT|wxTOP|wxEXPAND
10
wxVERTICAL
5,5
wxEXPAND
1
&Edit Application
wxLEFT
0
5,5
wxEXPAND
1
&Remove Application
wxLEFT
0
5,5
wxLEFT|wxRIGHT|wxEXPAND
20
wxVERTICAL
wxEXPAND
&Add Application
wxLEFT
0
1
wxEXPAND
wxRIGHT|wxTOP|wxEXPAND
10
wxVERTICAL
20,5
wxEXPAND
1
Add &Folder
wxLEFT
0
10,5
wxEXPAND
1
Remove F&older
wxLEFT
0
20,5
wxALL|wxEXPAND
5
1
wxHORIZONTAL
wxEXPAND
1
1
wxEXPAND
15
wxHORIZONTAL
20,10
wxEXPAND
wxEXPAND
wxVERTICAL
Open in terminal
0
Always use the selected application for this kind of file
0
20,10
wxEXPAND
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Add an Application
1
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Label to give the Application (optional)
wxEXPAND
wxHORIZONTAL
5,5
1
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
1
5,5
1
wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxBOTTOM|wxEXPAND
5
Where is the Application? eg /usr/local/bin/gs
(sometimes just the filename will work)
wxEXPAND
wxHORIZONTAL
5,5
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
5
1
1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Extension(s) that it should launch? e.g. txt or htm,html
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
100,22
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
What is the Command String to use? e.g. kedit %s
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
1
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Working directory in which to run the app (optional)
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
wxALL|wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
5
1
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxRIGHT|wxALIGN_CENTER_VERTICAL
5
Add it to the following folder:
35,5
1
wxEXPAND
wxHORIZONTAL
wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER
5
1
-1
wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER
5
&New Folder
wxLEFT
0
wxALL|wxEXPAND
8
wxHORIZONTAL
20,10
wxEXPAND
wxEXPAND
wxVERTICAL
Open in terminal
0
Always use the selected application for this kind of file
0
20,10
wxEXPAND
1
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
1
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxVERTICAL
For which Extensions do you want the application to be default.
wxALL|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
10
-1
wxALL|wxEXPAND
10
1
0
- All of them
- Just the First
- Select with Mouse (+shift key)
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
4Pane
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALL|wxEXPAND
10
wxHORIZONTAL
wxLEFT|wxRIGHT
10
Apply to all
0
20,10
wxEXPAND
1
wxLEFT
20
wxLEFT
1
wxLEFT|wxRIGHT
10
wxLEFT
0
Save Template
1
wxVERTICAL
wxALL
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP
20
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
There is a Template loaded already.
wxALL
10
Do you want to Overwrite this, or Save as a new Template?
wxBOTTOM|wxALIGN_CENTER
30
wxHORIZONTAL
wxALL|wxALIGN_CENTER
5
&Overwrite
wxLEFT
0
20,10
wxEXPAND
1
wxALL|wxALIGN_CENTER
5
&New Template
wxLEFT
0
wxALL|wxALIGN_CENTER
5
Cancel
wxLEFT
0
Enter the Filter String
1
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
20
wxHORIZONTAL
wxALL|wxEXPAND
20
1
1
-1
wxBOTTOM|wxALIGN_CENTER
15
wxVERTICAL
wxLEFT
10
Display only Files
0
wxLEFT
10
Reset filter to *
0
wxLEFT
10
Apply to All visible panes
0
wxALL|wxEXPAND
10
wxHORIZONTAL
10,10
wxEXPAND
1
wxLEFT
10
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&CANCEL
wxLEFT
0
10,10
wxEXPAND
1
Multiple Rename
1
wxVERTICAL
wxTOP
10
wxVERTICAL
wxLEFT|wxRIGHT
40
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
15
You can either change foo.bar to, e.g., foo1.bar or new.foo.bar
wxALIGN_CENTER
15
or do something more complex with a regex
wxTOP|wxEXPAND
3
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
50
wxTOP|wxEXPAND
10
1
wxVERTICAL
wxBOTTOM|wxEXPAND
5
wxHORIZONTAL
Use a Regular Expression
0
1
wxALIGN_CENTER_VERTICAL
&Regex Help
wxLEFT
0
wxALIGN_CENTER
0
wxVERTICAL
wxEXPAND
1
wxHORIZONTAL
2
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Replace
wxRIGHT|wxEXPAND
5
-1
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
With
wxLEFT|wxEXPAND
5
-1
2
wxTOP|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
1
wxALIGN_CENTER
wxVERTICAL
1
0
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
wxHORIZONTAL
Replace all matches in a name
wxEXPAND
1
wxHORIZONTAL
wxTOP
3
Replace the first
37,20
1
1
999
matches in name
1
wxALL
5
Completely ignore non-matching files
1
wxLEFT|wxRIGHT|wxEXPAND
50
wxTOP|wxBOTTOM
10
wxVERTICAL
wxALIGN_CENTER
How (else) to create new names:
wxTOP|wxEXPAND
5
wxVERTICAL
wxALIGN_CENTER
Change which part of the name?
1
0
- Body
- Ext
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
1
wxALIGN_TOP
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Prepend text (optional)
wxALIGN_CENTER
-1
1
wxALIGN_TOP
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Append text (optional)
wxALIGN_CENTER
-1
1
wxBOTTOM|wxALIGN_CENTER
5
wxHORIZONTAL
wxALIGN_TOP
1
wxVERTICAL
wxLEFT
15
wxVERTICAL
wxBOTTOM
5
Increment starting with:
wxLEFT
40
wxHORIZONTAL
wxALIGN_CENTER
30,-1
0
wxALIGN_CENTER
0
0
10000
wxLEFT|wxALIGN_CENTER
10
Only if needed
1
wxALL|wxEXPAND
10
wxVERTICAL
Increment with a
1
0
- digit
- letter
wxLEFT|wxALIGN_CENTER
10
wxVERTICAL
Case
1
0
- Upper
- Lower
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
10,10
wxEXPAND
1
OK
wxLEFT
1
30,10
wxEXPAND
1
&Cancel
wxLEFT
0
10,10
wxEXPAND
1
Confirm Rename
1
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
Are you sure that you want to make these changes?
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
20
1
wxHORIZONTAL
wxRIGHT|wxEXPAND
15
1
wxVERTICAL
wxEXPAND
1
150,100
-1
wxLEFT|wxEXPAND
15
1
wxVERTICAL
wxEXPAND
1
150,100
-1
wxALL|wxEXPAND
10
wxHORIZONTAL
10,10
wxEXPAND
1
wxLEFT
10
OK
wxLEFT
1
30,10
wxEXPAND
1
&Try Again
wxLEFT
0
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&CANCEL
wxLEFT
0
10,10
wxEXPAND
1
4pane-5.0/rc/moredialogs.xrc 0000644 0001750 0001750 00002424104 13107333621 012743 0000000 0000000
Locate Files
1
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
Enter the search string. eg *foo[ab]r
wxBOTTOM|wxEXPAND
10
1
-1
wxALL|wxEXPAND
20
wxHORIZONTAL
wxVERTICAL
-b Basename
0
-i Ignore case
0
wxLEFT
15
wxVERTICAL
-e Existing
0
-r Regex
0
wxALL|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Find
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxVERTICAL
wxALL|wxEXPAND
5
1
Path
0
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
wxHORIZONTAL
wxTOP|wxALIGN_CENTER
5
This is Full Find. There is also a Quick Find
that will suffice for most searches
wxLEFT
40
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
Click for &Quick Find
wxLEFT
0
wxLEFT
10
Make Quick Find the default
0
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
Enter the Path from which to start searching (or use one of the shortcuts)
wxEXPAND
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxEXPAND
1
wxVERTICAL
wxALL|wxALIGN_CENTER
10
Path
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
-1
wxVERTICAL
wxLEFT|wxTOP|wxALIGN_CENTER
10
Shortcuts
wxLEFT|wxALIGN_CENTER_HORIZONTAL
20
wxVERTICAL
Current Directory
0
Home
0
Root ( / )
0
wxTOP|wxALIGN_CENTER
20
&Add To Command String, surrounded by Quotes
wxLEFT
0
1
Options
0
wxVERTICAL
wxALIGN_CENTER
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
10
These options are applied to the whole command. Select any you wish.
wxALL|wxALIGN_CENTER
10
wxVERTICAL
1
wxALIGN_CENTER
wxHORIZONTAL
wxLEFT
20
wxVERTICAL
-daystart
0
-depth
0
-follow
0
wxALIGN_CENTER
wxHORIZONTAL
wxLEFT
20
wxVERTICAL
-maxdepth
0
-mindepth
0
wxVERTICAL
wxTOP
3
40,18
0
0
0
100
wxTOP
7
40,18
0
0
0
100
wxLEFT
20
wxVERTICAL
-noleaf
0
-xdev (-mount)
0
-help
0
1
wxALL|wxALIGN_CENTER
10
1
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
Operators
0
wxVERTICAL
wxTOP|wxALIGN_CENTER
20
1
wxHORIZONTAL
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
10
Here for completeness, but it's usually easier to write them direct into the Command String.
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
10
Select one at a time.
wxALL|wxALIGN_CENTER
wxVERTICAL
1
wxALL|wxALIGN_CENTER
20
wxHORIZONTAL
wxLEFT|wxRIGHT
20
wxVERTICAL
-and
0
-or
0
-not
0
wxLEFT
20
wxVERTICAL
Open Bracket
0
Close Bracket
0
List ( , )
0
1
wxALL|wxALIGN_CENTER
10
1
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
Name
0
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
10
1
Enter a search term, which may include wildcards. It may instead be a Regular Expression.
wxALIGN_CENTER
Use Path or Regex if there is a '/' in the term, otherwise Name.
wxALIGN_CENTER
Symbolic-Link returns only symlinks.
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxEXPAND
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxEXPAND
20
1
wxVERTICAL
1
wxBOTTOM|wxALIGN_CENTER
10
Search term
wxLEFT|wxRIGHT|wxEXPAND
10
180,-1
-1
wxTOP|wxALIGN_CENTER
20
Ignore Case
0
1
wxALL
10
wxVERTICAL
This is a
1
0
- Name
- Path
- Regular Expression
- Symbolic-Link
wxBOTTOM|wxALIGN_CENTER
20
wxHORIZONTAL
Return Matches
1
Ignore Matches
1
wxBOTTOM|wxALIGN_CENTER
10
&Add To Command String, surrounded by Quotes
wxLEFT
0
1
Time
0
wxVERTICAL
1
wxLEFT|wxRIGHT|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
To filter by Time, select one of the following:
wxEXPAND
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Files that were
0
wxLEFT|wxRIGHT
8
1
3
0
0
Accessed
1
Modified
1
Status changed
1
wxLEFT|wxRIGHT
8
1
3
0
0
More than
1
Exactly
1
Less than
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
60,18
0
0
0
65535
wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL
8
1
2
0
0
Minutes ago
1
Days ago
1
wxEXPAND
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Files that were
0
wxLEFT|wxRIGHT
8
1
3
0
0
Accessed
1
Modified
1
Status changed
1
wxEXPAND
wxVERTICAL
1
wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER
10
more recently than the file:
0
wxLEFT|wxRIGHT|wxEXPAND
5
1
120,15
0
-1
1
wxEXPAND
wxVERTICAL
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Files that were last accessed
0
wxLEFT|wxRIGHT
8
1
3
0
0
More than
1
Exactly
1
Less than
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
60,18
0
0
0
65535
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
days after being modified
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
&Add To Command String
wxLEFT
0
1
Size and type
0
wxVERTICAL
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Choose up to one (at a time) of the following:
wxALL|wxEXPAND
5
wxHORIZONTAL
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Files of size
0
wxALL
8
1
3
0
0
More than
1
Exactly
1
Less than
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
60,18
0
0
0
1000000
wxALL
8
1
3
0
0
bytes
1
512-byte blocks
1
kilobytes
1
wxLEFT|wxEXPAND
5
1
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
25
wxVERTICAL
wxALIGN_CENTER
Empty files
0
wxALL|wxEXPAND
5
wxVERTICAL
wxRIGHT|wxEXPAND
1
wxHORIZONTAL
wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER
5
wxVERTICAL
Type
0
wxALL
5
wxVERTICAL
1
0
- Directory
- File
- SymLink
- Pipe
- Socket
- Blk Special
- Char Special
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
1
Owner and permissions
0
wxVERTICAL
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Choose up to one (at a time) of the following:
wxALL|wxEXPAND
5
wxHORIZONTAL
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Owner
0
wxALL|wxALIGN_CENTER_VERTICAL
8
wxVERTICAL
User
1
Group
1
wxTOP|wxBOTTOM|wxEXPAND
2
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
8
wxHORIZONTAL
By Name
1
1
1
By ID
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
wxTOP|wxEXPAND
3
0
wxTOP|wxBOTTOM|wxEXPAND
2
wxALL
8
1
3
0
0
More than
1
Exactly
1
Less than
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
wxVERTICAL
wxTOP|wxALIGN_CENTER
5
60,18
0
0
0
65535
wxLEFT|wxEXPAND
5
1
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
25
wxVERTICAL
No User
0
No Group
0
wxALL|wxEXPAND
5
wxHORIZONTAL
1
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Permissions
0
wxLEFT|wxRIGHT|wxEXPAND
7
wxVERTICAL
1
1
User
0
1
Group
0
1
Others
0
wxLEFT|wxRIGHT
2
wxVERTICAL
Read
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxRIGHT
1
wxVERTICAL
Write
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxRIGHT
2
wxVERTICAL
Exec
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT|wxALIGN_CENTER
5
0
0
wxLEFT
12
wxVERTICAL
Special
0
0
suid
0
0
sgid
0
0
sticky
0
wxLEFT|wxRIGHT|wxEXPAND
10
wxVERTICAL
1
wxALIGN_CENTER
or Enter Octal
0
wxTOP|wxEXPAND
3
0
1
wxALL
8
1
3
0
0
Match Any
1
Exact Match only
1
Match Each Specified
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
1
Actions
0
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
1
What to do with the results. The default is to Print them.
wxLEFT|wxRIGHT|wxEXPAND
30
wxHORIZONTAL
wxALL|wxEXPAND
5
1
wxHORIZONTAL
5
1
wxVERTICAL
wxALIGN_CENTER
print
0
wxALL|wxEXPAND
5
1
wxHORIZONTAL
5
1
wxVERTICAL
wxALIGN_CENTER
print0
0
wxALL|wxEXPAND
5
1
wxHORIZONTAL
5
1
wxVERTICAL
wxALIGN_CENTER
ls
0
wxLEFT|wxRIGHT|wxEXPAND
5
2
2
5
5
wxEXPAND
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
exec
0
ok
0
wxLEFT|wxRIGHT|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
Command to execute
0
wxTOP|wxBOTTOM|wxEXPAND
3
1
0
-1
wxEXPAND
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
printf
0
wxLEFT|wxRIGHT|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
Format String
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
1
0
wxEXPAND
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
fls
0
fprint
0
fprint0
0
wxLEFT|wxRIGHT|wxALIGN_CENTER
15
wxVERTICAL
wxALIGN_CENTER
Destination File
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
3
1
0
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
fprintf
0
wxLEFT|wxALIGN_CENTER
15
wxVERTICAL
2
0
3
3
wxALIGN_RIGHT
Format String
0
wxEXPAND
0
wxALIGN_RIGHT
Destination File
0
wxEXPAND
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALIGN_CENTER_VERTICAL
Command:
wxLEFT|wxRIGHT|wxALIGN_CENTER
4
1
1
-1
wxLEFT|wxTOP|wxBOTTOM
2
../bitmaps/clear_right.xpm
20,20
0
wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
3
&SEARCH
wxLEFT
1
1
&CANCEL
wxLEFT
0
3
Grep
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxVERTICAL
wxALL|wxEXPAND
5
1
General Options
0
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxTOP|wxALIGN_CENTER
5
This is the Full-Grep notebook.
There's also a Quick-Grep dialog
that will suffice for most searches
wxLEFT
40
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
Click for &Quick Grep
wxLEFT
0
wxLEFT
10
Make Quick Grep the default
0
wxLEFT|wxRIGHT|wxEXPAND
60
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Syntax: grep [options] [PatternToMatch] [File(s) to search]
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
Select any options you wish from the first 4 tabs, then in the last 2 enter the search pattern
and the path or files to search. Alternatively you can write direct into the Command box.
wxALIGN_CENTER
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
wxHORIZONTAL
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
1
Select whichever options you need
wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER
5
wxHORIZONTAL
wxLEFT|wxRIGHT
10
wxVERTICAL
-w match Whole words only
0
-i Ignore case
0
wxLEFT
20
wxVERTICAL
-x return whole Line matches only
0
-v return only lines that DON'T match
0
wxTOP|wxALIGN_CENTER
10
wxHORIZONTAL
wxBOTTOM|wxALIGN_CENTER
5
&Add To Command String
wxLEFT
0
Directory Options
0
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
Options to do with Directories
wxVERTICAL
wxLEFT
10
wxHORIZONTAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Do what with Directories?
0
wxLEFT|wxTOP|wxBOTTOM
15
1
3
0
0
Try to match the names (the default)
1
-r Recurse into them
1
Ignore them altogether
1
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
15
&Add To Command String
wxLEFT
0
1
File Options
0
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
wxHORIZONTAL
Options to do with Files
wxLEFT|wxRIGHT|wxALIGN_CENTER
10
wxVERTICAL
wxLEFT|wxTOP
10
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Stop searching a file after
0
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
50,18
0
0
0
1000
wxALL|wxALIGN_CENTER
5
wxVERTICAL
matches found
wxLEFT
10
wxHORIZONTAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Do what with Binary Files?
0
wxLEFT|wxTOP|wxBOTTOM
10
1
3
0
0
Report those containing a match (the default)
1
Treat them as if they were textfiles
1
Ignore them altogether
1
wxLEFT
10
wxHORIZONTAL
wxLEFT
5
wxVERTICAL
-D skip Ignore devices, sockets, FIFOs
0
wxTOP|wxBOTTOM
5
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxLEFT|wxALIGN_CENTER
10
Don't search in files that match the following pattern:
0
wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
5
1
120,15
0
-1
wxLEFT|wxBOTTOM
10
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Only search in files that match the following pattern:
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
5
1
120,15
0
-1
wxALL|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
Output Options
0
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
1
Options relating to the Output
wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER
10
wxVERTICAL
wxALL
10
wxHORIZONTAL
wxRIGHT
10
wxVERTICAL
-c print only Count of matches
0
-l print just each match's Filename
0
-H print the Filename for each match
0
-n prefix a match with its line-Number
0
-s don't print Error messages
0
wxTOP
7
wxHORIZONTAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
-B Show
0
wxALIGN_CENTER
wxVERTICAL
35,18
0
0
0
100
wxALIGN_CENTER
wxVERTICAL
lines of leading context
wxLEFT
20
wxVERTICAL
-o print only Matching section of line
0
-L Print only filenames with no match
0
-h Don't print filenames if multiple files
0
-b prefix a match with its Byte offset
0
-q print No output at all
0
wxTOP
7
wxHORIZONTAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
-A Show
0
wxALIGN_CENTER
wxVERTICAL
35,18
0
0
0
100
wxALIGN_CENTER
wxVERTICAL
lines of trailing context
wxALIGN_CENTER
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
-C Show
0
wxALIGN_CENTER
5
wxVERTICAL
35,18
0
0
0
100
wxALL|wxALIGN_CENTER
5
wxVERTICAL
lines of both leading and trailing context
wxTOP|wxBOTTOM|wxALIGN_CENTER
7
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
Make the display pretend the input came from File:
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
5
1
100,15
0
wxALIGN_CENTER
wxHORIZONTAL
wxBOTTOM|wxALIGN_CENTER
3
&Add To Command String
wxLEFT
0
Pattern
0
wxVERTICAL
wxALL|wxALIGN_CENTER
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
-e Use this if your pattern begins with a minus sign
0
wxEXPAND
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
20
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
Regular Expression to be matched
wxLEFT|wxRIGHT|wxALIGN_CENTER
10
1
1
-1
wxLEFT|wxALIGN_CENTER
15
wxVERTICAL
&Regex
Help
wxLEFT
0
wxALL|wxALIGN_CENTER
20
wxHORIZONTAL
wxLEFT|wxRIGHT
10
wxVERTICAL
-F Treat pattern as if using fgrep
0
wxLEFT
20
wxVERTICAL
-P treat pattern as a Perl regex
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER
5
wxVERTICAL
wxALIGN_CENTER
-f instead load the pattern from File:
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
5
1
100,15
0
wxALL|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
Location
0
wxVERTICAL
1
wxALIGN_CENTER
Enter the Path or list of Files to search (or use one of the shortcuts)
wxALL|wxEXPAND
20
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL
10
1
-1
wxVERTICAL
wxLEFT|wxTOP|wxALIGN_CENTER
10
Shortcuts
wxLEFT|wxALIGN_CENTER_HORIZONTAL
20
wxVERTICAL
Current Directory
0
Home
0
Root ( / )
0
wxALL|wxALIGN_CENTER
10
wxHORIZONTAL
wxALIGN_CENTER
&Add To Command String
wxLEFT
0
1
wxEXPAND
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
This will be the grep command string
wxEXPAND
wxHORIZONTAL
wxRIGHT|wxTOP|wxBOTTOM
2
../bitmaps/clear_right.xpm
20,20
0
wxLEFT|wxEXPAND
4
1
1
-1
wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
2
&SEARCH
wxLEFT
1
1
&CANCEL
wxLEFT
0
2
1
wxVERTICAL
wxALL|wxEXPAND
15
1
wxHORIZONTAL
wxEXPAND
1
500,200
wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
wxLEFT|wxEXPAND
30
1
wxVERTICAL
Auto-Close
1
wxLEFT|wxEXPAND
1
wxVERTICAL
wxALIGN_CENTER
&CANCEL
wxLEFT
0
1
wxVERTICAL
Archive Files
1
wxVERTICAL
wxALL|wxEXPAND
10
1
wxVERTICAL
wxEXPAND
1
wxHORIZONTAL
wxEXPAND
1
2
0
0
0
wxEXPAND
1
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
File(s) to store in the Archive
wxEXPAND
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
5
1
-1,110
-1
wxEXPAND
1
wxVERTICAL
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Add another File
wxEXPAND
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxALIGN_CENTER
&Add
wxLEFT
0
1
wxTOP|wxEXPAND
10
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxEXPAND
1
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Name to give the Archive
wxLEFT|wxRIGHT|wxEXPAND
10
1
wxBOTTOM|wxALIGN_CENTER
5
(Don't add an ext)
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Create in this folder
wxTOP|wxEXPAND
4
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxRIGHT
15
1
wxVERTICAL
wxALIGN_CENTER_HORIZONTAL
Create the archive using Tar
1
wxALL|wxALIGN_CENTER_HORIZONTAL
10
wxVERTICAL
Compress using:
1
0
- bzip2
- gzip
- xz
- lzma
- 7z
- lzop
- don't compress
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER_HORIZONTAL
10
wxHORIZONTAL
Dereference symlinks
1
wxLEFT|wxRIGHT
10
Verify afterwards
1
Delete source files
0
wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
20
wxHORIZONTAL
1
Use zip instead
0
wxTOP|wxALIGN_CENTER_HORIZONTAL
10
wxHORIZONTAL
OK
wxLEFT
1
30,10
1
&CANCEL
wxLEFT
0
Append files to existing Archive
1
wxVERTICAL
wxALL|wxEXPAND
10
1
wxVERTICAL
wxTOP|wxEXPAND
1
wxHORIZONTAL
wxEXPAND
1
2
0
0
0
wxEXPAND
1
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
File(s) to store in the Archive
wxEXPAND
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
-1,120
-1
wxEXPAND
1
wxVERTICAL
1
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Add another File
wxEXPAND
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxTOP|wxALIGN_CENTER
10
&Add to List
wxLEFT
0
1
wxTOP|wxEXPAND
10
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Archive to which to Append
wxTOP|wxEXPAND
4
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxTOP|wxEXPAND
10
wxHORIZONTAL
1
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
Dereference Symlinks
1
Verify archive afterwards
1
Delete Source Files afterwards
0
wxTOP|wxEXPAND
10
wxHORIZONTAL
2
OK
wxLEFT
1
1
&CANCEL
wxLEFT
0
2
Compress files
1
wxVERTICAL
wxALL|wxEXPAND
10
1
wxVERTICAL
wxEXPAND
1
wxHORIZONTAL
wxTOP|wxEXPAND
5
1
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
File(s) to Compress
wxEXPAND
1
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
1
200,120
-1
wxTOP|wxALIGN_CENTER
5
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
15
Add another File
wxEXPAND
1
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
180,-1
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxALIGN_CENTER
&Add
wxLEFT
0
wxALIGN_CENTER_HORIZONTAL
wxVERTICAL
wxALL
10
wxVERTICAL
wxLEFT
10
Compress using:
Create.]]>
1
0
- bzip2
- gzip
- xz
- lzma
- lzop
- 'compress'
wxEXPAND
wxHORIZONTAL
1
Faster
2
1
9
6
Smaller
1
wxALL
10
wxVERTICAL
Overwrite any existing files
0
Recursively compress all files in any selected directories
0
wxEXPAND
wxTOP|wxALIGN_CENTER
10
wxHORIZONTAL
OK
1
wxLEFT
1
30,10
wxEXPAND
1
&CANCEL
wxLEFT
0
Extract Compressed Files
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
1
wxHORIZONTAL
wxTOP|wxEXPAND
5
1
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Compressed File(s) to Extract
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM
10
250,120
-1
wxTOP|wxALIGN_CENTER
5
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
15
Add another File
wxEXPAND
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxTOP|wxALIGN_CENTER
10
&Add to List
wxLEFT
0
wxTOP|wxEXPAND
15
wxHORIZONTAL
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxRIGHT
10
Recurse into Directories
1
wxLEFT
10
Overwrite existing files
0
wxLEFT
10
Uncompress Archives too
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
1
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Extract an Archive
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxALIGN_CENTER
5
1
wxVERTICAL
wxALL|wxEXPAND
5
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
15
Archive to Extract
wxEXPAND
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1,1
wxTOP|wxBOTTOM
10
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Directory into which to Extract
wxTOP|wxEXPAND
4
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxTOP|wxEXPAND
15
wxHORIZONTAL
1
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxLEFT|wxRIGHT
130
Overwrite existing files
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Verify Compressed Files
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxHORIZONTAL
wxTOP
5
1
wxVERTICAL
wxALIGN_CENTER
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
Compressed File(s) to Verify
wxHORIZONTAL
wxLEFT|wxRIGHT|wxBOTTOM
10
250,120
-1
wxTOP|wxALIGN_CENTER
5
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
15
Add another File
wxEXPAND
wxHORIZONTAL
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
1
-1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxTOP|wxALIGN_CENTER
10
&Add to List
wxLEFT
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
&Verify Compressed Files
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Verify an Archive
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
15
Archive to Verify
wxEXPAND
wxHORIZONTAL
5,5
wxBOTTOM|wxEXPAND
10
1
1
5,5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
1
wxVERTICAL
wxALL
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP
20
wxVERTICAL
wxALL|wxALIGN_CENTER
10
Do you wish to Extract an Archive, or Decompress files?
wxBOTTOM|wxALIGN_CENTER
30
wxHORIZONTAL
wxALL|wxALIGN_CENTER
5
&Extract an Archive
wxLEFT
0
20,10
wxEXPAND
1
wxALL|wxALIGN_CENTER
5
&Decompress File(s)
wxLEFT
0
wxALL|wxALIGN_CENTER
5
&CANCEL
wxLEFT
0
1
wxVERTICAL
wxALL
15
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxTOP
20
wxVERTICAL
wxALL|wxALIGN_CENTER
10
Do you wish to Verify an Archive, or Compressed files?
wxBOTTOM|wxALIGN_CENTER
30
wxHORIZONTAL
wxALL|wxALIGN_CENTER
5
An &Archive
wxLEFT
0
20,10
wxEXPAND
1
wxALL|wxALIGN_CENTER
5
Compressed &File(s)
wxLEFT
0
wxALL|wxALIGN_CENTER
5
&CANCEL
1
wxLEFT
0
Properties
1
wxVERTICAL
wxEXPAND
1
General
0
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxEXPAND
20
wxHORIZONTAL
wxRIGHT|wxEXPAND
10
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
Name:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
Location:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_RIGHT
1
Type:
wxLEFT|wxEXPAND
10
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
1
wxEXPAND
wxHORIZONTAL
wxRIGHT|wxEXPAND
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Size:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Accessed:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxLEFT|wxALIGN_RIGHT
Admin Changed:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Modified:
wxLEFT|wxEXPAND
6
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxRIGHT
15
OK
wxLEFT
1
wxLEFT
15
&CANCEL
wxLEFT
0
Permissions and Ownership
0
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
10
1
wxHORIZONTAL
wxEXPAND
1
wxVERTICAL
wxTOP|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
15
1
wxHORIZONTAL
1
wxLEFT|wxRIGHT|wxEXPAND
12
wxVERTICAL
1
1
User
1
Group
1
Others
wxLEFT|wxRIGHT
5
wxVERTICAL
Read
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
5
wxVERTICAL
Write
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
5
wxVERTICAL
Exec
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
12
wxVERTICAL
Special
suid
0
sgid
0
sticky
0
1
wxTOP|wxEXPAND
10
wxHORIZONTAL
wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND
10
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
User:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
6
1
Group:
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
10
3
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxEXPAND
-1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
-1
1
wxTOP|wxBOTTOM
10
wxVERTICAL
wxLEFT
10
Apply changes to all descendants
0
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
wxHORIZONTAL
wxRIGHT
15
OK
wxLEFT
1
wxLEFT
15
&CANCEL
wxLEFT
0
Esoterica
0
wxVERTICAL
1
wxEXPAND
wxVERTICAL
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxHORIZONTAL
1
wxEXPAND
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Device ID:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Inode:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
No. of Hard Links:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
No. of 512B Blocks:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Blocksize:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxLEFT|wxALIGN_RIGHT
Owner ID:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Group ID:
wxLEFT|wxEXPAND
6
2
wxVERTICAL
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
1
wxTOP|wxALIGN_CENTER
15
wxHORIZONTAL
wxRIGHT
15
OK
wxLEFT
1
wxLEFT
15
&CANCEL
wxLEFT
0
1
Properties
1
wxVERTICAL
wxEXPAND
1
General
0
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
15
1
wxVERTICAL
wxBOTTOM|wxEXPAND
40
wxHORIZONTAL
wxRIGHT|wxEXPAND
10
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
Name:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
Location:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_RIGHT
1
Type:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
4
1
Link Target:
wxLEFT|wxEXPAND
10
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxEXPAND
10
1
wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
1
&Go To Link Target
wxLEFT
0
wxRIGHT|wxEXPAND
10
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
10,30
wxEXPAND
1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
10,14
wxEXPAND
1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
10,10
wxEXPAND
1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxHORIZONTAL
15,5
wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
wxEXPAND
wxHORIZONTAL
wxRIGHT|wxEXPAND
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Size:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Accessed:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxLEFT|wxALIGN_RIGHT
Admin Changed:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Modified:
wxLEFT|wxEXPAND
6
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxRIGHT|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Permissions and Ownership
0
wxVERTICAL
wxEXPAND
1
wxVERTICAL
wxALL|wxEXPAND
15
wxHORIZONTAL
wxEXPAND
1
wxVERTICAL
wxTOP|wxEXPAND
30
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
15
1
wxHORIZONTAL
1
wxLEFT|wxRIGHT|wxEXPAND
7
wxVERTICAL
1
wxALIGN_CENTER
1
User
wxALIGN_CENTER
1
Group
1
Others
wxLEFT|wxRIGHT
2
wxVERTICAL
Read
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
1
wxVERTICAL
Write
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
2
wxVERTICAL
Exec
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT
12
wxVERTICAL
Special
suid
0
sgid
0
sticky
0
1
wxTOP|wxEXPAND
20
wxHORIZONTAL
wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND
10
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
User:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
6
1
Group:
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
10
3
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
-1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
-1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxLEFT|wxEXPAND
10
Apply changes to all descendants
0
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Esoterica
0
wxVERTICAL
1
wxALIGN_CENTER
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxHORIZONTAL
1
wxEXPAND
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Device ID:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Inode:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
No. of Hard Links:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
No. of 512B Blocks:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Blocksize:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxLEFT|wxALIGN_RIGHT
Owner ID:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Group ID:
wxLEFT|wxEXPAND
25
2
wxVERTICAL
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
1
Properties
1
wxVERTICAL
wxEXPAND
1
General
0
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
wxHORIZONTAL
wxLEFT|wxTOP
10
wxVERTICAL
wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
Name:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
Location:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxALIGN_RIGHT
1
Type:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
4
1
First Link Target:
wxTOP|wxEXPAND
60
wxVERTICAL
wxALIGN_RIGHT
Ultimate Target:
wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND
10
5
wxHORIZONTAL
wxLEFT|wxEXPAND
10
2
wxVERTICAL
wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxTOP|wxEXPAND
7
wxHORIZONTAL
wxBOTTOM|wxEXPAND
10
1
wxLEFT|wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
&Go To First Link Target
wxLEFT
0
wxTOP|wxEXPAND
17
wxVERTICAL
wxEXPAND
wxTOP|wxEXPAND
7
wxVERTICAL
wxALIGN_CENTER
Go To &Ultimate Target
wxLEFT
0
1
wxTOP|wxEXPAND
10
wxHORIZONTAL
wxEXPAND
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxALIGN_RIGHT
Size:
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxALIGN_RIGHT
Accessed:
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxALIGN_RIGHT
Admin Changed:
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxALIGN_RIGHT
Modified:
wxLEFT|wxEXPAND
6
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxTOP|wxBOTTOM|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxLEFT|wxRIGHT|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
10
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Permissions and Ownership
0
wxVERTICAL
wxEXPAND
1
wxVERTICAL
wxALL|wxEXPAND
15
wxHORIZONTAL
wxEXPAND
1
wxVERTICAL
wxTOP|wxEXPAND
40
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
15
1
wxHORIZONTAL
1
wxLEFT|wxRIGHT|wxEXPAND
7
wxVERTICAL
1
wxALIGN_CENTER
1
User
wxALIGN_CENTER
1
Group
1
Others
wxLEFT|wxRIGHT
2
wxVERTICAL
Read
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
1
wxVERTICAL
Write
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxRIGHT
2
wxVERTICAL
Exec
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT|wxALIGN_CENTER
5
0
wxLEFT
12
wxVERTICAL
Special
suid
0
sgid
0
sticky
0
1
wxTOP|wxEXPAND
40
wxHORIZONTAL
1
wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND
10
1
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
3
1
User:
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxALIGN_RIGHT
6
1
Group:
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
10
3
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
wxEXPAND
-1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxEXPAND
-1
1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxLEFT|wxEXPAND
10
Apply changes to all descendants
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
10
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Esoterica
0
wxVERTICAL
1
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxHORIZONTAL
1
wxEXPAND
2
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Device ID:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Inode:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
No. of Hard Links:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
No. of 512B Blocks:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Blocksize:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxLEFT|wxALIGN_RIGHT
Owner ID:
wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxTOP|wxALIGN_RIGHT
1
Group ID:
wxLEFT|wxEXPAND
25
2
wxVERTICAL
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
wxLEFT|wxTOP|wxBOTTOM|wxEXPAND
7
wxVERTICAL
wxEXPAND
1
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
1
Mount an fstab partition
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Partition to Mount
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
1
-1
5,5
1
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point for the Partition
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
5,5
1
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
15
wxVERTICAL
wxALIGN_CENTER
&Mount a non-fstab partition
wxLEFT
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Mount a Partition
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Partition to Mount
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
3
1
-1
5,5
1
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point for the Partition
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM
10
3
-1
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1
wxTOP
15
wxVERTICAL
Mount Options
wxEXPAND
wxVERTICAL
wxALL|wxEXPAND
10
wxHORIZONTAL
wxALIGN_CENTER
wxVERTICAL
Read Only
0
Synchronous Writes
0
No File Access-time update
0
wxALIGN_CENTER
wxVERTICAL
Files not executable
0
Hide device special files
0
Ignore Setuid/Setgid
0
wxBOTTOM|wxALIGN_CENTER
10
1
Create a Passive Translator too
0
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Mount using sshfs
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
10
wxVERTICAL
wxTOP|wxEXPAND
10
wxHORIZONTAL
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
5
Remote user
150,-1
-1
wxBOTTOM|wxALIGN_BOTTOM
5
@
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
5
Host name
wxEXPAND
150,-1
1
-1
wxBOTTOM|wxALIGN_BOTTOM
5
:
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
5
Remote directory
wxEXPAND
150,-1
1
-1
wxTOP|wxEXPAND
30
wxVERTICAL
wxALIGN_CENTER
Local mount-point
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM
10
3
-1
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1
wxTOP|wxEXPAND
15
wxVERTICAL
Options
wxALL|wxEXPAND
10
wxHORIZONTAL
idmap=user
1
1
mount read-only
0
1
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
2
0
0
0
1
wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL
Other options:
wxEXPAND
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER
15
wxHORIZONTAL
wxLEFT
20
OK
wxLEFT
1
30,10
1
wxRIGHT
15
&CANCEL
wxLEFT
0
Mount a DVD-RAM Disc
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
15
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Device to Mount
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
1
5,5
1
wxALL|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point
wxTOP|wxEXPAND
10
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
10
2
1
-1
wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Mount an iso-image
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Image to Mount
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxLEFT|wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
4
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point for the Image
wxEXPAND
wxHORIZONTAL
wxTOP
5
1
wxVERTICAL
wxALIGN_CENTER
Already
Mounted
wxTOP|wxEXPAND
10
5
wxHORIZONTAL
wxBOTTOM
10
4
-1
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
1
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Mount an NFS export
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
5
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxEXPAND
2
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
Choose a Server
wxTOP|wxEXPAND
5
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
1
-1
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
&Add
wxLEFT
0
5,5
wxTOP|wxEXPAND
5
wxVERTICAL
wxTOP|wxEXPAND
5
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
Export to Mount
wxEXPAND
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
1
-1
1
wxVERTICAL
wxTOP
2
already mounted
wxTOP|wxEXPAND
10
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point
wxTOP|wxEXPAND
5
wxHORIZONTAL
5,5
2
wxBOTTOM
10
5
-1
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1
wxTOP|wxEXPAND
13
wxVERTICAL
Mount Options
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
1
0
- Hard Mount
- Soft Mount
wxLEFT|wxRIGHT|wxEXPAND
5
wxVERTICAL
wxALIGN_CENTER
1
0
- Mount read-write
- Mount read-only
wxTOP|wxALIGN_CENTER
15
wxHORIZONTAL
wxRIGHT
15
OK
wxLEFT
1
wxLEFT
15
&CANCEL
wxLEFT
0
Add an NFS server
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxALIGN_CENTER
15
wxVERTICAL
wxALL|wxEXPAND
12
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
IP address of the new Server
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
1
5,5
1
wxTOP|wxEXPAND
10
wxVERTICAL
wxALIGN_CENTER
Store this address for future use
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Mount a Samba Share
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxEXPAND
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxEXPAND
2
wxVERTICAL
wxBOTTOM
5
wxVERTICAL
wxALIGN_CENTER
Available Servers
wxEXPAND
wxHORIZONTAL
1
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
4
wxVERTICAL
wxALIGN_CENTER
IP Address
wxBOTTOM|wxEXPAND
7
2
-1
wxLEFT|wxRIGHT|wxALIGN_CENTER
5
5
wxVERTICAL
wxALIGN_CENTER
Host Name
wxBOTTOM|wxEXPAND
7
2
1
-1
1
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxTOP|wxEXPAND
5
2
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
Share to Mount
wxTOP|wxEXPAND
5
wxHORIZONTAL
5,5
2
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
3
1
-1
2
wxVERTICAL
wxTOP
2
already mounted
wxTOP|wxEXPAND
10
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point
wxTOP|wxEXPAND
5
wxHORIZONTAL
5,5
1
wxBOTTOM
10
4
-1
5,5
wxLEFT
5
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
../bitmaps/fileopen.xpm
0
5,5
1
wxTOP|wxEXPAND
13
wxVERTICAL
Mount Options
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
wxVERTICAL
wxALIGN_CENTER
1
0
- Use this Name and Password
- Try to Mount Anonymously
wxLEFT|wxRIGHT|wxEXPAND
5
wxVERTICAL
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxALIGN_CENTER
10
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Username
wxEXPAND
wxLEFT|wxRIGHT|wxALIGN_CENTER
10
1
wxVERTICAL
wxBOTTOM|wxALIGN_CENTER
5
Password
wxEXPAND
wxALIGN_CENTER
wxVERTICAL
wxALIGN_RIGHT
3
1
0
- Mount read-write
- Mount read-only
wxTOP|wxALIGN_CENTER
15
wxHORIZONTAL
wxRIGHT
15
OK
wxLEFT
1
wxLEFT
15
&CANCEL
wxLEFT
0
Unmount a partition
1
wxVERTICAL
wxALL|wxEXPAND
12
wxVERTICAL
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Partition to Unmount
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
1
-1
5,5
1
wxTOP|wxEXPAND
15
wxVERTICAL
wxTOP|wxEXPAND
5
wxHORIZONTAL
wxALL|wxEXPAND
5
2
wxVERTICAL
wxEXPAND
wxVERTICAL
wxALIGN_CENTER
Mount-Point for this Partition
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
wxBOTTOM|wxALIGN_CENTER_VERTICAL
10
2
5,5
1
wxLEFT|wxRIGHT|wxTOP|wxEXPAND
30
wxHORIZONTAL
20,10
wxEXPAND
1
wxLEFT
20
OK
wxLEFT
1
30,10
wxEXPAND
1
wxRIGHT|wxBOTTOM
15
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Execute as superuser
1
wxVERTICAL
wxALL|wxEXPAND
10
wxHORIZONTAL
5,5
1
4
wxVERTICAL
wxTOP|wxALIGN_CENTER
10
The command:
wxTOP|wxBOTTOM|wxEXPAND
10
wxBOTTOM|wxALIGN_CENTER
15
requires extra privileges
5,5
1
wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND
10
wxHORIZONTAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
10
1
wxVERTICAL
wxALIGN_CENTER
Please enter the administrator password:
wxTOP|wxEXPAND
10
wxHORIZONTAL
5,5
1
4
wxVERTICAL
wxEXPAND
1
wxLEFT|wxTOP
10
Remember this password for a while
1
5,5
1
wxLEFT|wxRIGHT|wxEXPAND
20
wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL
10
wxHORIZONTAL
OK
wxLEFT
1
30,10
&CANCEL
wxLEFT
0
Quick Grep
1
wxVERTICAL
wxALL|wxEXPAND
12
1
wxVERTICAL
wxLEFT|wxRIGHT
15
wxHORIZONTAL
wxALIGN_CENTER
This is the Quick-Grep dialog.
It provides only the commonest
of the many grep options.
wxLEFT
40
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
Click for &Full Grep
wxLEFT
0
wxLEFT
10
Make Full Grep the default
0
wxTOP|wxEXPAND
5
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxTOP|wxBOTTOM|wxALIGN_CENTER
5
wxHORIZONTAL
wxLEFT|wxALIGN_CENTER_VERTICAL
30
Regular Expression to be matched
wxLEFT|wxALIGN_CENTER_VERTICAL
30
&Regex Help
wxLEFT
0
wxLEFT|wxRIGHT|wxEXPAND
30
180,-1
1
-1
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
60
wxLEFT
30
wxHORIZONTAL
wxALIGN_CENTER_VERTICAL
wxVERTICAL
wxBOTTOM
10
Enter the Path or list of Files to search
(or use one of the shortcuts)
wxEXPAND
180,-1
-1
wxVERTICAL
wxLEFT|wxALIGN_CENTER
10
Shortcuts
wxLEFT|wxALIGN_CENTER_HORIZONTAL
20
wxVERTICAL
Current Directory
0
Home
0
Root ( / )
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
60
wxLEFT
30
wxHORIZONTAL
wxRIGHT|wxALIGN_CENTER
10
wxVERTICAL
-w match Whole words only
0
-i Ignore case
0
-n prefix match with line-number
0
Ignore binary files
1
Ignore devices, fifos etc
1
wxLEFT|wxALIGN_CENTER
20
wxVERTICAL
Do what with directories?
1
0
- Match the names
- Recurse into them
- Ignore them altogether
wxBOTTOM
5
wxTOP|wxEXPAND
15
wxHORIZONTAL
20,10
wxEXPAND
1
&SEARCH
wxLEFT
1
20,10
wxEXPAND
1
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
Quick Find
1
wxVERTICAL
wxALL|wxEXPAND
12
1
wxVERTICAL
wxLEFT|wxRIGHT
15
wxHORIZONTAL
wxALIGN_CENTER
This is the Quick-Find dialog.
It provides only the commonest
of the many find options.
wxLEFT
40
wxVERTICAL
wxTOP|wxBOTTOM|wxEXPAND
5
Click for &Full Find
wxLEFT
0
wxLEFT
10
Make Full Find the default
0
wxTOP|wxEXPAND
5
wxVERTICAL
wxLEFT
30
wxHORIZONTAL
wxALIGN_CENTER_VERTICAL
wxVERTICAL
wxBOTTOM
10
Enter the Path from which to start searching
(or use one of the shortcuts)
wxEXPAND
180,-1
-1
wxVERTICAL
wxLEFT|wxALIGN_CENTER
10
Shortcuts
wxLEFT|wxALIGN_CENTER_HORIZONTAL
20
wxVERTICAL
Current Directory
0
Home
0
Root ( / )
0
wxTOP|wxBOTTOM|wxEXPAND
10
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
60
wxEXPAND
10
wxVERTICAL
wxLEFT|wxRIGHT|wxEXPAND
25
wxVERTICAL
wxLEFT|wxRIGHT|wxTOP
5
Search term:
wxEXPAND
wxHORIZONTAL
wxLEFT|wxRIGHT|wxTOP|wxALIGN_CENTER_VERTICAL
5
1
1
-1
wxLEFT|wxTOP|wxALIGN_CENTER_VERTICAL
5
Ignore case
0
wxLEFT
30
wxVERTICAL
wxTOP|wxBOTTOM
5
wxHORIZONTAL
wxALIGN_CENTER_VERTICAL
10
This is a:
wxALL
5
name
1
wxALL
5
path
0
wxALL
5
regex
0
wxBOTTOM
5
wxTOP|wxEXPAND
15
wxHORIZONTAL
20,10
wxEXPAND
1
&SEARCH
wxLEFT
1
20,10
wxEXPAND
1
&CANCEL
wxLEFT
0
20,10
wxEXPAND
1
4pane-5.0/rc/4Pane.desktop 0000644 0001750 0001750 00000000371 13056344641 012263 0000000 0000000 [Desktop Entry]
Name=4Pane
GenericName=File Manager
Comment=A four-pane file manager
Exec=4Pane
Icon=4Pane
Version=1.0
Type=Application
Terminal=false
StartupNotify=false
Categories=FileManager;Utility;System;
Keywords=file;manager;disk;filesystem;
4pane-5.0/Configure.h 0000644 0001750 0001750 00000051216 13107333621 011404 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Configure.h
// Purpose: Configuration
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef CONFIGUREH
#define CONFIGUREH
#include
#include
#include "wx/spinctrl.h"
#include "wx/treebook.h"
#include "wx/wizard.h"
#include "Devices.h"
#include "Tools.h"
class NoConfigWizard;
class MyWizardPage : public wxWizardPage
{
public:
MyWizardPage(wxWizard *parent) : wxWizardPage(parent){}
virtual void OnPageDisplayed()=0; // Abstract, as we certainly don't want any objects,
};
class FirstPage : public MyWizardPage
{
public:
FirstPage(wxWizard *parent, wxWizardPage* Page2, wxWizardPage* Page3);
// implement wxWizardPage functions
virtual wxWizardPage* GetPrev() const { return (wxWizardPage*)NULL; }
virtual wxWizardPage* GetNext() const { return RCFound ? m_Page3 : m_Page2; } // Return the correct next page, depending on whether resources were found
void OnPageDisplayed(){}
void SetRCFound(bool found) { RCFound = found; }
protected:
wxWizardPage *m_Page2, *m_Page3;
bool RCFound;
};
class SecondPage : public MyWizardPage
{
public:
SecondPage(wxWizard *parent, wxWizardPage* Page3);
virtual wxWizardPage* GetPrev() const { return (wxWizardPage*)NULL; }
virtual wxWizardPage* GetNext() const { return m_Page3; }
void OnPageDisplayed();
protected:
wxWizard *parent;
wxWizardPage* m_Page3;
};
class ThirdPage : public MyWizardPage
{
public:
ThirdPage(NoConfigWizard* parent, const wxString& configFP);
virtual wxWizardPage* GetPrev() const { return (wxWizardPage*)NULL; }
virtual wxWizardPage* GetNext() const { return (wxWizardPage*)NULL; }
void OnPageDisplayed();
bool m_ConfigAlreadyFound;
protected:
const wxString configFPath;
};
class NoConfigWizard : public wxWizard
{
public:
NoConfigWizard(wxWindow* parent, int id, const wxString& title, const wxString& configFPath);
wxCheckBox* shortcut; // So the user can ask for a desktop shortcut (not) to be provided if there isn't one already
FirstPage* Page1;
SecondPage* Page2;
ThirdPage* Page3;
protected:
void OnPageChanged(wxWizardEvent& event) { ((MyWizardPage*)event.GetPage())->OnPageDisplayed(); }
void OnEventSetFocusNext(wxCommandEvent& event) { if (m_Next) m_Next->SetFocus(); } // Set focus to the 'Next' button
void OnButton(wxCommandEvent& event);
wxString m_configFPath; // Normally ~/.4Pane, but not if the instance was invoked with the -c option
wxButton* m_Next;
private:
DECLARE_EVENT_TABLE()
};
class MyConfigureDialog : public wxDialog
{
public:
void OnEndModal(wxCommandEvent& event);
void OnClose(wxCloseEvent& event);
};
class Configure; class ArrayOfToolFolders;
class BackgroundColoursDlg : public wxDialog
{
public:
void Init(wxColour c0, wxColour c1, bool single);
wxColour Col0, Col1;
wxCheckBox* IdenticalColsChk;
protected:
bool dirty;
void DisplayCols();
void OnChangeButton(wxCommandEvent& event);
void OnCheckboxUpdateUI(wxUpdateUIEvent& event);
DECLARE_EVENT_TABLE()
};
class ChooseStripesDlg : public wxDialog
{
public:
void Init(wxColour c0, wxColour c1){ Col0 = c0 ; Col1 = c1; DisplayCols(); }
wxColour Col0, Col1;
protected:
bool dirty;
void DisplayCols();
void OnChangeButton(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
class ConfigureFileOpenDlg : public wxDialog
{
public:
void Init();
bool GetUseSystem() const { return m_UseSystem->IsChecked(); }
bool GetUseBuiltin() const { return m_UseBuiltin->IsChecked(); }
bool GetPreferSystem() const { return m_PreferSystem->GetValue(); }
protected:
void OnRadioUpdateUI(wxUpdateUIEvent& event);
bool dirty;
wxCheckBox* m_UseSystem;
wxCheckBox* m_UseBuiltin;
wxRadioButton* m_PreferSystem;
wxRadioButton* m_PreferBuiltin;
};
class PaneHighlightDlg : public wxDialog
{
public:
void Init(int dv, int fv);
int GetDirSpinValue() { return dvspin->GetValue(); }
int GetFileSpinValue() { return fvspin->GetValue(); }
protected:
void OnSpin(wxSpinEvent& event);
wxSpinCtrl *dvspin, *fvspin;
wxPanel *dvpanel, *fvpanel;
DECLARE_EVENT_TABLE()
};
struct DirCtrlTBStruct // Holds info on the desired extra buttons to load to each Dirview mini-toolbar
{ wxString bitmaplocation; // Load the bitmap from here
int iconNo; // Which icon to use
wxBitmapType icontype; // Can be wxBITMAP_TYPE_PNG, wxBITMAP_TYPE_XPM or wxBITMAP_TYPE_BMP (other handlers aren't loaded)
wxString label;
wxString tooltip;
wxString destination; // The "url" to go to when clicked eg The "Home" button will contain /home
};
WX_DEFINE_ARRAY(DirCtrlTBStruct*, ArrayofDirCtrlTBStructs);
class ToolbarIconsDialog : public TBOrEditorBaseDlg
{
public:
void Init(ArrayofDirCtrlTBStructs* DCTBarray);
virtual int SetBitmap(wxBitmapButton* btn, wxWindow* pa, long iconno); // Returns buttons event id if it works, else false
virtual void AddIcon(wxString& newfilepath, size_t type);
static void LoadDirCtrlTBinfo(ArrayofDirCtrlTBStructs* DCTBarray);
void Save();
protected:
void OnAddButton(wxCommandEvent& event);
void OnEditButton(wxCommandEvent& event);
void OnDeleteButton(wxCommandEvent& event);
void DoUpdateUI(wxUpdateUIEvent& event);
void FillListbox();
void SaveIcons();
void OnInitDialog(wxInitDialogEvent& event);
size_t NoOfTools;
wxArrayString Icons;
wxArrayInt Icontypes;
ArrayofDirCtrlTBStructs* DirCtrlTBinfoarray;
wxListBox* list;
DeviceManager* parent;
private:
DECLARE_EVENT_TABLE()
};
class AddToobarIconDlg : public wxDialog
{
public:
void Init(ToolbarIconsDialog* dad, const wxString& defaultfilepath, const wxString& defaultLabel, const wxString& defaulttooltip, long icon);
TBOrEditorBaseDlg* grandparent;
wxTextCtrl* Filepath;
wxTextCtrl* Label;
wxTextCtrl* Tooltip;
long iconno;
protected:
void OnIconClicked(wxCommandEvent& event);
void OnBrowseBtn(wxCommandEvent& event);
int CreateButton();
wxBitmapButton* btn;
};
class TBIconSelectDlg : public IconSelectBaseDlg
{
protected:
virtual void DisplayButtonChoices();
};
class ConfigureNotebook;
class ConfigureDisplay // Encapsulates the Display notebookpage stuff
{
enum whichpage { CD_trees, CD_font, CD_misc };
public:
ConfigureDisplay(ConfigureNotebook* nb) : m_nb(nb) { pageTree=pageFont=pageMisc = NULL; dirty[0]=dirty[1]=dirty[2] = false; fontchanged = false; subpage = CD_trees; InitialiseData(); }
void InitTrees(wxNotebookPage* pg){ pageTree = pg; InsertDataTrees(); subpage=CD_trees; }
void InitFont(wxNotebookPage* pg) { pageFont = pg; InsertDataFont(); subpage=CD_font; }
void InitMisc(wxNotebookPage* pg) { pageMisc = pg; InsertDataMisc(); subpage=CD_misc; }
void InitialiseData(); // Fill the temp vars with the old data. Used initially and also to revert on Cancel
void InsertDataTrees();
void InsertDataFont();
void InsertDataMisc();
void OnChangeFont();
void OnDefaultFont();
void OnCancel();
void OnOK();
void OnSelectBackgroundColours();
void OnSelectColours();
void OnConfigurePaneHighlighting();
void OnConfigureTBIcons();
void OnConfigurePreviews();
static void LoadDisplayConfig();
void OnUpdateUI();
bool dirty[3];
protected:
void Save();
bool tempSHOW_TREE_LINES;
int tempTREE_INDENT;
size_t tempTREE_SPACING;
bool tempSHOWHIDDEN;
bool tempUSE_LC_COLLATE;
bool tempTREAT_SYMLINKTODIR_AS_DIR;
bool tempCOLOUR_PANE_BACKGROUND;
bool tempSINGLE_BACKGROUND_COLOUR;
wxColour tempBACKGROUND_COLOUR_DV, tempBACKGROUND_COLOUR_FV;
bool tempUSE_STRIPES;
wxColour tempSTRIPE_0;
wxColour tempSTRIPE_1;
bool tempHIGHLIGHT_PANES;
int tempDIRVIEW_HIGHLIGHT_OFFSET;
int tempFILEVIEW_HIGHLIGHT_OFFSET;
bool tempSHOW_DIR_IN_TITLEBAR;
bool tempSHOW_TB_TEXTCTRL;
bool tempASK_ON_TRASH;
bool tempASK_ON_DELETE;
bool tempUSE_STOCK_ICONS;
wxString tempTRASHCAN;
wxFont tempTREE_FONT;
wxFont tempCHOSEN_TREE_FONT;
bool tempUSE_DEFAULT_TREE_FONT;
bool tempUSE_FSWATCHER;
wxTextCtrl *fonttext, *defaultfonttext;
bool fontchanged;
enum whichpage subpage;
wxNotebookPage *pageTree, *pageFont, *pageMisc;
ConfigureNotebook* m_nb; // The parent notebook
};
class DevicesPanel : public wxEvtHandler
{
enum whichpage { CD_AM, CD_Mt, CD_Usb, CD_Rem, CD_Fix };
public:
DevicesPanel(ConfigureNotebook* nb) : m_nb(nb) { pageAM=pageMt=pageUsb=pageRem=pageFix = NULL; dirty[0]=dirty[1]=dirty[2]=dirty[3]=dirty[4] = false;
DeviceStructArray = new ArrayofDeviceStructs; InitialiseData(); }
~DevicesPanel() { for (int n = (int)DeviceStructArray->GetCount(); n > 0; --n)
{ DevicesStruct* item = DeviceStructArray->Item(n-1); delete item; DeviceStructArray->RemoveAt(n-1); }
delete DeviceStructArray;
}
void InitPgAM(wxNotebookPage* pg){ pageAM = pg; subpage = CD_AM; InsertDataPgAM(); }
void InitPgMt(wxNotebookPage* pg){ pageMt = pg; subpage = CD_Mt; InsertDataPgMt(); }
void InitPgUsb(wxNotebookPage* pg){ pageUsb = pg; subpage = CD_Usb; InsertDataPgUsb(); }
void InitPgRem(wxNotebookPage* pg);
void InitPgFix(wxNotebookPage* pg);
void OnCancel();
void InitialiseData();
void InsertDataPgAM();
void InsertDataPgMt();
void InsertDataPgUsb();
void InsertDataPgRem();
void InsertDataPgFix();
void OnOK();
void OnUpdateUI();
static void LoadConfig();
static void SaveConfig(wxConfigBase* config = NULL);
bool dirty[5];
protected:
enum DiscoveryMethod tempDEVICE_DISCOVERY_TYPE;
enum TableInsertMethod tempFLOPPY_DEVICES_DISCOVERY_INTO_FSTAB, tempCD_DEVICES_DISCOVERY_INTO_FSTAB, tempUSB_DEVICES_DISCOVERY_INTO_FSTAB;
size_t tempCHECK_USB_TIMEINTERVAL;
bool tempFLOPPY_DEVICES_AUTOMOUNT,tempCDROM_DEVICES_AUTOMOUNT,tempUSB_DEVICES_AUTOMOUNT,tempFLOPPY_DEVICES_SUPERMOUNT,tempCDROM_DEVICES_SUPERMOUNT,tempUSB_DEVICES_SUPERMOUNT,
tempSUPPRESS_EMPTY_USBDEVICES, tempASK_BEFORE_UMOUNT_ON_EXIT;
// FixedorUsbDevicesPanelstuff
void OnAddButton(wxCommandEvent& event);
void OnEditButton(wxCommandEvent& event);
void OnDeleteButton(wxCommandEvent& event);
void DoUpdateUI(wxUpdateUIEvent& event);
void FillListbox();
ArrayofDeviceStructs* DeviceStructArray;
wxListBox* list;
DeviceManager* pDM;
enum whichpage subpage;
wxNotebookPage *pageAM, *pageMt, *pageUsb, *pageRem, *pageFix;
ConfigureNotebook* m_nb; // The parent notebook
};
class DevicesAdvancedPanel : public wxEvtHandler // Does the advanced device/mount config stuff like AUTOMOUNT_USB_PREFIX
{
enum whichpage { DAP_A, DAP_B, DAP_C };
public:
DevicesAdvancedPanel(ConfigureNotebook* nb) : m_nb(nb) { pageA=pageB=pageC = NULL; dirty[0]=dirty[1]=dirty[2] = false; InitialiseData(); }
void InitPgA(wxNotebookPage* pg);
void InitPgB(wxNotebookPage* pg);
void InitPgC(wxNotebookPage* pg);
void InitialiseData();
void InsertDataPgA();
void InsertDataPgB();
void InsertDataPgC();
void OnOK();
void OnUpdateUI();
static void LoadConfig();
static void SaveConfig(wxConfigBase* config = NULL);
bool dirty[3];
protected:
void OnRestoreDefaultsBtn(wxCommandEvent& event);
wxString tempPARTITIONS,tempDEVICEDIR,tempFLOPPYINFOPATH,tempCDROMINFO,tempSCSIUSBDIR,tempSCSISCSI,tempAUTOMOUNT_USB_PREFIX,tempSCSI_DEVICES,tempLVMPREFIX, tempLVM_INFO_FILE_PREFIX;
enum whichpage subpage;
wxNotebookPage *pageA, *pageB, *pageC;
ConfigureNotebook* m_nb; // The parent notebook
};
class ConfigureTerminals // Encapsulates the Terminals notebookpage stuff
{
enum whichpage { CT_terminals, CT_emulator };
public:
ConfigureTerminals(ConfigureNotebook* nb) : fontchanged(false), m_nb(nb) { dirty[0]=dirty[1] = false; pageTerm = NULL; pageEm = NULL; combo1=NULL; InitialiseData(); }
void Init(wxNotebookPage* pg, bool real){ pageTerm = pg; subpage = CT_terminals; InsertDataReal(); }
void Init(wxNotebookPage* pg, wxNotebookPage* pgprev){ pageEm = pg; pageTerm = pgprev; subpage = CT_emulator; InsertDataEmul(); }
void InitialiseData(); // Fill the temp vars with the old data. Used initially and also to revert on Cancel
void InsertDataReal();
void InsertDataEmul();
void OnChangeFont();
void OnDefaultFont();
void OnCancel();
void OnOK();
void OnAccept(int id);
static void LoadTerminalsConfig();
static void Save(wxConfigBase* config = NULL);
void OnUpdateUI();
bool dirty[2];
protected:
wxString tempTERMINAL;
wxString tempTERMINAL_COMMAND;
wxString tempTOOLS_TERMINAL_COMMAND;
wxString tempTERMEM_PROMPTFORMAT;
wxFont tempTERMINAL_FONT;
wxFont tempCHOSEN_TERMINAL_FONT;
bool tempUSE_DEFAULT_TERMINALEM_FONT;
wxComboBox *combo1, *combo2, *combo3;
wxTextCtrl *fonttext, *defaultfonttext;
bool fontchanged;
wxArrayString tempPossibleTerminals, tempPossibleTerminalCommands, tempPossibleToolsTerminalCommands;
enum whichpage subpage;
wxNotebookPage* pageTerm, *pageEm;
ConfigureNotebook* m_nb; // The parent notebook
};
class ConfigureNet // Encapsulates the Network notebookpage stuff
{
public:
ConfigureNet(ConfigureNotebook* nb) : m_nb(nb) { page = NULL; dirty = false; InitialiseData(); }
void Init(wxNotebookPage* pg){ page = pg; InsertData(); }
void InitialiseData(); // Fill the temp vars with the old data. Used initially and also to revert on Cancel
void InsertData();
void OnOK();
static void LoadNetworkConfig();
void AddServer();
void DeleteServer();
void OnUpdateUI();
bool dirty;
bool serverschanged;
protected:
void Save();
wxString tempSMBPATH;
wxString tempSHOWMOUNTFPATH;
wxArrayString tempNFS_SERVERS;
wxListBox* ServerList;
wxTextCtrl* NewServer;
wxTextCtrl* Showmount;
wxTextCtrl* Samba;
wxNotebookPage* page;
ConfigureNotebook* m_nb; // The parent notebook
};
class ConfigureMisc : public wxEvtHandler // Encapsulates the Misc notebookpage stuff
{
enum whichpage { CM_undo, CM_times, CM_su, CM_other };
public:
ConfigureMisc(ConfigureNotebook* nb) : m_nb(nb) { pageUndo=pageBrieftimes=pageSu=pageOther = NULL; dirty[0]=dirty[1]=dirty[2]=dirty[3] = false; InitialiseData(); }
void InitUndo(wxNotebookPage* pg){ pageUndo = pg; InsertDataUndo(); subpage=CM_undo; }
void InitBriefTimes(wxNotebookPage* pg){ pageBrieftimes = pg; InsertDataBrieftimes(); subpage=CM_times; }
void InitSu(wxNotebookPage* pg);
void InitOther(wxNotebookPage* pg){ pageOther = pg; subpage=CM_other; }
void InitialiseData(); // Fill the temp vars with the old data. Used initially and also to revert on Cancel
void InsertDataUndo();
void InsertDataBrieftimes();
void InsertDataSu();
void OnOK();
static void LoadMiscConfig();
static void LoadStatusbarWidths(int* widths);
void OnConfigureOpen();
void OnConfigureDnD();
void OnConfigureStatusbar();
void OnExportBtn(ConfigureNotebook* note);
void OnUpdateUI();
void OnInternalExternalSu(wxCommandEvent& event); // The user switched between using the built-in or external su
void OnOtherRadio(wxCommandEvent& event); // Gets a different gui su command from the user
bool dirty[4];
protected:
void Save();
size_t tempMAX_NUMBER_OF_UNDOS;
size_t tempMAX_DROPDOWN_DISPLAY;
size_t tempAUTOCLOSE_TIMEOUT;
size_t tempAUTOCLOSE_FAILTIMEOUT;
size_t tempDEFAULT_BRIEFLOGSTATUS_TIME;
size_t tempLINES_PER_MOUSEWHEEL_SCROLL;
sutype tempWHICH_SU, tempWHICH_EXTERNAL_SU;
bool tempSTORE_PASSWD, tempUSE_SUDO;
size_t tempPASSWD_STORE_TIME;
bool tempRENEW_PASSWD_TTL;
wxString tempOTHER_SU_COMMAND;
int tempDnDXTRIGGERDISTANCE;
int tempDnDYTRIGGERDISTANCE;
int tempMETAKEYS_COPY;
int tempMETAKEYS_MOVE;
int tempMETAKEYS_HARDLINK;
int tempMETAKEYS_SOFTLINK;
int widths[4], tempwidths[4];
wxCheckBox *MySuChk, *OtherSuChk, *StorePwChk, *RenewTimetoliveChk;
wxRadioBox* BackendRadio;
wxSpinCtrl* PwTimetoliveSpin;
wxRadioButton *Ksu, *Gksu, *Gnsu, *Othersu;
enum whichpage subpage;
wxNotebookPage *pageUndo, *pageBrieftimes, *pageSu, *pageOther;
ConfigureNotebook* m_nb; // The parent notebook
};
class ConfigureNotebook : public wxTreebook // Holds the pages of configure dlgs
{
enum pagename { UDShortcuts, UDCommand,UDCAddTool,UDCEditTool,UDCDeleteTool,
ConfigDevices, DevicesAutoMt,DevicesMount,DevicesUsb,DevicesRemovable,DevicesFixed,DevicesAdvanced,DevicesAdvancedA,DevicesAdvancedB,DevicesAdvancedC,
ConfigDisplay,DisplayTrees,DisplayTreeFont,DisplayMisc,
ConfigTerminals,ConfigTerminalsReal,ConfigTerminalsEm, ConfigNet, ConfigMisc,ConfigMiscUndo,ConfigMiscBriefTimes,ConfigMiscSu,ConfigMiscOther, NotSelected };
enum UDCPagetype { UDCNew, UDCEdit, UDCDelete }; // To enumerate which of the UDC subpages is loaded
public:
ConfigureNotebook(){}
~ConfigureNotebook(){ delete ConfDevices; delete ConfDevicesAdv; delete ConfDisplay; delete ConfTerminals; delete ConfNet; delete ConfMisc; m_ApplyButtons.clear(); }
void Init(Configure* dad);
void OnButtonPressed(wxCommandEvent& event);
void OnFinishedBtnUpdateUI(wxUpdateUIEvent& event); // Disable the Finished button if any of the Apply ones are enabled
bool Dirty(); // Check there's no unsaved data
class LaunchMiscTools* LMT;
void StoreApplyBtn(wxWindow* btn);
void SetPageStatus(bool dirty); // Change the page's icon to/from red depending on whether it has unapplied changes
protected:
void InitPage(enum pagename page);
void FillUDCMenusCombo(size_t &item, size_t indent); // Recursively fill a combo, indenting according to sub-ness of the menu
void OnUDCLabelComboSelectionChanged(wxCommandEvent& event);
void OnPageChanged(wxTreebookEvent& event);
void OnUpdateUI(wxUpdateUIEvent& event);
int m_sel; // Stores the UDTool selection during editing
enum pagename currentpage;
enum UDCPagetype UDCPage;
Configure* parent;
ArrayOfToolFolders* FolderArray;
ArrayOfUserDefinedTools* ToolArray;
wxComboBox* UDCCombo;
wxCheckBox* F10check;
class ConfigureDisplay* ConfDisplay;
class DevicesPanel* ConfDevices;
class DevicesAdvancedPanel* ConfDevicesAdv;
class ConfigureTerminals* ConfTerminals;
class ConfigureNet* ConfNet;
class ConfigureMisc* ConfMisc;
bool dirty[NotSelected];
bool editing;
std::vector m_ApplyButtons;
private:
DECLARE_DYNAMIC_CLASS(ConfigureNotebook)
DECLARE_EVENT_TABLE()
};
class Configure // The class that does all the configure things
{
public:
Configure(){ DirCtrlTBinfoarray = new ArrayofDirCtrlTBStructs; }
~Configure(){ for (int n = (int)DirCtrlTBinfoarray->GetCount(); n > 0; --n )
{ DirCtrlTBStruct* item = DirCtrlTBinfoarray->Item(n-1); delete item; DirCtrlTBinfoarray->RemoveAt(n-1); }
delete DirCtrlTBinfoarray;
}
void LoadConfiguration();
void SaveConfiguration();
static bool LocateResources(); // Where is everything?
static bool LocateResourcesSilently(const wxString& SuggestedPath = wxT("")); // Where is everything? This is just a rough first check, so no error messages/try again
static void CopyConf(const wxString& iniFilepath); // Copy any master conf file into the local ini
static void SaveDefaultsToIni(); // Make sure there is a valid config file, with reasonably-sensible defaults
static void SaveDefaultSus(); // Save a useful value for WHICH_SU
static void SaveDefaultTerminal(enum distro Distro, double Version);// Save a useful value for TERMINAL etc
static void SaveProbableHAL_Sys_etcInfo(enum distro Distro, double Version); // Save the probable discovery/loading setup
static void SaveDefaultEditors(enum distro Distro, double Version); // KWrite &/or GEdit
static void SaveDefaultUDTools(); // Starter pack of UDtools
static void SaveDefaultFileAssociations();// Similarly
static void SaveDefaultDirCtrlTBButtons();
static void SaveDefaultMisc();
static void DetectFixedDevices();
static enum distro DeduceDistro(double& Version); // Try to work out which distro & version we're on
static bool FindIni(); // If there's not a valid ini file in $HOME, use a wizard to find/create one
static wxArrayString GetXDGValues(); // Get values as per the freedesktop.org basedir-spec and the user's environment
static bool Wizard(const wxString& configFPath);
static void FindPrograms();
static bool TestExistence(wxString name, bool executable = false); // Is 'name' in $PATH, and optionally is it executable by us
void Configure4Pane();
void ConfigureTooltips(); // Globally turn tooltips on/off, set their delay
void ApplyTooltipPreferences();
ArrayofDirCtrlTBStructs* DirCtrlTBinfoarray;
static bool FindRC(const wxString& SuggestedFilepath); // Find a valid source of XRC files
protected:
static bool FindBitmaps(const wxString& SuggestedFilepath); // Find a valid source of bitmaps
static bool FindHelp(const wxString& SuggestedFilepath); // Find a valid source of Help
static bool CheckForConfFile(wxString& conf); // Is there a 4Pane.conf file anywhere, from which to load some config data?
void LoadMisc(); // Load the one-off things like Filter history
void SaveMisc(); // Save the one-off things like Filter history
enum helpcontext CallersHelpcontext; // Stores the original value of the help context, to be replaced on finishing config
};
#endif
// CONFIGUREH
4pane-5.0/config.guess 0000644 0001750 0001750 00000123550 13056344641 011637 0000000 0000000 #! /bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-2014 Free Software Foundation, Inc.
timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
esac
done
if test $# != 0; then
echo "$me: too many arguments$help" >&2
exit 1
fi
trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_SYSTEM}" in
Linux|GNU|GNU/*)
# If the system lacks a compiler, then just pick glibc.
# We could probably try harder.
LIBC=gnu
eval $set_cc_for_build
cat <<-EOF > $dummy.c
#include
#if defined(__UCLIBC__)
LIBC=uclibc
#elif defined(__dietlibc__)
LIBC=dietlibc
#else
LIBC=gnu
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os=netbsd
else
os=netbsdelf
fi
;;
*)
os=netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
UNAME_MACHINE="alpha" ;;
"EV4.5 (21064)")
UNAME_MACHINE="alpha" ;;
"LCA4 (21066/21068)")
UNAME_MACHINE="alpha" ;;
"EV5 (21164)")
UNAME_MACHINE="alphaev5" ;;
"EV5.6 (21164A)")
UNAME_MACHINE="alphaev56" ;;
"EV5.6 (21164PC)")
UNAME_MACHINE="alphapca56" ;;
"EV5.7 (21164PC)")
UNAME_MACHINE="alphapca57" ;;
"EV6 (21264)")
UNAME_MACHINE="alphaev6" ;;
"EV6.7 (21264A)")
UNAME_MACHINE="alphaev67" ;;
"EV6.8CB (21264C)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8AL (21264B)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8CX (21264D)")
UNAME_MACHINE="alphaev68" ;;
"EV6.9A (21264/EV69A)")
UNAME_MACHINE="alphaev69" ;;
"EV7 (21364)")
UNAME_MACHINE="alphaev7" ;;
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
exit ;;
*:z/VM:*:*)
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
echo i386-pc-auroraux${UNAME_RELEASE}
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
SUN_ARCH="i386"
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
SUN_ARCH="x86_64"
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
#include /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c &&
dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
SYSTEM_NAME=`$dummy $dummyarg` &&
{ echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
then
echo "$SYSTEM_NAME"
else
echo rs6000-ibm-aix3.2.5
fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
#include
#include
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code. GNU and HP use different nomenclature:
#
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
HP_ARCH="hppa2.0w"
else
HP_ARCH="hppa64"
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
*:MINGW64*:*)
echo ${UNAME_MACHINE}-pc-mingw64
exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
*:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
authenticamd | genuineintel | EM64T)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
IA64)
echo ia64-unknown-interix${UNAME_RELEASE}
exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
8664:Windows_NT:*)
echo x86_64-pc-mks
exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
PCA57) UNAME_MACHINE=alphapca56 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef ${UNAME_MACHINE}
#undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
*) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-${LIBC}
exit ;;
ppc64le:Linux:*:*)
echo powerpc64le-unknown-linux-${LIBC}
exit ;;
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
paragon:*:*:*)
echo i860-intel-osf1
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit ;;
M68*:*:R3V[5678]*:*)
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says
echo i586-unisys-sysv4
exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes .
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
echo ${UNAME_MACHINE}-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
x86_64:Haiku:*:*)
echo x86_64-unknown-haiku
exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
SX-7:SUPER-UX:*:*)
echo sx7-nec-superux${UNAME_RELEASE}
exit ;;
SX-8:SUPER-UX:*:*)
echo sx8-nec-superux${UNAME_RELEASE}
exit ;;
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
eval $set_cc_for_build
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
i386) UNAME_PROCESSOR=x86_64 ;;
powerpc) UNAME_PROCESSOR=powerpc64 ;;
esac
fi
fi
elif test "$UNAME_PROCESSOR" = i386 ; then
# Avoid executing cc on OS X 10.9, as it ships with a stub
# that puts up a graphical alert prompting to install
# developer tools. Any system running Mac OS X 10.7 or
# later (Darwin 11 and later) is required to have a 64-bit
# processor. This is not true of the ARM version of Darwin
# that Apple uses in portable devices.
UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NEO-?:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if test "$cputype" = "386"; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
esac ;;
*:XENIX:*:SysV)
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
esac
cat >&2 < in order to provide the needed
information to handle your system.
config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
4pane-5.0/Mounts.cpp 0000644 0001750 0001750 00000261762 13107333621 011314 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Mounts.cpp
// Purpose: Mounting partitions
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/wx.h"
#include "wx/app.h"
#include "wx/frame.h"
#include "wx/menu.h"
#include "wx/dirctrl.h"
#include "wx/tokenzr.h"
#include "wx/busyinfo.h"
#include "Externs.h"
#include "Devices.h"
#include "Mounts.h"
#include "MyDirs.h"
#include "MyGenericDirCtrl.h"
#include "MyFrame.h"
#include "Filetypes.h"
#include "Configure.h"
#include "Misc.h"
void DeviceAndMountManager::OnMountPartition() // Acquire & try to mount a hard-disk partition, either via an fstab entry or the hard way
{
bool OtherPartitions = false; wxString partition, mount, options, checkboxes;
{ // Start by protecting against a stale rc/ file; it's easier to do here than later
MountPartitionDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("MountPartitionDlg"));
if (dlg.FindWindow(wxT("MountptTxt"))) // This was present until 4.0
return;
}
FillPartitionArray(); // Acquire partition & mount data
MountPartitionDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("MountFromFstabDlg"));
LoadPreviousSize(&dlg, wxT("MountFromFstabDlg"));
if (!dlg.Init(this)) return;
#ifdef __GNU_HURD__
bool passive(false);
#endif
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("MountFromFstabDlg"));
if (ans==XRCID("OtherPartitions")) // If we want to mount a non-fstab partition, use a different dialog
{ OtherPartitions = true;
MountPartitionDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("MountPartitionDlg"));
#ifdef __GNU_HURD__
wxCheckBox* passivechk = XRCCTRL(dlg, "MS_PASSIVE", wxCheckBox);
if (passivechk) passivechk->Show(); // gnu-hurd has an extra option: to use a passive translator
wxCheckBox* temp = XRCCTRL(dlg, "MS_NOATIME", wxCheckBox); if (temp) temp->Disable(); // Not available in gnu-hurd
temp = XRCCTRL(dlg, "MS_NODEV", wxCheckBox); if (temp) temp->Disable();
#endif
LoadPreviousSize(&dlg, wxT("MountPartitionDlg"));
if (!dlg.Init(this)) return;
do
{ ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("MountPartitionDlg"));
if (ans != wxID_OK) return;
mount = dlg.MountptCombo->GetValue();
if (mount.IsEmpty())
{ wxMessageDialog dialog(&dlg, _("You haven't entered a mount-point.\nTry again?"), wxT(""),wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() == wxID_YES) continue; // Try again
else return;
}
break;
}
while (true);
partition = dlg.PartitionsCombo->GetValue(); // Read the data from the dialog
#ifdef __LINUX__
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_SYNCHRONOUS"))))->IsChecked()) checkboxes += wxT("sync,");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_NOATIME"))))->IsChecked()) checkboxes += wxT("noatime,");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_RDONLY"))))->IsChecked()) checkboxes += wxT("ro,");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_NOEXEC"))))->IsChecked()) checkboxes += wxT("noexec,");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_NODEV"))))->IsChecked()) checkboxes += wxT("nodev,");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_NOSUID"))))->IsChecked()) checkboxes += wxT("nosuid,");
if (!checkboxes.IsEmpty()) options = wxT("-o ") + checkboxes.BeforeLast(wxT(','));
#endif
#ifdef __GNU_HURD__
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_SYNCHRONOUS"))))->IsChecked()) checkboxes += wxT("-s ");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_RDONLY"))))->IsChecked()) checkboxes += wxT("-r ");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_NOEXEC"))))->IsChecked()) checkboxes += wxT("-E ");
if (((wxCheckBox*)(dlg.FindWindow(wxT("MS_NOSUID"))))->IsChecked()) checkboxes += wxT("--no-suid ");
passive = (passivechk && passivechk->IsChecked());
#endif
}
else
partition = dlg.PartitionsCombo->GetValue(); // We need this even for an fstab mount, for the ReadMtab(partition) later
if (ans != wxID_OK) return;
if (!OtherPartitions) mount = dlg.FstabMountptTxt->GetValue();
if (mount.IsEmpty()) return;
#ifndef __GNU_HURD__ // In hurd we add -c, that autocreates the mountpt
FileData mountdir(mount);
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The mount-point for this partition doesn't exist. Create it?"), wxEmptyString, wxYES_NO) != wxYES) return;
if (!MkDir(mount)) return;
}
#endif
EscapeQuote(mount); // Avoid any problems due to single-quotes in the path
wxArrayString output, errors;
long result;
#ifdef __LINUX__
if (!OtherPartitions)
result = wxExecute(wxT("mount \"") + mount + wxT("\""), output, errors); // Call mount sync (ie wait for answer) lest we update the tree display before the data arrives
else
{ if (getuid() != 0) // If user isn't super
{ if (WHICH_SU==mysu)
{ if (USE_SUDO) // sudo chokes on singlequotes :/
result = ExecuteInPty(wxT("sudo sh -c \"mount ") + options + wxT(" ") + partition + wxT(' ') + EscapeSpaceStr(mount) + wxT('\"'), output, errors);
else
result = ExecuteInPty(wxT("su -c \"mount ") + options + wxT(" ") + partition + wxT(" \'") + mount + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
else if (WHICH_SU==kdesu) result = wxExecute(wxT("kdesu \"mount ") + options + wxT(" ") + partition + wxT(" \'") + mount + wxT("\'\""), output, errors);
else if (WHICH_SU==gksu) result = wxExecute(wxT("gksu \"mount ") + options + wxT(" ") + partition + wxT(" \'") + mount + wxT("\'\""), output, errors);
else if (WHICH_SU==gnomesu) result = wxExecute(wxT("gnomesu --title "" -c \"mount ") + options + wxT(" ") + partition + wxT(" \'") + mount + wxT("\'\" -d"), output, errors);
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty())
result = wxExecute(OTHER_SU_COMMAND + wxT("\"mount ") + options + wxT(" ") + partition + wxT(" \'") + mount + wxT("\'\" -d"), output, errors);
else { wxMessageBox(_("Sorry, you need to be root to mount non-fstab partitions"), wxT(":-(")); return; }
}
else
result = wxExecute(wxT("mount ") + options + wxT(" ") + partition + wxT(" \"") + mount + wxT("\""), output, errors); // If we happen to be root
}
#else // __GNU_HURD__
// Hurd doesn't seem to be able to mount an fstab entry just using the mountpt, so always use both. NB we ignore any fstab options: afaict there's no API to get them
wxString ttype = (passive ? wxT(" -apc"): wxT(" -ac"));
if (ExecuteInPty(wxT("settrans") + ttype + wxT(" \"")+ mount + wxT("\" /hurd/ext2fs ") + checkboxes + wxT('\"') + partition + wxT('\"'), output, errors) != 0)
{ result = ExecuteInPty(wxT("su -c \"settrans") + ttype + wxT(" \'")+ mount + wxT("\' /hurd/ext2fs ") + checkboxes + wxT("\'") + partition + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
ans = DeviceAndMountManager::GnuCheckmtab(mount, partition, TT_active); // Check for an active one; if both were requested, the passive one is unlikely to have failed alone
if (ans == CANCEL_RETURN_CODE) return;
result = (ans != 0);
#endif //!#ifdef __LINUX__
if (!result)
#ifdef __LINUX__
{ if (ReadMtab(partition) == NULL) return; } // Success, provided ReadMtab can find the partition. (kdesu returns 0 if the user cancels!)
else
#endif
{ wxString msg(_("Oops, failed to mount the partition."));
size_t ecount = errors.GetCount(); // If it failed, show any (reasonable number of) error messages
if (ecount)
{ msg << _(" The error message was:");
for (size_t n=0; n < wxMin(ecount, 9); ++n) msg << wxT('\n') << errors[n];
if (ecount > 9) msg << wxT("\n...");
}
wxMessageBox(msg); return;
}
if (MyFrame::mainframe->GetActivePane())
MyFrame::mainframe->GetActivePane()->OnOutsideSelect(mount, false);
wxString msg(_("Mounted successfully on ")); BriefLogStatus bls(msg + mount);
}
bool DeviceAndMountManager::MkDir(wxString& mountpt) // Make a dir onto which to mount
{
if (mountpt.IsEmpty() || mountpt.GetChar(0) != wxFILE_SEP_PATH // If we're trying to create a dir out of total rubbish, abort
|| mountpt == wxT("/")) // or if we're being asked to create root!
{ wxMessageBox(_("Impossible to create directory ") + mountpt); return false; }
wxString parentdir = mountpt.BeforeLast(wxFILE_SEP_PATH); // Try to work out what is the longest valid parent dir of the requested one
while (!wxDirExists(parentdir))
{ if (parentdir.IsEmpty()) parentdir = wxT("/"); // In case mountpt is eg /mnt
else parentdir = parentdir.BeforeLast(wxFILE_SEP_PATH); // In case we're being asked recursively to add several subdirs at a time
}
// Finally a valid parent dir! Check if we have write permission to it, as otherwise we'll need to su
FileData parent(parentdir);
if (parent.CanTHISUserWriteExec())
{ if (!wxFileName::Mkdir(mountpt, 0777, wxPATH_MKDIR_FULL)) // Do it the normal way. wxPATH_MKDIR_FULL means intermediate dirs are created too
{ wxMessageBox(_("Oops, failed to create the directory")); return false; }
}
else // NB Most of the following won't work if mountpt contains a space. I've tried all the escape clauses, but none work with mkdir/su combo
{ wxArrayString output, errors;
long result;
if (WHICH_SU==mysu)
{ if (USE_SUDO) result = ExecuteInPty(wxT("sudo sh -c \"mkdir -p ") + EscapeSpaceStr(mountpt) + wxT('\"'), output, errors); // -p flags make intermediate dirs too
else result = ExecuteInPty(wxT("su -c \"mkdir -p ") + mountpt + wxT('\"'), output, errors);
if (result == CANCEL_RETURN_CODE) return false;
}
else if (WHICH_SU==kdesu) result = wxExecute(wxT("kdesu \"sh -c \'mkdir -p ") + mountpt + wxT("\'\""), output, errors);
else if (WHICH_SU==gksu) result = wxExecute(wxT("gksu \"sh -c \'mkdir -p ") + mountpt + wxT("\'\""), output, errors);
else if (WHICH_SU==gnomesu) result = wxExecute(wxT("gnomesu --title "" -c \"sh -c \'mkdir -p ") + mountpt + wxT("\'\" -d"), output, errors);
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty()) result = wxExecute(OTHER_SU_COMMAND + wxT("\"sh -c \'mkdir -p ") + mountpt + wxT("\'\""), output, errors);
else { wxMessageBox(_("Oops, I don't have enough permission to create the directory")); return false; }
if (!!result)
{ wxString msg(_("Oops, failed to create the directory."));
size_t ecount = errors.GetCount(); // If it failed, show any error messages
if (ecount)
{ msg << _(" The error message was:");
for (size_t n=0; n < wxMin(ecount, 9); ++n) msg << wxT('\n') << errors[n];
if (ecount > 9) msg << wxT("\n...");
}
wxMessageBox(msg); return false;
}
}
return true;
}
void DeviceAndMountManager::OnUnMountPartition()
{
FillPartitionArray(false); // Acquire partition & mount data. False signifies to look in mtab for mounted iso-images too
UnMountPartitionDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("UnMountDlg"));
LoadPreviousSize(&dlg, wxT("UnMountDlg"));
dlg.Init(this);
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("UnMountDlg"));
if (ans != wxID_OK) return;
wxString partition = dlg.PartitionsCombo->GetValue();
wxString mount = dlg.FstabMountptTxt->GetValue();
if (mount.IsEmpty()) return;
if (mount==wxT("/")) { wxMessageBox(_("Unmounting root is a SERIOUSLY bad idea!"), wxT("Tsk! Tsk!")); return; }
EscapeQuote(mount); // Avoid any problems due to single-quotes in the path
wxArrayString output, errors;
#ifdef __LINUX__
long result = wxExecute(wxT("umount -l \"") + mount + wxT('\"'), output, errors); // We *could* test for kernel >2.4.11, when lazy umounts were invented ;)
if (result != 0) // If it fails:
{ if (errors.GetCount())
{ if (getuid() != 0 && (WHICH_SU != dunno)) // If there's an error message & we're not already root, try becoming it
{ errors.Clear();
if (WHICH_SU==mysu)
{ if (USE_SUDO) result = ExecuteInPty(wxT("sudo sh -c \"umount -l ") + EscapeSpaceStr(mount) + wxT('\"'), output, errors); // sudo chokes on singlequotes :/
else result = ExecuteInPty(wxT("su -c \"umount -l \'") + mount + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
else
if (WHICH_SU==kdesu)
{ result = wxExecute(wxT("kdesu \"umount -l \'") + mount + wxT("\'\""), output, errors); }
else
if (WHICH_SU==gksu)
{ result = wxExecute(wxT("gksu \"umount -l \'") + mount + wxT("\'\""), output, errors); }
else
if (WHICH_SU==gnomesu)
{ result = wxExecute(wxT("gnomesu --title "" -c \"umount -l \'") + mount + wxT("\'\" -d"), output, errors); }
else
if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty())
{ result = wxExecute(OTHER_SU_COMMAND + wxT("\"umount -l \'") + mount + wxT("\'\""), output, errors); }
if (!!result)
{ wxString msg(_("Oops, failed to unmount the partition."));
size_t ecount = errors.GetCount(); // If it failed, show any error messages
if (ecount)
{ msg << _(" The error message was:");
for (size_t n=0; n < wxMin(ecount, 9); ++n) msg << wxT('\n') << errors[n];
if (ecount > 9) msg << wxT("\n...");
}
wxMessageBox(msg); return;
}
// Unfortunately kdesu returns 0 if Cancel pressed, so check the partition really was umounted
if (ReadMtab(partition) != NULL) { wxString str(_("Failed to unmount ")); BriefLogStatus bls(str + mount); return; }
wxArrayInt IDs; MyFrame::mainframe->OnUpdateTrees(mount, IDs); // Update in case this partition was visible in a pane
BriefLogStatus bls(mount + _(" unmounted successfully"));
}
else // If we're already root or we're unable to su, print the error & abort
{ wxString msg; msg.Printf(wxT("%s%lu\n"), _("Oops, failed to unmount successfully due to error "), result); wxMessageBox(msg + errors[0]); }
}
else wxMessageBox(_("Oops, failed to unmount")); // Generic error message (shouldn't happen)
return;
}
// Unfortunately kdesu returns 0 if Cancel pressed, so check the partition really was umounted
if (ReadMtab(partition) != NULL) { wxString str(_("Failed to unmount ")); BriefLogStatus bls(str + mount); return; }
#else // __GNU_HURD__
// It doesn't seem to be possible to remove just the active translator when there's a passive one too
// (perhaps the passive immediately starts another active). So always remove both
int result = ExecuteInPty(wxT("settrans -fg \"") + mount + wxT('\"'), output, errors);
if (result != 0) // It currently returns 5 if "Operation not permitted", but let's not rely on that
result = ExecuteInPty(wxT("su -c \"settrans -fg \'") + mount + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
if (DeviceAndMountManager::GnuCheckmtab(mount, partition, TT_either))
{ wxString msg; msg.Printf(wxT("%s%lu\n"), _("Oops, failed to unmount successfully due to error "), result); wxMessageBox(msg + errors[0]); return; };
#endif //!#ifdef __LINUX__
wxArrayInt IDs; MyFrame::mainframe->OnUpdateTrees(mount, IDs); // Update in case this partition was visible in a pane
BriefLogStatus bls(mount + _(" unmounted successfully"));
}
void DeviceAndMountManager::OnMountIso()
{
wxString image, mount, options, checkboxes; long result;
MountLoopDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("MountLoopDlg"));
LoadPreviousSize(&dlg, wxT("MountLoopDlg"));
if (!dlg.Init()) return;
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("MountLoopDlg"));
if (ans != wxID_OK) return;
image = dlg.ImageTxt->GetValue();
mount = dlg.MountptCombo->GetValue();
if (mount.IsEmpty()) return;
FileData mountdir(mount);
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The requested mount-point doesn't exist. Create it?"), wxEmptyString, wxYES_NO) != wxYES) return;
if (!MkDir(mount)) return;
}
options = wxT("-o loop");
EscapeQuote(image); EscapeQuote(mount); // Avoid any problems due to single-quotes in a path
wxArrayString output, errors;
#ifdef __LINUX__
if (dlg.InFstab && (mount == dlg.FstabMt)) // If it has a fstab entry, and we're trying to use it
{ FileData mountdir(mount);
wxBusyCursor wait;
result = wxExecute(wxT("mount \"") + image + wxT("\""), output, errors); // Do the mount the easy way
}
else
{ if (getuid() != 0) // If user isn't super
{ if (WHICH_SU==mysu)
{ if (USE_SUDO) result = ExecuteInPty(wxT("sudo sh -c \"mount ") + options + wxT(" \'") + image + wxT("\' \'") + mount + wxT("\'\""), output, errors);
else result = ExecuteInPty(wxT("su -c \"mount ") + options + wxT(" \'") + image + wxT("\' \'") + mount + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
else if (WHICH_SU==kdesu) result = wxExecute(wxT("kdesu \"mount ") + options + wxT(" \'") + image + wxT("\' \'") + mount + wxT("\'\""), output, errors);
else if (WHICH_SU==gksu) result = wxExecute(wxT("gksu \"mount ") + options + wxT(" \'") + image + wxT("\' \'") + mount + wxT("\'\""), output, errors);
else if (WHICH_SU==gnomesu) result = wxExecute(wxT("gnomesu --title "" -c \"mount ") + options + wxT(" \'") + image + wxT("\' \'") + mount + wxT("\'\" -d"), output, errors);
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty()) result = wxExecute(OTHER_SU_COMMAND + wxT("\"mount ") + options + wxT(" \'") + image + wxT("\' \'") + mount + wxT("\'\""), output, errors);
else { wxMessageBox(_("Sorry, you need to be root to mount non-fstab partitions"), wxT(":-(")); return; }
}
else
result = wxExecute(wxT("mount ") + options + wxT(" \"") + image + wxT("\" \"") + mount + wxT("\""), output, errors); // If we happen to be root
}
switch(result)
{ case 0: break; // Success
case 1: wxMessageBox(_("Oops, failed to mount successfully\nDo you have permission to do this?")); return;
case 16: wxMessageBox(_("Oops, failed to mount successfully\nThere was a problem with /etc/mtab")); return;
case 96: wxMessageBox(_("Oops, failed to mount successfully\nAre you sure the file is a valid Image?")); return;
default: wxString msg; msg.Printf(wxT("%s%lu"), _("Oops, failed to mount successfully due to error "), result); wxMessageBox(msg); return;
}
#endif
#ifdef __GNU_HURD__
result = ExecuteInPty(wxT("settrans -a \"") + mount + wxT("\" /hurd/iso9660fs ") + image + wxT('\"'), output, errors);
if (result != 0) // It currently returns 5 if "Operation not permitted", but let's not rely on that
result = ExecuteInPty(wxT("su -c \"settrans -a \'") + mount + wxT("\' /hurd/iso9660fs ") + wxT('\'') + image + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
if (!DeviceAndMountManager::GnuCheckmtab(mount, image, TT_active))
{ wxString msg;
if (errors.GetCount() > 0) msg.Printf(wxT("%s%lu\n%s"), _("Failed to mount successfully due to error "), result, errors[0].c_str());
else msg.Printf(wxT("%s%lu"), _("Failed to mount successfully"), result);
wxMessageBox(msg); return;
}
#endif
if (MyFrame::mainframe->GetActivePane())
MyFrame::mainframe->GetActivePane()->OnOutsideSelect(mount, false);
wxString msg(_("Mounted successfully on ")); BriefLogStatus bls(msg + mount);
}
void DeviceAndMountManager::OnMountNfs()
{
MountNFSDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("MountNFSDlg"));
if (!dlg.Init()) return;
LoadPreviousSize(&dlg, wxT("MountNFSDlg"));
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("MountNFSDlg"));
if (ans != wxID_OK) return;
long result; wxString name, options, mountpt = dlg.MountptCombo->GetValue(); if (mountpt.IsEmpty()) return;
wxArrayString output, errors;
#ifdef __LINUX__
if (dlg.IsMounted) // If this export is already mounted, abort or mount elsewhere
{ if (mountpt == dlg.AtMountPt)
{ wxMessageBox(_("This export is already mounted at ") + dlg.AtMountPt); return; }
wxString msg; msg.Printf(wxT("%s%s\nDo you want to mount it at %s too?"), _("This export is already mounted at "), dlg.AtMountPt.c_str(), mountpt.c_str());
wxMessageDialog dialog(MyFrame::mainframe->GetActivePane(), msg, wxT(""), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) return;
}
#endif
name = dlg.IPCombo->GetValue(); // Make a 'device' name. Use GetValue() in case there's been a write-in
name += wxT(':');
name += dlg.SharesCombo->GetValue();
#ifdef __LINUX__
if (dlg.RwRadio->GetSelection()) // First do the options. Set the rw/ro according to the radiobox
options = wxT(" -o ro");
else options = wxT(" -o rw");
if (dlg.MounttypeRadio->GetSelection()) // Now the texture of the mount. We used to look for 'intr' too, but that's now a deprecated no-op
options << wxT(",soft");
else options << wxT(",hard");
if (dlg.InFstab && (mountpt == dlg.FstabMt)) // If it has a fstab entry, and we're trying to use it
{ FileData mountdir(mountpt);
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The mount-point for this Export doesn't exist. Create it?"), wxEmptyString, wxYES_NO) != wxYES) return;
if (!MkDir(mountpt)) return;
}
wxBusyCursor wait; // Do the mount the easy way. Use mountpt as mount is less picky about presence/absence of a terminal '/' than it is for the export
result = wxExecute(wxT("mount \"") + mountpt + wxT("\""), output, errors);
}
else // Not in fstab, so we have to work harder
{ wxBusyCursor wait;
FileData mountdir(mountpt);
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The mount-point for this share doesn't exist. Create it?"), wxEmptyString, wxYES_NO) != wxYES) return;
if (!MkDir(mountpt)) return;
}
EscapeQuote(name); EscapeQuote(mountpt); // Avoid any problems due to single-quotes in a path
if (getuid() != 0) // If user isn't super
{ if (WHICH_SU==mysu)
{ if (USE_SUDO) result = ExecuteInPty(wxT("sudo \"mount \'") + name + wxT("\' \'") + mountpt + wxT("\'") + options + wxT("\""), output, errors);
else result = ExecuteInPty(wxT("su -c \"mount \'") + name + wxT("\' \'") + mountpt + wxT("\'") + options + wxT("\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
else if (WHICH_SU==kdesu) result = wxExecute(wxT("kdesu \"mount \'") + name + wxT("\' \'") + mountpt + wxT("\'") + options + wxT("\""), output, errors);
else if (WHICH_SU==gksu) result = wxExecute(wxT("gksu \"mount \'") + name + wxT("\' \'") + mountpt + wxT("\'") + options + wxT("\""), output, errors);
else if (WHICH_SU==gnomesu) result = wxExecute(wxT("gnomesu --title "" -c \"mount \'") + name + wxT("\' \'") + mountpt + wxT("\'") + options + wxT("\" -d"), output, errors);
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty()) result = wxExecute(OTHER_SU_COMMAND + wxT("\"mount \'") + name + wxT("\' \'") + mountpt + wxT("\'") + options + wxT("\""), output, errors);
else { wxMessageBox(_("Sorry, you need to be root to mount non-fstab exports"), wxT(":-(")); return; }
}
else
result = wxExecute(wxT("mount \"") + name + wxT("\" \"") + mountpt + wxT("\"") + options, output, errors); // If we happen to be root
}
switch(result)
{ case 0: break; // Success
case 1: wxMessageBox(_("Oops, failed to mount successfully\nDo you have permission to do this?")); return;
case 4: wxMessageBox(_("Oops, failed to mount successfully\nIs NFS running?")); return;
default: wxString msg; msg.Printf(wxT("%s%lu") , _("Oops, failed to mount successfully due to error "), result); wxMessageBox(msg); return;
}
#endif
#ifdef __GNU_HURD__
if (dlg.MounttypeRadio->GetSelection())
options << wxT(" --soft ");
else options << wxT(" --hard ");
// At present, wxExecute will always hang here (and sometimes elsewhere too) so use ExecuteInPty for even for non-su
result = ExecuteInPty(wxT("settrans -ac \"") + mountpt + wxT("\" /hurd/nfs ") + options + wxT('\"') + name + wxT('\"'), output, errors);
//if (result != 0)
if (!DeviceAndMountManager::GnuCheckmtab(mountpt, name, TT_active))
{ result = ExecuteInPty(wxT("su -c \"settrans -ac \'") + mountpt + wxT("\' /hurd/nfs ") + options + wxT('\'') + name + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
if (!DeviceAndMountManager::GnuCheckmtab(mountpt, name, TT_active))
{ wxString msg;
if (errors.GetCount() > 0) msg.Printf(wxT("%s%lu\n%s"), _("Failed to mount successfully due to error "), result, errors[0].c_str());
else msg.Printf(wxT("%s%lu"), _("Failed to mount successfully due to error "), result);
wxMessageBox(msg); return;
}
#endif
if(MyFrame::mainframe->GetActivePane())
MyFrame::mainframe->GetActivePane()->OnOutsideSelect(mountpt, false);
wxString msg(_("Mounted successfully on ")); BriefLogStatus bls(msg + mountpt);
}
void DeviceAndMountManager::OnMountSshfs()
{
MountSshfsDlg dlg;
wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe, wxT("MountSshfsDlg"));
if (!dlg.Init()) return;
LoadPreviousSize(&dlg, wxT("MountSshfsDlg"));
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("MountSshfsDlg"));
if (ans != wxID_OK) return;
wxString command(wxT("sshfs ")), mountpt = dlg.MountptCombo->GetValue(); if (mountpt.IsEmpty()) return;
mountpt.Trim().Trim(false);
{ FileData mountdir(mountpt); // Check mountdir in this limited scope, in case it's invalid. If so, we'll have to recreate the FileData after
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The selected mount-point doesn't exist. Create it?"), wxT("4Pane"), wxYES_NO) != wxYES) return;
if (!MkDir(mountpt)) return;
}
}
wxString options;
if (dlg.Idmap->IsChecked()) options << wxT("-o idmap=user ");
if (dlg.Readonly->IsChecked()) options << wxT("-o ro ");
wxString otheroptions = dlg.OtherOptions->GetValue();
FileData mountdir(mountpt);
if (!mountdir.IsDir()) { wxMessageBox(_("The selected mount-point isn't a directory"), wxT("4Pane")); return; }
wxDir dir(mountpt); if (!dir.IsOpened()) { wxMessageBox(_("The selected mount-point can't be accessed"), wxT("4Pane")); return; }
if ((dir.HasFiles() || dir.HasSubDirs()) && !otheroptions.Contains(wxT("nonempty")))
{ if (wxMessageBox(_("The selected mount-point is not empty. Try to mount there anyway?"), wxT("4Pane"), wxYES_NO) != wxYES) return;
options << wxT("-o nonempty ");
}
if (!otheroptions.empty()) options << otheroptions << wxT(' ');
wxString user = dlg.UserCombo->GetValue(); user.Trim().Trim(false);
if (!user.empty()) user << wxT('@'); // Supplying a remote user isn't compulsary, but if we do, @ is the separator
wxString host = dlg.HostnameCombo->GetValue(); host.Trim().Trim(false); host << wxT(':');
wxString remotemt = dlg.RemotedirCombo->GetValue(); remotemt.Trim().Trim(false);
remotemt = StrWithSep(remotemt); // Any remote dir must be '/' terminated, otherwise mounting fails :/
remotemt << wxT(' ');
command << options << user << host << remotemt << wxT("\"") << mountpt << wxT("\"");
#if wxVERSION_NUMBER < 3000
// For some reason, in wx2.8 using the usual sync execution with output,errors works, but hangs; and async doesn't give a useful exit code;
// and we can't check for success by looking in mtab as it won't have mounted yet (sshfs takes a few seconds).
// Trying use a wxProcess to output success/failure also fails, as the process hangs until the unmount occurs!
// We also have the insuperable problem of what will ssh do: a password-less public key login; a password login with a valid gui setting for SSH_ASKPASS;
// or will it ask for a password using stdin/out. If the latter, not providing one in a wxProcess will hang 4Pane!
// and (for some reason) though using ExecuteInPty() 'works', the login itself fails silently (even with LogLevel=DEBUG3).
// So, for now, just run the command and hope ssh can cope. Do the display update by polling (not with findmnt --poll, which is too recent).
wxExecute(command, wxEXEC_ASYNC | wxEXEC_MAKE_GROUP_LEADER);
m_MtabpollTimer->Begin(mountpt, 250, 120); // Poll every 1/4sec for up to 30sec
#else
wxArrayString output, errors;
long result = wxExecute(command, output, errors);
if (!result) // Success
{ if (MyFrame::mainframe->GetActivePane())
MyFrame::mainframe->GetActivePane()->OnOutsideSelect(mountpt, false);
wxString msg(_("Mounted successfully on ")); BriefLogStatus bls(msg + mountpt);
return;
}
wxString msg; size_t ecount = errors.GetCount(); // If it failed, show any error messages or, failing that, the exit code
if (ecount)
{ msg = _("Failed to mount over ssh. The error message was:");
for (size_t n=0; n < ecount; ++n) msg << wxT('\n') << errors[n];
}
else msg.Printf(wxT("%s%i"), _("Failed to mount over ssh due to error "), (int)result);
wxMessageBox(msg);
#endif
}
#if wxVERSION_NUMBER < 3000
void MtabPollTimer::Notify()
{
static int hitcount = 0;
if (m_devman && (m_devman->Checkmtab(m_Mountpt1) || m_devman->Checkmtab(m_Mountpt2))) // One of these has a terminal '/'
{ // When, in a non-gui situation, there's no available password so the mount is destined to fail, somehow the mountpoint gets briefly added to mtab
// It's then immediately removed, but by then we've hit it, resulting in an error message when we try to stat it. To be safe, ignore the first 2 hits
if (hitcount++ == 2)
{ Stop(); hitcount = 0;
if (MyFrame::mainframe->GetActivePane()) MyFrame::mainframe->GetActivePane()->OnOutsideSelect(m_Mountpt1, false);
BriefLogStatus bls(_("Mounted successfully on ") + m_Mountpt1);
return;
}
}
if (--remaining <= 0)
{ Stop(); hitcount = 0;
BriefLogStatus bls(wxString::Format(_("Failed to mount over ssh on %s"), m_Mountpt1.c_str()));
}
}
#endif
void DeviceAndMountManager::OnMountSamba()
{
MountSambaDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("MountSambaDlg"));
if (!dlg.Init()) return;
LoadPreviousSize(&dlg, wxT("MountSambaDlg"));
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("MountSambaDlg"));
if (ans != wxID_OK) return;
long result = -1; wxString name, login, mountpt = dlg.MountptCombo->GetValue(); if (mountpt.IsEmpty()) return;
wxArrayString output, errors;
if (dlg.IsMounted) // If this share is already mounted, abort or mount elsewhere
{ if (mountpt == dlg.AtMountPt)
{ wxMessageBox(_("This share is already mounted at ") + dlg.AtMountPt); return; }
wxString msg; msg.Printf(_("This share is already mounted at %s\nDo you want to mount it at %s too?"), dlg.AtMountPt.c_str(), mountpt.c_str());
wxMessageDialog dialog(MyFrame::mainframe->GetActivePane(), msg, wxT("4Pane"), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) return;
}
if (dlg.RwRadio->GetSelection()) // First do the options. Set the rw/ro according to the radiobox
login = wxT("-o ro");
else login = wxT("-o rw");
if (!((wxRadioBox*)dlg.FindWindow(wxT("PwRadio")))->GetSelection()) // Now the username/password
{ wxString user = dlg.Username->GetValue(); if (!user.IsEmpty()) user = wxT(",user=") + user; // No username means smb defaults to the linux user
wxString pw = dlg.Password->GetValue(); if (!pw.IsEmpty()) pw = wxT(",pass=") + pw;
if (pw.IsEmpty()) login += wxT(",guest"); // We can't cope without a password, as smb would prompt for one. So try for guest
else { login += user; login += pw; } // Add the username (if any) & pw
}
else login += wxT(",guest"); // If the radiobox selection was for anon
login += wxT(" ");
// Make a 'device' name. I used to use the hostname in preference to the ip address, but the latter seems more reliable
name = dlg.IPCombo->GetValue();
if (name.IsEmpty()) name = dlg.HostnameCombo->GetValue(); // If there isn't a valid ip address, use the hostname
name = wxT("//") + name; name += wxT('/');
name += dlg.SharesCombo->GetValue();
if (dlg.InFstab && (mountpt == dlg.FstabMt)) // If it has a fstab entry, and we're trying to use it
{ FileData mountdir(mountpt);
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The mount-point for this share doesn't exist. Create it?"), wxEmptyString, wxYES_NO) != wxYES) return;
if (!MkDir(mountpt)) return;
}
wxBusyCursor wait;
result = wxExecute(wxT("mount \"") + name + wxT('\"'), output, errors); // Do the mount the easy way
if (!result) result = errors.GetCount(); // Unfortunately, wxExecute returns 0 even if submnt fails. Success gives no error msg, so use this instead
}
if (!!result) // Not in fstab, or it is but it failed (probably as recent smbmounts aren't setuid); so we have to work harder
{ wxBusyCursor wait;
FileData mountdir(mountpt);
if (!mountdir.IsValid())
{ if (wxMessageBox(_("The mount-point for this share doesn't exist. Create it?"), wxEmptyString, wxYES_NO) != wxYES) return;
if (!MkDir(mountpt)) return;
}
EscapeQuote(name); EscapeQuote(mountpt); // Avoid any problems due to single-quotes in a path
if (WeCanUseSmbmnt(mountpt)) // We can only use smbmnt if we're root, or if it's setuid root & we own mountpt
{ wxString smbmount_filepath;
if (Configure::TestExistence(wxT("smbmount"), true)) smbmount_filepath = wxT("smbmount"); // See if it's in PATH
else smbmount_filepath = SMBPATH+wxT("smbmount \""); // Otherwise use the presumed samba dir
result = wxExecute(smbmount_filepath + name + wxT("\" \"") + mountpt + wxT("\" ") + login, output, errors);
}
else
{ if (getuid() != 0) // If user isn't super
{ if (WHICH_SU==mysu)
{ if (USE_SUDO) result = ExecuteInPty(wxT("sudo sh -c \"mount -t cifs ") + login + wxT("\'") + name + wxT("\' \'") + mountpt + wxT("\'\""), output, errors);
else result = ExecuteInPty(wxT("su -c \"mount -t cifs ") + login + wxT("\'") + name + wxT("\' \'") + mountpt + wxT("\'\""), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
else if (WHICH_SU==kdesu) result = wxExecute(wxT("kdesu \"mount -t cifs ") + login + wxT("\'") + name + wxT("\' \'") + mountpt + wxT("\'\""), output, errors);
else if (WHICH_SU==gksu) result = wxExecute(wxT("gksu \"mount -t cifs ") + login + wxT("\'") + name + wxT("\' \'") + mountpt + wxT("\'\""), output, errors);
else if (WHICH_SU==gnomesu) result = wxExecute(wxT("gnomesu --title "" -c \"mount -t cifs ") + login + wxT("\'") + name + wxT("\' \'") + mountpt + wxT("\'\" -d"), output, errors);
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty()) result = wxExecute(OTHER_SU_COMMAND + wxT("\"mount -t cifs ") + login + wxT("\'") + name + wxT("\' \'") + mountpt + wxT("\'\""), output, errors);
else { wxMessageBox(_("Sorry, you need to be root to mount non-fstab shares"), wxT(":-(")); return; }
}
else
result = wxExecute(wxT("mount -t cifs ") + login + wxT("\"") + name + wxT("\" \"") + mountpt + wxT("\""), output, errors); // If we happen to be root
}
}
if (!result) // Success
{ if (MyFrame::mainframe->GetActivePane())
MyFrame::mainframe->GetActivePane()->OnOutsideSelect(mountpt, false);
wxString msg(_("Mounted successfully on ")); BriefLogStatus bls(msg + mountpt);
return;
}
wxString msg; size_t ecount = errors.GetCount(); // If it failed, show any error messages or, failing that, the exit code
if (ecount)
{ msg = _("Oops, failed to mount successfully. The error message was:");
for (size_t n=0; n < ecount; ++n) msg << wxT('\n') << errors[n];
}
else msg.Printf(wxT("%s%i"), _("Oops, failed to mount successfully due to error "), (int)result);
wxMessageBox(msg);
}
bool DeviceAndMountManager::WeCanUseSmbmnt(wxString& mountpt, bool TestUmount /*=false*/) // Do we have enough kudos to (u)mount with smb
{
wxString smbfilepath = SMBPATH + (TestUmount ? wxT("smbumount") : wxT("smbmnt")); // Make a filepath to whichever file we're interested in
FileData smb(smbfilepath);
if (!smb.IsValid()) return false; // If it's not in SMBPATH (or doesn't exist anyway e.g. ubuntu), forget it
size_t ourID = getuid();
if (ourID == 0) return true; // If we're root anyway we certainly can use it
FileData mnt(mountpt); if (!mnt.IsValid()) return false; // This is to test the mountpt dir's details. If it doesn't exist, return
if (smb.IsSetuid()) // If the file is setuid, we can use it
if (TestUmount || // if we're UNmounting
(mnt.OwnerID()==ourID && mnt.IsUserWriteable())) // or provided we own and have write permission for the target dir
return true;
return false;
}
void DeviceAndMountManager::OnUnMountNetwork()
{
UnMountSambaDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg,MyFrame::mainframe, wxT("UnMountDlg"));
if (!dlg.Init())
{ wxMessageBox(_("No Mounts of this type found")); return; } // Init returns the no located. Bug out if none
LoadPreviousSize(&dlg, wxT("UnMountDlg"));
dlg.SetTitle(_("Unmount a Network mount"));
((wxStaticText*)dlg.FindWindow(wxT("FirstStatic")))->SetLabel(_("Share or Export to Unmount"));
((wxStaticText*)dlg.FindWindow(wxT("SecondStatic")))->SetLabel(_("Mount-Point"));
int ans = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("UnMountDlg"));
if (ans != wxID_OK) return;
wxString mount = dlg.FstabMountptTxt->GetValue();
if (mount.IsEmpty()) return;
if (mount==wxT("/")) { wxMessageBox(_("Unmounting root is a SERIOUSLY bad idea!"), wxT("Tsk! Tsk!")); return; }
wxArrayString output, errors; long result = -1;
if (dlg.IsSshfs()) // sshfs does things in userspace, so try its unmounter first
{ if (!FUSERMOUNT.empty() && (wxExecute(FUSERMOUNT + wxT(" -u ") + mount, output, errors) == 0))
{ wxArrayInt IDs; MyFrame::mainframe->OnUpdateTrees(mount, IDs);
BriefLogStatus bls(mount + _(" unmounted successfully"));
return;
}
} // Otherwise fall through to use the standard umount
if (dlg.IsSamba() && WeCanUseSmbmnt(mount, true)) // If this is a samba share, & we're set up to do so, use smbumount
{ wxString smbmount_filepath;
if (Configure::TestExistence(wxT("smbumount"), true)) smbmount_filepath = wxT("smbumount"); // See if it's in PATH
else smbmount_filepath = SMBPATH+wxT("smbumount ");
result = wxExecute(smbmount_filepath + mount, output, errors);
if (!result)
{ wxArrayInt IDs; MyFrame::mainframe->OnUpdateTrees(mount, IDs);
BriefLogStatus bls(mount + _(" Unmounted successfully")); return;
}
else errors.Clear();
}
// Otherwise we have to do it the harder way
if ((result = wxExecute(wxT("umount -l ") + mount, output, errors)) != 0)
{ wxString mount1; // If it failed, try again with(out) a terminal '/'
if (mount.Right(1) == wxFILE_SEP_PATH) mount1 = mount.BeforeLast(wxFILE_SEP_PATH);
else mount1 << mount << wxFILE_SEP_PATH;
result = wxExecute(wxT("umount -l ") + mount1, output, errors);
}
if (result != 0)
{ if (WHICH_SU != dunno)
{ errors.Clear(); // Didn't work using fstab. Try again as root
if (WHICH_SU==mysu)
{ if (USE_SUDO) result = ExecuteInPty(wxT("sudo sh -c \"umount -l ") + mount + wxT('\"'), output, errors);
else result = ExecuteInPty(wxT("su -c \'umount -l ") + mount + wxT("\'"), output, errors);
if (result == CANCEL_RETURN_CODE) return;
}
else if (WHICH_SU==kdesu) result = wxExecute(wxT("kdesu \'umount -l ") + mount + wxT("\'"), output, errors);
else if (WHICH_SU==gksu) result = wxExecute(wxT("gksu \'umount -l ") + mount + wxT("\'"), output, errors);
else if (WHICH_SU==gnomesu) result = wxExecute(wxT("gnomesu --title "" -c \'umount -l ") + mount + wxT("\' -d"), output, errors);
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty()) result = wxExecute(OTHER_SU_COMMAND + wxT("\'umount -l ") + mount + wxT("\'"), output, errors);
}
if (!!result) // If nothing's worked, abort after displaying what we did get
{ wxString msg; size_t ecount = errors.GetCount();
if (ecount)
{ msg = _("Unmount failed with the message:");
for (size_t n=0; n < ecount; ++n) msg << wxT('\n') << errors[n];
}
else msg = (_("Oops, failed to unmount")); // Generic error message (shouldn't happen)
wxMessageBox(msg); return;
}
}
if (!!result) return; // If we missed any failures above, catch them here
wxArrayInt IDs; MyFrame::mainframe->OnUpdateTrees(mount, IDs); // Update in case this partition was visible in a pane
BriefLogStatus bls(mount + _(" unmounted successfully"));
}
bool MountPartitionDialog::Init(DeviceAndMountManager* dad, wxString device /*=wxEmptyString*/)
{
parent = dad;
PartitionsCombo = (wxComboBox*)FindWindow(wxT("PartitionsCombo"));
FstabMountptTxt = NULL; // Start with this null, as we use this to test which dialog version we're in
FstabMountptTxt = (wxTextCtrl*)FindWindow(wxT("FstabMountptTxt"));// Find the textctrl if this is the fstab version of the dialog
MountptCombo = (wxComboBox*)FindWindow(wxT("MountptCombo")); // Ditto for the 'Other' version
if (!FstabMountptTxt && !MountptCombo) return false; // These are new in 4.0, so protect against a stale rc/
historypath = wxT("/History/MountPartition/");
LoadMountptHistory();
if (device != wxEmptyString) // This is if we're trying to mount a DVD-RAM disc
{ wxArrayString answerarray;
PartitionsCombo->Append(device.c_str());
if (MountptCombo && parent->FindUnmountedFstabEntry(device, answerarray)) // Try to find a suggested mountpt from ftab
{ if (answerarray.GetCount()) // Array holds any unused mountpoints. Just show the first (there'll probably be 0 or 1 anyway)
MountptCombo->SetValue(answerarray.Item(0));
}
return true;
}
for (size_t n=0; n < parent->PartitionArray->GetCount(); ++n)
{ PartitionStruct* pstruct = parent->PartitionArray->Item(n);
if (FstabMountptTxt == NULL) // If this is the 'Other' version of the dialog, load every known unmounted partition
{ if (!pstruct->IsMounted)
PartitionsCombo->Append(pstruct->device.c_str());
}
else
{ if (pstruct->IsMounted || pstruct->mountpt.IsEmpty()) continue; // Ignore already-mounted partitions, or ones not in fstab (so no known mountpt)
PartitionsCombo->Append(pstruct->device.c_str()); // This one qualifies, so add it
}
}
#if (defined(__WXGTK20__) || defined(__WXX11__))
if (PartitionsCombo->GetCount()) PartitionsCombo->SetSelection(0);
#endif
DisplayMountptForPartition(); // Show ftab's suggested mountpt, if we're in the correct dialog
return true;
}
void MountPartitionDialog::DisplayMountptForPartition(bool GetDataFromMtab /*=false*/) // This enters the correct mountpt for the selected partition, in the fstab version of the dialog
{
if (FstabMountptTxt == NULL) return; // because in the 'Other' version of the dialog, the user enters his own mountpt
wxString dev = PartitionsCombo->GetValue(); // We need to use GetValue(), not GetStringSelection(), as in >2.6.3 the latter fails
for (size_t n=0; n < parent->PartitionArray->GetCount(); ++n)
if (parent->PartitionArray->Item(n)->device == dev)
{ if (GetDataFromMtab) // If we're unmounting, we can't rely on the PartitionArray info: the partition may not have been mounted where fstab intended
{ FstabMountptTxt->Clear();
struct mntent* mnt = parent->ReadMtab(dev); // So see where it really is
if (mnt != NULL) FstabMountptTxt->ChangeValue(wxString(mnt->mnt_dir, wxConvUTF8));
return;
}
else
{ FstabMountptTxt->Clear(); FstabMountptTxt->ChangeValue(parent->PartitionArray->Item(n)->mountpt); return; }
}
}
void MountPartitionDialog::OnBrowseButton(wxCommandEvent& WXUNUSED(event)) // The Browse button was clicked, so let user locate a mount-pt dir
{
wxString startdir; if (wxDirExists(wxT("/mnt"))) startdir = wxT("/mnt");
wxDirDialog ddlg(this, _("Choose a Directory to use as a Mount-point"), startdir, wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST);
if (ddlg.ShowModal() != wxID_OK) return;
wxString filepath = ddlg.GetPath();
if (!filepath.IsEmpty()) MountptCombo->SetValue(filepath);
}
void MountPartitionDialog::LoadMountptHistory() const
{
if (!MountptCombo || historypath.empty()) return;
size_t count = (size_t)wxConfigBase::Get()->Read(historypath + wxT("itemcount"), 0l);
for (size_t n=0; n < count; ++n)
{ wxString Mountpt = wxConfigBase::Get()->Read(historypath + wxString::Format(wxT("%c/"), wxT('a') + (wxChar)n) + wxT("Mountpt"), wxString());
if (!Mountpt.empty())
MountptCombo->Append(Mountpt);
}
}
void MountPartitionDialog::SaveMountptHistory() const
{
if (!MountptCombo || historypath.empty()) return;
wxString mp = MountptCombo->GetValue(); if (mp.empty()) return;
wxArrayString History = MountptCombo->GetStrings();
int index = History.Index(mp);
if (index != wxNOT_FOUND) History.RemoveAt(index); // Avoid duplication
History.Insert(mp, 0); // Prepend the current entry
wxConfigBase::Get()->DeleteGroup(historypath);
size_t count = wxMin(History.GetCount(), MAX_COMMAND_HISTORY);
wxConfigBase::Get()->Write(historypath + wxT("itemcount"), (long)count);
for (size_t n=0; n < count; ++n)
wxConfigBase::Get()->Write(historypath + wxString::Format(wxT("%c/"), wxT('a') + (wxChar)n) + wxT("Mountpt"), History[n]);
}
BEGIN_EVENT_TABLE(MountPartitionDialog,wxDialog)
EVT_COMBOBOX(XRCID("PartitionsCombo"), MountPartitionDialog::OnSelectionChanged)
EVT_BUTTON(XRCID("Browse"), MountPartitionDialog::OnBrowseButton)
EVT_BUTTON(-1, MountPartitionDialog::OnButtonPressed)
END_EVENT_TABLE()
bool MountLoopDialog::Init()
{
ImageTxt = (wxTextCtrl*)FindWindow(wxT("ImageTxt"));
MountptCombo = (wxComboBox*)FindWindow(wxT("MountptCombo"));
if (!MountptCombo) return false; // This is new in 4.0, so protect against a stale rc/
AlreadyMounted = (wxStaticText*)FindWindow(wxT("AlreadyMounted")); AlreadyMounted->Hide();
historypath = wxT("/History/MountLoop/");
LoadMountptHistory();
wxString possibleIso;
if (MyFrame::mainframe->GetActivePane())
possibleIso = MyFrame::mainframe->GetActivePane()->GetPath();
FileData poss(possibleIso); if (!poss.IsValid()) return true;
FileData tgt(poss.GetUltimateDestination());
if (tgt.IsRegularFile())
{ ImageTxt->ChangeValue(possibleIso);
MountptCombo->SetFocus();
}
else ImageTxt->SetFocus();
return true;
}
void MountLoopDialog::OnIsoBrowseButton(wxCommandEvent& WXUNUSED(event))
{
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); // Find the active dirview's path to use as startdir for dialog
if (active->fileview==ISRIGHT) active = active->partner;
wxFileDialog fdlg(this,_("Choose an Image to Mount"), active->GetPath(), wxEmptyString, wxT("*"), wxFD_OPEN);
if (fdlg.ShowModal() != wxID_OK) return;
wxString filepath = fdlg.GetPath(); // Get the selection
if (!filepath.IsEmpty()) ImageTxt->SetValue(filepath); // Paste into the textctrl
}
void MountLoopDialog::DisplayMountptForImage() // This enters the correct mountpt for the selected Image if it's in fstab
{
wxString Image = ImageTxt->GetValue();
if (Image.IsEmpty()) // If no currently selected share, abort
{ InFstab = IsMounted = false; FstabMt.Empty(); AtMountPt.Empty();
AlreadyMounted->Hide(); return;
}
struct fstab* fs = DeviceAndMountManager::ReadFstab(Image);
InFstab = (fs != NULL); // Store or null the data according to the result
FstabMt = (InFstab ? wxString(fs->fs_file, wxConvUTF8) : wxT(""));
struct mntent* mnt = DeviceAndMountManager::ReadMtab(Image); // Now read mtab to see if the share's already mounted
IsMounted = (mnt != NULL);
AlreadyMounted->Show(IsMounted); GetSizer()->Layout(); // If it is mounted, expose the wxStaticTxt that says so (and Layout, else 2.8.0 displays it in top left corner!)
AtMountPt = (IsMounted ? wxString(mnt->mnt_dir, wxConvUTF8) : wxT("")); // Store any mountpt, or delete any previous entry
if (IsMounted)
MountptCombo->SetValue(AtMountPt); // Put any mountpt in the combobox
else if (InFstab)
MountptCombo->SetValue(FstabMt); // If not, but there was an fstab entry, insert that instead
}
BEGIN_EVENT_TABLE(MountLoopDialog,MountPartitionDialog)
EVT_BUTTON(XRCID("Browse"), MountLoopDialog::OnBrowseButton)
EVT_BUTTON(XRCID("IsoBrowse"), MountLoopDialog::OnIsoBrowseButton)
EVT_TEXT(XRCID("ImageTxt"), MountLoopDialog::OnSelectionChanged)
END_EVENT_TABLE()
bool MountSshfsDlg::Init()
{
UserCombo = (wxComboBox*)FindWindow(wxT("UserCombo"));
HostnameCombo = (wxComboBox*)FindWindow(wxT("HostnameCombo"));
RemotedirCombo = (wxComboBox*)FindWindow(wxT("RemotedirCombo"));
MountptCombo = (wxComboBox*)FindWindow(wxT("MountptCombo"));
if (!MountptCombo) return false; // This is new in 4.0, so protect against a stale rc/
Idmap = (wxCheckBox*)FindWindow(wxT("idmap"));
Readonly = (wxCheckBox*)FindWindow(wxT("readonly"));
OtherOptions = (wxTextCtrl*)FindWindow(wxT("OtherOptions"));
if (!(UserCombo && HostnameCombo && RemotedirCombo && MountptCombo && OtherOptions)) return false;
historypath = wxT("/History/MountSshfs/");
LoadMountptHistory();
wxConfigBase* config = wxConfigBase::Get();
config->SetPath(wxT("/History/SshfsHistory/"));
size_t count = (size_t)config->Read(wxT("itemcount"), 0l);
SshfsHistory.Clear();
wxString key; const wxString dfault;
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c/"), wxT('a') + (wxChar)n);
wxString Hostname = config->Read(key + wxT("Hostname"), dfault); if (Hostname.IsEmpty()) continue;
wxString User = config->Read(key + wxT("User"), dfault);
wxString Remotedir = config->Read(key + wxT("Remotedir"), dfault);
wxString Mountpt = config->Read(key + wxT("Mountpt"), dfault);
bool map; config->Read(key + wxT("idmap"), &map, true);
bool ro; config->Read(key + wxT("readonly"), &ro, true);
wxString OtherOpts = config->Read(key + wxT("OtherOptions"), dfault);
SshfsHistory.Add( new SshfsNetworkStruct(User, Hostname, Remotedir, Mountpt, map, ro, OtherOpts) );
}
config->SetPath(wxT("/"));
// Now see if there's anything extra in /etc/fstab
ArrayofPartitionStructs PartitionArray; wxString types(wxT("fuse,fuse.sshfs"));
size_t fcount = MyFrame::mainframe->Layout->m_notebook->DeviceMan->DeviceAndMountManager::ReadFstab(PartitionArray, types);
for (size_t n=0; n < fcount; ++n)
{ bool idmap(false), ro(false);
wxString source(PartitionArray.Item(n)->device.AfterLast(wxT('#'))); // There are 2 fstab entry methods. One prepends 'sshfs#'
wxString user = source.BeforeLast(wxT('@')); // Use BeforeLast, not First, as it returns empty if not found
wxString hostname = source.AfterLast(wxT('@')).BeforeFirst(wxT(':')); // We _want_ the whole string if there's no ':'
wxString remotedir = source.AfterFirst(wxT(':')); // Use AfterFirst as we want "" if not found
wxString options; // Now parse any options
wxArrayString optsarray = wxStringTokenize(PartitionArray.Item(n)->uuid, // They were put here, for want of a better field
wxT(","),wxTOKEN_STRTOK);
for (size_t op=0; op < optsarray.GetCount(); ++op)
{ wxString opt = optsarray.Item(op).Trim().Trim(false);
size_t pos = opt.find(wxT("idmap=")); // Filter out idmap=user and ro, as we have separate boxes for them
if ((pos != wxString::npos) && (opt.find(wxT("user"), pos+6, 4) != wxString::npos))
{ idmap = true; continue; }
if ((pos = opt.find(wxT("ro"))) != wxString::npos)
{ ro = true; continue; }
if (!options.empty() && !opt.empty()) options << wxT(' ');
options << wxT("-o ") << opt;
}
SshfsNetworkStruct* sstruct = new SshfsNetworkStruct(user, hostname, remotedir, PartitionArray.Item(n)->mountpt, idmap, ro, options);
bool found(false);
for (size_t i=0; i < SshfsHistory.GetCount(); ++i)
if (SshfsHistory.Item(i)->IsEqualTo(sstruct))
{ found = true; break; }
if (!found) SshfsHistory.Add(sstruct);
else delete sstruct;
}
// Load all the hostnames, uniqued
for (size_t n=0; n < SshfsHistory.GetCount() && n < MAX_COMMAND_HISTORY; ++n)
{ SshfsNetworkStruct* sstruct = SshfsHistory.Item(n);
if (HostnameCombo->FindString(sstruct->hostname) == wxNOT_FOUND)
HostnameCombo->Append(sstruct->hostname);
}
Connect(wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler(MountSshfsDlg::OnSelectionChanged), NULL, this); // We must connect them all, otherwise the baseclass catches some and crashes
Connect(wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MountSshfsDlg::OnOK), NULL, this);
Connect(wxID_OK, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MountSshfsDlg::OnOKUpdateUI), NULL, this);
if (SshfsHistory.GetCount() > 0)
{ HostnameCombo->SetSelection(0);
// Now fake a selection event to get the index==0 host's user/remotedir data loaded
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, XRCID("HostnameCombo"));
GetEventHandler()->ProcessEvent(event);
}
return true;
}
void MountSshfsDlg::OnSelectionChanged(wxCommandEvent& event)
{
if (event.GetId() != XRCID("HostnameCombo")) return; // We only care about this id, but have to catch them all here to prevent MountPartitionDialog catching and crashing
int index = HostnameCombo->GetSelection(); if (index == wxNOT_FOUND) return;
// Fill the user/remotedir combos, but only with the data previously used for this hostname
UserCombo->Clear(); RemotedirCombo->Clear();
wxString hostname = HostnameCombo->GetStringSelection(); int firstfound = -1;
for (size_t n=0; n < SshfsHistory.GetCount() && n < MAX_COMMAND_HISTORY; ++n)
{ SshfsNetworkStruct* sstruct = SshfsHistory.Item(n);
if (sstruct->hostname == hostname)
{ if (UserCombo->FindString(sstruct->user) == wxNOT_FOUND)
UserCombo->Append(sstruct->user);
if (RemotedirCombo->FindString(sstruct->remotedir) == wxNOT_FOUND)
RemotedirCombo->Append(sstruct->remotedir);
if (firstfound == -1) // We need to cache the first-found index-item so we can use it to get the correct data below
firstfound = n;
}
}
if (UserCombo->GetCount() > 0) UserCombo->SetSelection(0);
if (RemotedirCombo->GetCount() > 0) RemotedirCombo->SetSelection(0);
if (!SshfsHistory[index]->localmtpt.empty()) // If there's data for this item, overwrite the current textctrl's contents. Otherwise don't clobber with ""
MountptCombo->SetValue(SshfsHistory[firstfound]->localmtpt);
Idmap->SetValue(SshfsHistory[firstfound]->idmap); Readonly->SetValue(SshfsHistory[firstfound]->readonly); OtherOptions->ChangeValue(SshfsHistory[firstfound]->otheroptions);
}
void MountSshfsDlg::OnOKUpdateUI(wxUpdateUIEvent& event)
{
event.Enable(!HostnameCombo->GetValue().empty() && !MountptCombo->GetValue().empty());
}
void MountSshfsDlg::OnOK(wxCommandEvent& event)
{
SshfsNetworkStruct* newitem = new SshfsNetworkStruct(UserCombo->GetValue(), HostnameCombo->GetValue(), RemotedirCombo->GetValue(),
MountptCombo->GetValue(), Idmap->IsChecked(), Readonly->IsChecked(), OtherOptions->GetValue());
for (size_t n=0; n < SshfsHistory.GetCount(); ++n)
if (SshfsHistory[n]->IsEqualTo(newitem))
{ SshfsHistory.RemoveAt(n); break; } // Remove any identical item
SshfsHistory.Insert(newitem, 0); // Either way, prepend the new item
wxConfigBase* config = wxConfigBase::Get();
config->DeleteGroup(wxT("/History/SshfsHistory"));
config->SetPath(wxT("/History/SshfsHistory/"));
long count = wxMin(SshfsHistory.GetCount(), 26);
config->Write(wxT("itemcount"), count);
wxString key;
for (int n=0; n < count; ++n)
{ key.Printf(wxT("%c/"), wxT('a') + (wxChar)n);
SshfsNetworkStruct* history = SshfsHistory[n];
config->Write(key + wxT("User"), history->user);
config->Write(key + wxT("Hostname"), history->hostname);
config->Write(key + wxT("Remotedir"), history->remotedir);
config->Write(key + wxT("Mountpt"), history->localmtpt);
config->Write(key + wxT("idmap"), history->idmap);
config->Write(key + wxT("readonly"), history->readonly);
config->Write(key + wxT("OtherOptions"), history->otheroptions);
}
config->SetPath(wxT("/"));
event.Skip(); // Needed to save the 'global' mountptcombo history (though we already saved the sshfs-specific stuff above)
}
bool MountSambaDialog::Init()
{
IPCombo = (wxComboBox*)FindWindow(wxT("IPCombo"));
HostnameCombo = (wxComboBox*)FindWindow(wxT("HostnameCombo"));
SharesCombo = (wxComboBox*)FindWindow(wxT("SharesCombo"));
MountptCombo = (wxComboBox*)FindWindow(wxT("MountptCombo"));
if (!MountptCombo) return false; // This is new in 4.0, so protect against a stale rc/
AlreadyMounted = (wxStaticText*)FindWindow(wxT("AlreadyMounted")); AlreadyMounted->Hide();
RwRadio = (wxRadioBox*)FindWindow(wxT("RwRadio"));
Username = (wxTextCtrl*)FindWindow(wxT("Username"));
Password = (wxTextCtrl*)FindWindow(wxT("Password"));
historypath = wxT("/History/MountSamba/");
LoadMountptHistory();
GetFstabShares();
if (!FindData() && (NetworkArray.GetCount() == 0)) return false; // Fill the array with data. If none, abort unless some came from /etc/fstab
for (size_t n=0; n < NetworkArray.GetCount(); ++n)
{ IPCombo->Append(NetworkArray.Item(n)->ip);
HostnameCombo->Append(NetworkArray.Item(n)->hostname);
}
#if (defined(__WXGTK20__) || defined(__WXX11__))
if (NetworkArray.GetCount()) IPCombo->SetSelection(0); // Need actually to set the textbox in >2.7.0.1
if (NetworkArray.GetCount()) HostnameCombo->SetSelection(0);
#endif
if (NetworkArray.GetCount()) LoadSharesForThisServer(0); // If there were any servers found, load the shares for the 1st of them
return true;
}
void MountSambaDialog::LoadSharesForThisServer(int sel) // Fill the relevant combo with available shares for the displayed server
{
if (sel == -1) return; // If no currently selected hostname, abort
if (sel > (int)(NetworkArray.GetCount()-1)) return; // Shouldn't happen, of course
struct NetworkStruct* ss = NetworkArray.Item(sel);
SharesCombo->Clear(); SharesCombo->SetValue(wxEmptyString);
for (size_t c=0; c < ss->shares.GetCount(); ++c) // We have the server. Load its shares into the combo
SharesCombo->Append(ss->shares[c]);
#if (defined(__WXGTK20__) || defined(__WXX11__))
if (SharesCombo->GetCount()) SharesCombo->SetSelection(0);
#endif
if (!ss->user.empty()) Username->ChangeValue(ss->user); // If we have user/pass/ro info for this item, set it (but don't clobber unnecessarily)
if (!ss->passwd.empty()) Password->ChangeValue(ss->passwd);
RwRadio->SetSelection(ss->readonly);
GetMountptForShare(); // Finally display any relevant mountpt
}
void MountSambaDialog::GetMountptForShare() // Enter into MountptTxt any known mountpoint for the selection in SharesCombo
{
wxString device1, device2;
wxString share = SharesCombo->GetValue();
if (share.IsEmpty()) // If no currently selected share, abort
{ InFstab = IsMounted = false; FstabMt.Empty(); AtMountPt.Empty();
AlreadyMounted->Hide(); return;
}
device1.Printf(wxT("//%s/%s"), HostnameCombo->GetValue().c_str(), share.c_str()); // Construct a 'device' name to search for. \\hostname\share
device2.Printf(wxT("//%s/%s"), IPCombo->GetValue().c_str(), share.c_str()); // & another with eg \\192.168.0.1\share
struct fstab* fs = DeviceAndMountManager::ReadFstab(device1);
if (fs == NULL) fs = DeviceAndMountManager::ReadFstab(device2); // Null means not found so try again with the IP version
InFstab = (fs != NULL); // Store or null the data according to the result
FstabMt = (InFstab ? wxString(fs->fs_file, wxConvUTF8) : wxT(""));
struct mntent* mnt = DeviceAndMountManager::ReadMtab(device1); // Now read mtab to see if the share's already mounted
if (mnt == NULL) mnt = DeviceAndMountManager::ReadMtab(device2); // Null means not found, so try again with the IP version
IsMounted = (mnt != NULL);
AlreadyMounted->Show(IsMounted); GetSizer()->Layout(); // If it is mounted, expose the wxStaticTxt that says so (and Layout, else 2.8.0 displays it in top left corner!)
AtMountPt = (IsMounted ? wxString(mnt->mnt_dir, wxConvUTF8) : wxT("")); // Store any mountpt, or delete any previous entry
if (IsMounted)
MountptCombo->SetValue(AtMountPt);
else if (InFstab)
MountptCombo->SetValue(FstabMt);
}
size_t IsPlausibleIPaddress(wxString& str)
{
if (str.IsEmpty()) return false; // Start with 2 quick checks. If the string is empty,
if (!wxIsxdigit(str.GetChar(0))) return false; // or if the 1st char isn't a hex number, abort
if (str.find(wxT(':')) == wxString::npos) // If there isn't a ':', it can't be IPv6
{ wxStringTokenizer tkn(str, wxT("."), wxTOKEN_STRTOK);
if (tkn.CountTokens() !=4) return false; // If it's IPv4 there should be 4 tokens
for (int c=0; c < 4; ++c)
{ unsigned long val;
if ((tkn.GetNextToken()).ToULong(&val) == false || val > 255) // If each token isn't a number < 256, abort
return false;
}
return 4; // If we've here, it's a valid IPv4 address. Return 4 to signify this
}
wxStringTokenizer tkn(str, wxT(":"), wxTOKEN_STRTOK);
size_t count = tkn.CountTokens();
if (count == 0 || count > 8) return false; // If it's IPv6 we can't be sure of the token no as :::::::1 is valid, but there must be 1, and < 9
for (size_t c=0; c < count; ++c)
{ unsigned long val;
wxString next = tkn.GetNextToken();
if (next.IsEmpty())
{ if (c == (count-1)) return false; } // If the token is empty, abort if it's the last one
else
if (next.ToULong(&val,16) == false || val > 255) // If each token isn't a number < 256, abort
return false;
}
return 8; // If we've here, it's a valid IPv6 address. Return 8 to signify this
}
bool MountSambaDialog::GetSharesForServer(wxArrayString& array, wxString& hostname, bool findprinters/*=false*/) // Return hostname's available shares
{
wxString diskorprinter = (findprinters ? wxT("Printer") : wxT("Disk")); // This determines which sort of line is recognised
wxString smbclient; // Check that we have a known smbclient file
if (Configure::TestExistence(wxT("smbclient"), true)) smbclient = wxT("smbclient");
else
{ FileData fd(SMBPATH + wxT("smbclient")); // If it's not in PATH, see if it's in a known place
if (fd.IsValid()) smbclient = SMBPATH + wxT("smbclient");
}
if (smbclient.IsEmpty())
{ wxMessageBox(_("I can't find the utility \"smbclient\". This probably means that Samba isn't properly installed.\nAlternatively there may be a PATH or permissions problem"));
return false;
}
wxArrayString output, errors; // Call smbclient to list the available Shares on this host
if (wxExecute(smbclient + wxT(" -d0 -N -L ") + hostname, output, errors) != 0)
return true; // Don't shout and scream here: this may be a stale nmb entry, with others succeeding. And return true, not false, else FindData() will abort
for (size_t n=0; n < output.GetCount(); ++n) // The output is in 'output'
{ wxStringTokenizer tkn(output[n]); // Parse it to find lines that begin with an IP address
wxString first = tkn.GetNextToken();
if (first.Right(1) == wxT("$")) continue; // If it ends in $, it's an admin thing eg ADMIN$, so ignore
if (tkn.GetNextToken() == diskorprinter) // If the next token is Disk (or Printer if we're looking for printers), it's a valid share
array.Add(first); // so add the name to array
}
return true;
}
bool MountSambaDialog::FindData() // Query the network to find samba servers, & each server to find available Shares
{
wxString nmblookuperrormsg =
_("I can't get the utility \"nmblookup\" to work. This probably means that Samba isn't properly installed.\nAlternatively there may be a PATH or permissions problem");
wxString nmblookup; // Check that we have a known nmblookup file
if (Configure::TestExistence(wxT("nmblookup"), true)) nmblookup = wxT("nmblookup");
else
{ FileData fd(SMBPATH + wxT("nmblookup")); // If it's not in PATH, see if it's in a known place
if (fd.IsValid()) nmblookup = fd.GetFilepath();
}
if (nmblookup.IsEmpty())
{ wxMessageBox(_("I can't find the utility \"nmblookup\". This probably means that Samba isn't properly installed.\nAlternatively there may be a PATH or permissions problem"));
return false;
}
wxBusyInfo wait(_("Searching for samba shares..."));
// We don't know what the local IP address is, so start by not specifying one. That seems to give only one result, but from that we can deduce where to look
wxArrayString output, errors; wxString IPaddress, secondchance;
if (wxExecute(nmblookup + wxT(" -d0 '*'"), output, errors) != 0) // -d0 means debug=0
{ wxMessageBox(nmblookuperrormsg);
return false;
}
if (!output.GetCount()) return true; // even though there's no data :/
for (size_t n=0; n < output.GetCount(); ++n) // The output from nmblookup is in 'output'
{ wxStringTokenizer tkn(output[n]); // Parse it to find lines that begin with an IP address
wxString addr = tkn.GetNextToken();
if (IsPlausibleIPaddress(addr))
{ IPaddress = addr.BeforeLast(wxT('.')) + wxT(".0"); break; } // Found a valid address. Deduce the base e.g. 192.168.0.3 -> 192.168.0.0
// If that string isn't the right answer, it may contain ' 127.255.255.255' or ' 192.168.0.255'
// This is all we'll get if there's not a local samba server, so grab the latter
wxString retry = output[n].AfterLast(wxT(' '));
if ((retry != wxT("127.255.255.255")) && IsPlausibleIPaddress(retry))
secondchance = retry.BeforeLast(wxT('.')) + wxT(".0");
}
if (IPaddress.empty()) IPaddress = secondchance;
if (IPaddress.empty())
{ wxString msg(_("I can't find an active samba server.\nIf you know of one, please tell me its address e.g. 192.168.0.3"));
IPaddress = wxGetTextFromUser(msg, _("No server found"));
if (IPaddress.empty()) return false;
}
output.Clear(); errors.Clear(); // Now try again, using the base IP address. That should query other boxes too
if (wxExecute(nmblookup + wxT(" -d0 -B ") + IPaddress + wxT(" '*'"), output, errors) != 0)
{ wxMessageBox(nmblookuperrormsg);
return false;
}
wxArrayString IPList;
for (size_t n=0; n < output.GetCount(); ++n) // Parse the resulting output
{ wxStringTokenizer tkn(output[n]);
wxString addr = tkn.GetNextToken();
if (IsPlausibleIPaddress(addr)) IPList.Add(addr);
}
// We should now have a list of >0 IP addresses e.g. 192.168.0.2, 192.168.0.3. We need to query each to find its share(s)
for (size_t i=0; i < IPList.GetCount(); ++i)
{ wxString addr = IPList.Item(i);
output.Clear(); errors.Clear();
if (wxExecute(nmblookup + wxT(" -d0 -A ") + addr, output, errors) != 0)
{ wxMessageBox(nmblookuperrormsg);
return false;
}
for (size_t n=0; n < output.GetCount(); ++n)
{ wxStringTokenizer tkn(output[n]);
wxString hostname = tkn.GetNextToken(); hostname.Trim(false);
wxString second = tkn.GetNextToken(); second.Trim(false);
if (second != wxT("<00>")) continue; // We're looking for lines that (trimmed) look like "hostname<00> ..."
struct NetworkStruct* ss = new struct NetworkStruct;
ss->ip = addr;
ss->hostname = hostname;
if (!GetSharesForServer(ss->shares, ss->hostname)) return false; // False means smbclient doesn't work, not just that there are no available shares
NetworkArray.Add(ss); break;
}
}
return true;
}
void MountSambaDialog::GetFstabShares()
{
ArrayofPartitionStructs PartitionArray; wxString types(wxT("smbfs,cifs"));
size_t count = MyFrame::mainframe->Layout->m_notebook->DeviceMan->DeviceAndMountManager::ReadFstab(PartitionArray, types);
for (size_t n=0; n < count; ++n)
{ // The 'partition' may be //netbiosname/share or //192.168.0.1/share
if ((PartitionArray.Item(n)->device.Left(2) != wxT("//")) || (PartitionArray.Item(n)->device.Mid(2).Find(wxT('/')) == wxNOT_FOUND)) continue;
wxString hostname = PartitionArray.Item(n)->device.Mid(2).BeforeLast(wxT('/'));
wxString share = PartitionArray.Item(n)->device.Mid(2).AfterLast(wxT('/'));
struct NetworkStruct* ss = new struct NetworkStruct;
if (IsPlausibleIPaddress(hostname)) ss->ip = hostname;
else ss->hostname = hostname;
ss->shares.Add(share); ss->mountpt = PartitionArray.Item(n)->mountpt;
wxArrayString optsarray = wxStringTokenize(PartitionArray.Item(n)->uuid, // Options were put here, for want of a better field
wxT(","),wxTOKEN_STRTOK);
for (size_t op=0; op < optsarray.GetCount(); ++op)
{ wxString opt = optsarray.Item(op).Trim().Trim(false);
if (opt == wxT("ro")) { ss->readonly = true; continue; }
if (opt == wxT("rw")) { ss->readonly = false; continue; } // This is the default anyway
wxString rest;
if (opt.StartsWith(wxT("user="), &rest) || opt.StartsWith(wxT("username="), &rest))
{ ss->user = rest; continue; }
if (opt.StartsWith(wxT("pass="), &rest) || opt.StartsWith(wxT("password="), &rest))
{ ss->passwd = rest; continue; }
}
NetworkArray.Add(ss);
}
}
void MountSambaDialog::OnSelectionChanged(wxCommandEvent& event)
{
int id = event.GetId();
if (id == XRCID("SharesCombo")) { GetMountptForShare(); return; } // If it's the Shares combo, enter any known mountpoint
// If it's one of the Server combos, set the other one to the same selection
if (id == XRCID("IPCombo"))
{ HostnameCombo->SetSelection(IPCombo->GetSelection());
LoadSharesForThisServer(IPCombo->GetSelection()); // Then load that selection's shares
}
if (id == XRCID("HostnameCombo"))
{ IPCombo->SetSelection(HostnameCombo->GetSelection());
LoadSharesForThisServer(HostnameCombo->GetSelection());
}
}
void MountSambaDialog::OnUpdateUI(wxUpdateUIEvent& event)
{ // NB The event here is from Username ctrl. We have to use a textctrl UI event as, at least in wxGTK2.4.2, wxRadioBox doesn't generate them!
bool enabled = !((wxRadioBox*)FindWindow(wxT("PwRadio")))->GetSelection();
Username->Enable(enabled);
((wxStaticText*)FindWindow(wxT("UsernameStatic")))->Enable(enabled);
Password->Enable(enabled);
((wxStaticText*)FindWindow(wxT("PasswordStatic")))->Enable(enabled);
}
BEGIN_EVENT_TABLE(MountSambaDialog,MountPartitionDialog)
EVT_COMBOBOX(-1, MountSambaDialog::OnSelectionChanged)
EVT_UPDATE_UI(XRCID("Username"), MountSambaDialog::OnUpdateUI)
END_EVENT_TABLE()
bool MountNFSDialog::Init()
{
IPCombo = (wxComboBox*)FindWindow(wxT("IPCombo"));
SharesCombo = (wxComboBox*)FindWindow(wxT("SharesCombo"));
MountptCombo = (wxComboBox*)FindWindow(wxT("MountptCombo"));
if (!MountptCombo) return false; // This is new in 4.0, so protect against a stale rc/
RwRadio = (wxRadioBox*)FindWindow(wxT("RwRadio"));
MounttypeRadio = (wxRadioBox*)FindWindow(wxT("MounttypeRadio"));
AlreadyMounted = (wxStaticText*)FindWindow(wxT("AlreadyMounted")); AlreadyMounted->Hide();
historypath = wxT("/History/MountNFS/");
LoadMountptHistory();
#ifndef __GNU_HURD__ // There's no showmount or equivalent in hurd atm, so the user has to enter hosts by hand
while (SHOWMOUNTFPATH.IsEmpty() || !Configure::TestExistence(SHOWMOUNTFPATH))
{ // Test again: the user might not yet have had nfs installed when 4Pane first looked
if (Configure::TestExistence(wxT("/usr/sbin/showmount")))
{ SHOWMOUNTFPATH = wxT("/usr/sbin/showmount"); wxConfigBase::Get()->Write(wxT("/Network/ShowmountFilepath"), SHOWMOUNTFPATH); break; }
if (Configure::TestExistence(wxT("/sbin/showmount")))
{ SHOWMOUNTFPATH = wxT("/sbin/showmount"); wxConfigBase::Get()->Write(wxT("/Network/ShowmountFilepath"), SHOWMOUNTFPATH); break; }
wxMessageBox(_("I'm afraid I can't find the showmount utility. Please use Configure > Network to enter its filepath")); return false;
}
#endif
return FindData(); // Fill the array with data
}
void MountNFSDialog::LoadExportsForThisServer(int sel) // Fill the relevant combo with available exports for the displayed server
{
if (sel == -1) return; // If no currently selected server, abort
if (sel > (int)(NetworkArray.GetCount()-1)) return; // Shouldn't happen, of course
struct NetworkStruct* ns = NetworkArray.Item(sel);
SharesCombo->Clear(); SharesCombo->SetValue(wxEmptyString); // Clear data from previous servers
wxArrayString exportsarray;
GetExportsForServer(exportsarray, ns->ip); // Find the exports for this server
for (size_t c=0; c < exportsarray.GetCount(); ++c) // Load them into the combo
SharesCombo->Append(exportsarray[c]);
#if (defined(__WXGTK20__) || defined(__WXX11__))
if (SharesCombo->GetCount()) SharesCombo->SetSelection(0);
#endif
RwRadio->SetSelection(ns->readonly); // If this item was extracted from /etc/fstab, there'll be valid data here
if (ns->texture == wxT("hard")) MounttypeRadio->SetSelection(0);
else if (ns->texture == wxT("soft")) MounttypeRadio->SetSelection(1); // If neither is specified, don't make any change
GetMountptForShare(); // Finally display any relevant mountpt
}
void MountNFSDialog::GetMountptForShare() // Enter into MountptCombo any known mountpoint for the selection in SharesCombo
{
wxString share;
if (SharesCombo->GetCount()) // Check first, as GTK-2.4.2 Asserts if we try to find a non-existent selection
share = SharesCombo->GetValue();
if (share.IsEmpty()) // If no currently selected share, abort
{ InFstab = IsMounted = false; FstabMt.Empty(); AtMountPt.Empty();
AlreadyMounted->Hide(); return;
}
wxString device = IPCombo->GetValue() + wxT(':') + share; // Construct a 'device' name to search for eg 192.168.0.1:/exportdir
struct fstab* fs = DeviceAndMountManager::ReadFstab(device);
if (!fs) // Work around the usual terminal '/' issue
{ if (device.Right(1) == wxFILE_SEP_PATH) device = device.BeforeLast(wxFILE_SEP_PATH);
else device << wxFILE_SEP_PATH;
fs = DeviceAndMountManager::ReadFstab(device);
}
InFstab = (fs != NULL); // Store or null the data according to the result
FstabMt = (InFstab ? wxString(fs->fs_file, wxConvUTF8) : wxT(""));
mntent* mnt = DeviceAndMountManager::ReadMtab(device); // Now read mtab to see if the share's already mounted
IsMounted = (mnt != NULL);
AlreadyMounted->Show(IsMounted); GetSizer()->Layout(); // If it is mounted, expose the wxStaticTxt that says so (and Layout, else 2.8.0 displays it in top left corner!)
AtMountPt = (IsMounted ? wxString(mnt->mnt_dir, wxConvUTF8) : wxT("")); // Store any mountpt, or delete any previous entry
if (IsMounted)
MountptCombo->SetValue(AtMountPt);
else if (InFstab)
MountptCombo->SetValue(FstabMt);
}
bool MountNFSDialog::GetExportsForServer(wxArrayString& exportsarray, wxString& server) // Return server's available exports
{
#ifdef __GNU_HURD__
return false; // There's no showmount or equivalent in hurd atm
#endif
if (SHOWMOUNTFPATH.IsEmpty())
{ wxMessageBox(_("I can't find the utility \"showmount\". This probably means that NFS isn't properly installed.\nAlternatively there may be a PATH or permissions problem"));
return false;
}
wxArrayString output, errors; // Call showmount to list the available Shares on this host
wxExecute(SHOWMOUNTFPATH + wxT(" --no-headers -e ") + server, output, errors);
for (size_t n=0; n < output.GetCount(); ++n) // The output is in 'output'
{ wxStringTokenizer tkn(output[n]); // Parse each entry to find the first token, which is the exportable dir
wxString first = tkn.GetNextToken(); // (the rest is a list of permitted clients, & as we don't know who WE are . . .
if (first.IsEmpty()) continue;
exportsarray.Add(first);
}
return true; // with the exports list in exportsarray
}
bool MountNFSDialog::FindData() // Query the network to find NFS servers, & each server to find available Exports
{
wxString ip;
#ifndef __GNU_HURD__ // which doesn't have showmount atm
wxArrayString output, errors;
ClearNetworkArray();
GetFstabShares();
wxExecute(SHOWMOUNTFPATH + wxT(" --no-headers"), output, errors); // See if there're any other ip addresses already known to NFS
for (size_t n=0; n < output.GetCount(); ++n) // The output from showmount is in 'output'
{ wxStringTokenizer tkn(output[n]); // Parse it to find lines that begin with an IP address
wxString first = tkn.GetNextToken(); if (!IsPlausibleIPaddress(first)) continue;
if (NFS_SERVERS.Index(first) == wxNOT_FOUND) NFS_SERVERS.Add(first);
}
wxExecute(SHOWMOUNTFPATH + wxT(" --no-headers 127.0.0.1"), output, errors);
for (size_t n=0; n < output.GetCount(); ++n)
{ wxStringTokenizer tkn(output[n]);
wxString first = tkn.GetNextToken(); if (!IsPlausibleIPaddress(first)) continue;
if (NFS_SERVERS.Index(first) == wxNOT_FOUND) NFS_SERVERS.Add(first);
}
if (!NFS_SERVERS.GetCount()) // If there weren't any answers, ask for advice
if (wxMessageBox(_("I don't know of any NFS servers on your network.\nDo you want to continue, and write some in yourself?"),
_("No current mounts found"), wxYES_NO) != wxYES) return false;
#endif
for (size_t n=0; n < NFS_SERVERS.GetCount(); ++n) // Add each server name to the structarray
{ bool flag(false);
for (size_t a=0; a < NetworkArray.GetCount(); ++a) // but first check it wasn't already added in GetFstabShares()
if (NetworkArray.Item(a)->ip == NFS_SERVERS[n])
{ flag = true; break; }
if (!flag)
{ struct NetworkStruct* ss = new struct NetworkStruct;
ss->ip = NFS_SERVERS[n];
NetworkArray.Add(ss);
}
}
IPCombo->Clear();
for (size_t n=0; n < NetworkArray.GetCount(); ++n)
IPCombo->Append(NetworkArray.Item(n)->ip);
if (NetworkArray.GetCount())
{
#if (defined(__WXGTK20__) || defined(__WXX11__))
IPCombo->SetSelection(0); // Need actually to set the textbox in >2.7.0.1
#endif
LoadExportsForThisServer(0); // If there were any servers found, load the exports for the 1st of them
}
return true;
}
void MountNFSDialog::GetFstabShares()
{
ArrayofPartitionStructs PartitionArray; wxString types(wxT("nfs,nfs4"));
size_t count = MyFrame::mainframe->Layout->m_notebook->DeviceMan->DeviceAndMountManager::ReadFstab(PartitionArray, types);
for (size_t n=0; n < count; ++n)
{ wxString ip = PartitionArray.Item(n)->device.BeforeFirst(wxT(':'));
// if (!IsPlausibleIPaddress(ip)) continue; Don't check for plausibility here, to cater for using hostnames instead
wxString expt = PartitionArray.Item(n)->device.AfterFirst(wxT(':')); if (expt.empty()) continue;
if (NFS_SERVERS.Index(ip) == wxNOT_FOUND) NFS_SERVERS.Add(ip); // If this address isn't already in the array, add it
struct NetworkStruct* ss = new struct NetworkStruct;
ss->ip = ip;
ss->shares.Add(expt); ss->mountpt = PartitionArray.Item(n)->mountpt; // Add these, but they'll probably be overwritten by LoadExportsForThisServer()
wxArrayString optsarray = wxStringTokenize(PartitionArray.Item(n)->uuid, // Options were put here, for want of a better field
wxT(","),wxTOKEN_STRTOK);
for (size_t op=0; op < optsarray.GetCount(); ++op) // Process any we care about
{ wxString opt = optsarray.Item(op).Trim().Trim(false);
if (opt == wxT("ro")) { ss->readonly = true; continue; }
if (opt == wxT("rw")) { ss->readonly = false; continue; } // This is the default anyway
if ((opt == wxT("soft")) || (opt == wxT("hard"))) { ss->texture = opt; continue; }
}
NetworkArray.Add(ss);
}
if (count) SaveIPAddresses();
}
void MountNFSDialog::OnAddServerButton(wxCommandEvent& WXUNUSED(event)) // Manually add another server to ipcombo
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("AddNFSServerDlg"));
if (dlg.ShowModal() != wxID_OK) return;
wxString newserver = ((wxTextCtrl*)dlg.FindWindow(wxT("NewServer")))->GetValue();
if (!IsPlausibleIPaddress(newserver)) return;
if (NFS_SERVERS.Index(newserver) != wxNOT_FOUND) return; // Check it's not a duplicate
NFS_SERVERS.Add(newserver); // Add it to the servers array, struct array & combo. Select it
struct NetworkStruct* ss = new struct NetworkStruct;
ss->ip = newserver; NetworkArray.Add(ss);
#ifdef __GNU_HURD__
// There's no showmount or equivalent in hurd atm
#else
FindData(); // We've got a new potential server, so call FindData() again to see if it's connected
#endif
if (((wxCheckBox*)dlg.FindWindow(wxT("Save")))->IsChecked())
SaveIPAddresses();
}
void MountNFSDialog::SaveIPAddresses() const
{
wxConfigBase *config = wxConfigBase::Get();
wxString key(wxT("/Network/IPAddresses/"));
config->DeleteGroup(key);
size_t count = NFS_SERVERS.GetCount(); // Find how many entries there now are
config->Write(key+wxT("Count"), (long)count);
for (size_t n=0; n < count; ++n)
config->Write(key + CreateSubgroupName(count-1, count), NFS_SERVERS.Item(n));
config->Flush();
}
void MountNFSDialog::OnSelectionChanged(wxCommandEvent& WXUNUSED(event))
{
static bool flag=0; if (flag) return; // Avoid a 2.4.2 problem here with re-entrancy:
flag = 1; // Multiple selection events occur from the combobox if the L mouse button is held down while selecting
LoadExportsForThisServer(IPCombo->GetSelection()); // Load the new selection's exports
flag = 0;
}
BEGIN_EVENT_TABLE(MountNFSDialog,MountPartitionDialog)
EVT_BUTTON(XRCID("AddServer"), MountNFSDialog::OnAddServerButton)
EVT_COMBOBOX(XRCID("IPCombo"), MountNFSDialog::OnSelectionChanged)
EVT_COMBOBOX(XRCID("SharesCombo"), MountNFSDialog::OnGetMountptForShare)
END_EVENT_TABLE()
void UnMountPartitionDialog::Init(DeviceAndMountManager* dad)
{
parent = dad;
PartitionsCombo = (wxComboBox*)FindWindow(wxT("PartitionsCombo"));
FstabMountptTxt = (wxTextCtrl*)FindWindow(wxT("FstabMountptTxt")); // Find the textctrl
#ifdef __GNU_HURD__
parent->FillGnuHurdMountsList(*parent->PartitionArray);
#endif
for (size_t n=0; n < parent->PartitionArray->GetCount(); ++n)
{ PartitionStruct* pstruct = parent->PartitionArray->Item(n);
if (pstruct->IsMounted && !pstruct->mountpt.IsEmpty() // Ignore unmounted partitions
&& !(pstruct->mountpt == wxT("/"))) // Filter out root too; we don't want to be umounted ourselves
PartitionsCombo->Append(pstruct->device.c_str());
}
#if (defined(__WXGTK20__) || defined(__WXX11__))
if (PartitionsCombo->GetCount()) PartitionsCombo->SetSelection(0);
#endif
#if (defined(__LINUX__))
DisplayMountptForPartition(true); // Show mountpt. True means use the actual mtpt, not the fstab suggestion
#else
DisplayMountptForPartition(false); // We just looked for the mount-point, so don't search for it again
#endif
}
size_t UnMountSambaDialog::Init()
{
SearchForNetworkMounts();
PartitionsCombo = (wxComboBox*)FindWindow(wxT("PartitionsCombo"));
FstabMountptTxt = (wxTextCtrl*)FindWindow(wxT("FstabMountptTxt")); // Find the textctrl
for (size_t n=0; n < Mntarray.GetCount(); ++n)
{ PartitionStruct* mntstruct = Mntarray.Item(n); // PartitionStruct is here a misnomer
PartitionsCombo->Append(mntstruct->device); // Append this share's name to the combobox
}
#if (defined(__WXGTK20__) || defined(__WXX11__))
if (PartitionsCombo->GetCount()) PartitionsCombo->SetSelection(0);
#endif
DisplayMountptForShare(); // Show corresponding mountpt
return Mntarray.GetCount();
}
void UnMountSambaDialog::SearchForNetworkMounts() // Scans mtab for established NFS & samba mounts
{
FILE* fmp = setmntent (_PATH_MOUNTED, "r"); // Get a file* to (probably) /etc/mtab
if (fmp==NULL) return;
while (1) // For every mtab entry
{ struct mntent* mnt = getmntent(fmp); // get a struct representing a mounted partition
if (mnt == NULL)
{ endmntent(fmp); return; } // If it's null, we've finished mtab
wxString type(mnt->mnt_type, wxConvUTF8);
if (ParseNetworkFstype(type) != MT_invalid)
{ struct PartitionStruct* newmnt = new struct PartitionStruct;
newmnt->device = wxString(mnt->mnt_fsname, wxConvUTF8);
newmnt->mountpt = wxString(mnt->mnt_dir, wxConvUTF8);
newmnt->type = type;
Mntarray.Add(newmnt);
}
}
}
UnMountSambaDialog::MtType UnMountSambaDialog::ParseNetworkFstype(const wxString& type) const // Is this a mount that we're interested in: nfs, sshfs or samba
{
if (type == wxT("nfs") || (type.Left(3) == wxT("nfs") && wxIsdigit(type.GetChar(3)))) // If its type is "nfs" or "nfs4" (note we don't want the mountpt for nfsd)
return MT_nfs;
if (type.Contains(wxT("sshfs"))) return MT_sshfs;
if (type == wxT("smbfs") || type == wxT("cifs")) return MT_samba;
return MT_invalid;
}
void UnMountSambaDialog::DisplayMountptForShare() // Show mountpt corresponding to a share or export or sshfs mount
{
int sel = PartitionsCombo->GetSelection(); if (sel == -1) return; // Get the currently selected share/export. Abort if none
if (sel > (int)(Mntarray.GetCount()-1)) return; // Shouldn't happen, of course
FstabMountptTxt->Clear(); FstabMountptTxt->ChangeValue(Mntarray.Item(sel)->mountpt); // We have the correct struct, so shove its mountpt into the textctrl
m_Mounttype = ParseNetworkFstype(Mntarray.Item(sel)->type); // Store which type of network mount for use when dismounting
}
BEGIN_EVENT_TABLE(UnMountSambaDialog,MountPartitionDialog)
EVT_COMBOBOX(-1, UnMountSambaDialog::OnSelectionChanged)
END_EVENT_TABLE()
4pane-5.0/Bookmarks.cpp 0000644 0001750 0001750 00000173713 12675313657 011775 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Bookmarks.cpp
// Purpose: Bookmarks
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/app.h"
#include "wx/dirctrl.h"
#include "wx/treectrl.h"
#include "wx/xrc/xmlres.h"
#include "wx/config.h"
#include "Externs.h"
#include "MyGenericDirCtrl.h"
#include "Bookmarks.h"
#include "MyDirs.h"
#include "MyFrame.h"
#include "Accelerators.h"
#include "Tools.h"
// Load the icons for the treectrl
#include "bitmaps/include/ClosedFolder.xpm"
#include "bitmaps/include/bookmark.xpm"
#include "bitmaps/include/separator.xpm"
void Submenu::ClearData() // Deletes everything
{
thismenu = NULL; ID = 0;
pathname.Clear(); Label.Clear(); FullLabel.Clear(); displayorder.Clear(); // I hope that's Clear
for (int n = (int)BMstruct.GetCount(); n > 0; --n) { BookmarkStruct* item = BMstruct.Item(n-1); delete item; BMstruct.RemoveAt(n-1); }
for (size_t n = children.GetCount(); n > 0; --n) children[n-1]->ClearData(); // Recurse thru children
WX_CLEAR_ARRAY(children); // then delete them
}
void MyBookmarkDialog::OnButtonPressed(wxCommandEvent& event)
{
int id = event.GetId();
if (id == wxID_OK || id == wxID_CANCEL) EndModal(id);
if (id == XRCID("Delete")) parent->OnDeleteBookmark((wxTreeItemId)0l);
if (id == XRCID("EditBookmark")) parent->OnEditBookmark();
if (id == XRCID("NewSeparator")) parent->OnNewSeparator();
if (id == XRCID("NewFolder")) parent->OnNewFolder();
if (id == XRCID("ChangeFolderBtn")) parent->OnChangeFolderButton(); // From the AddBookmark dlg
}
BEGIN_EVENT_TABLE(MyBookmarkDialog,wxDialog)
EVT_BUTTON(-1, MyBookmarkDialog::OnButtonPressed)
END_EVENT_TABLE()
IMPLEMENT_DYNAMIC_CLASS(MyBmTree, wxTreeCtrl)
void MyBmTree::Init(Bookmarks* dad)
{
parent = dad;
wxImageList *images = new wxImageList(16, 16, true); // Make an image list containing small icons
images->Add(wxIcon(ClosedFolder_xpm));
images->Add(wxIcon(bookmark_xpm));
images->Add(wxIcon(separator_xpm));
AssignImageList(images);
if (SHOW_TREE_LINES) SetWindowStyle(GetWindowStyle() & ~wxTR_NO_LINES);
else SetWindowStyle(GetWindowStyle() | wxTR_NO_LINES);
if (!USE_DEFAULT_TREE_FONT && CHOSEN_TREE_FONT.Ok()) SetFont(CHOSEN_TREE_FONT);
SetIndent(TREE_INDENT); // Make the layout of the tree match the GenericDirCtrl sizes
SetSpacing(TREE_SPACING);
CreateAcceleratorTable(); // Accelerator tables don't work with earlier versions
}
void MyBmTree::CreateAcceleratorTable()
{
int AccelEntries[] = { SHCUT_CUT, SHCUT_COPY, SHCUT_DUP, SHCUT_PASTE, SHCUT_TRASH,
SHCUT_DELETE, SHCUT_EDIT_BOOKMARK, SHCUT_NEW, SHCUT_NEW_SEPARATOR };
const size_t shortcutNo = sizeof(AccelEntries)/sizeof(int);
MyFrame::mainframe->AccelList->CreateAcceleratorTable(this, AccelEntries, shortcutNo);
}
int MyBmTree::FindItemIndex(wxTreeItemId itemID) // Returns where within its folder the item is to be found
{
int index = 0; wxTreeItemIdValue cookie; // The point is that a folder will contain a mixture of bookmarks & subfolders. This treats both the same, as does displayorder
wxTreeItemId folderID = GetItemParent(itemID); if (!folderID.IsOk()) return -1; // Find the folder id. If invalid, forget the whole idea
wxTreeItemId id = GetFirstChild(folderID, cookie);
do
{ if (!id.IsOk()) return -1; // If invalid, there are no matching children. Flag this by returning -1
if (id == itemID) return index; // Got it. Return index of location within folder
++index; // If not, inc index & try again
id = GetNextChild(folderID, cookie);
}
while (1);
}
void MyBmTree::LoadTree(struct Submenu& MenuStruct, bool LoadFoldersOnly/*=false*/) // Load tree
{ // LoadFoldersOnly is for the folder-only version called from AddBookmark
wxString name(_("Bookmark Folders")); // Give the tree a root. It'll be hidden, but who cares
MyTreeItemData* rootdata = new MyTreeItemData(wxT("/"), name, NextID++); // Make a suitable data struct
wxTreeItemId rootId = AddRoot(name, TreeCtrlIcon_Folder, TreeCtrlIcon_Folder, (wxTreeItemData*)rootdata);
SetItemHasChildren(rootId);
AddFolder(MenuStruct, rootId, LoadFoldersOnly); // Recursively add all the data
wxTreeItemIdValue cookie; wxTreeItemId child = GetFirstChild(rootId, cookie); // Expand the first branch, which is the main Bookmarks folder
if (child.IsOk()) Expand(child);
}
bool MyBmTree::AddFolder(struct Submenu& SubMenuStruct, wxTreeItemId parent, bool LoadFoldersOnly/*=false*/, int pos /*=-1*/)
{
wxTreeItemId thisfolder; bool haschildren = false;
// First thing to do is to create the new folder
wxString foldername = SubMenuStruct.Label; // What to call this folder
MyTreeItemData* data = new MyTreeItemData(wxT(""), foldername, SubMenuStruct.ID); // Make a suitable data struct
if (pos == -1)
thisfolder = AppendItem(parent, foldername, TreeCtrlIcon_Folder, -1, data); // Append the folder to the tree. This is the standard way
else thisfolder = InsertItem(parent, pos, foldername, TreeCtrlIcon_Folder, -1, data);// Insert within parent folder. Used when method is called by Paste
if (!thisfolder.IsOk()) return false;
// OK, now fill it with its children. The order info is stored in a wxString as a binary sequence: '0' means a bookmark, '1' a submenu. Let's hope it isn't corrupted!
for (size_t n=0, bm=0, gp=0; n < SubMenuStruct.displayorder.Len(); n++) // Note that the 2 entry-types each have their own index
{ if (SubMenuStruct.displayorder[n] == '0') // This one's an entry, so add it to this folder
{ if (bm >= SubMenuStruct.BMstruct.GetCount()) continue; // (after a quick sanity check)
if (LoadFoldersOnly) continue; // (& assuming we're interested)
// Bookmarks & separators both use the same struct
MyTreeItemData* bmark = new MyTreeItemData(SubMenuStruct.BMstruct[bm]->Path, // Make a suitable data struct
SubMenuStruct.BMstruct[bm]->Label, SubMenuStruct.BMstruct[bm]->ID);
if (bmark->GetPath() ==_("Separator"))
AppendItem(thisfolder,SubMenuStruct.BMstruct[bm]->Label, TreeCtrlIcon_Sep, -1, bmark); // Add a separator to the tree
else AppendItem(thisfolder,SubMenuStruct.BMstruct[bm]->Label, TreeCtrlIcon_BM, -1, bmark); // or the bookmark
haschildren = true;
++bm;
}
else // Otherwise it must be a subfolder
{ if (gp >= SubMenuStruct.children.GetCount()) continue; // (Another sanity check)
if (AddFolder(*SubMenuStruct.children[gp], thisfolder, LoadFoldersOnly)) // Use recursion to do the work
haschildren = true;
++gp;
}
}
if (haschildren) SetItemHasChildren(thisfolder); // If any children loaded, set button
return true;
}
void MyBmTree::RecreateTree(struct Submenu& MenuStruct)
{
Delete(GetRootItem());
LoadTree(MenuStruct);
}
void MyBmTree::DeleteBookmark(wxTreeItemId id)
{
wxTreeItemId parent = GetItemParent(id); // Store the id of the parent folder
Delete(id); // Delete the thing
if (!parent.IsOk()) return;
wxTreeItemIdValue cookie;
wxTreeItemId child = GetFirstChild(parent, cookie); // Having deleted the bookmark, see if there're any other progeny
SetItemHasChildren(parent, child.IsOk()); // Set the HasChildren button according to result
}
void MyBmTree::OnBeginDrag(wxTreeEvent& event)
{
if (GetItemParent(event.GetItem()) == GetRootItem()) return; // Don't want to drag Bookmarks folder
m_draggedItem = event.GetItem();
event.Allow(); // need explicitly to allow drag
}
void MyBmTree::OnEndDrag(wxTreeEvent& event)
{
if (!m_draggedItem.IsOk()) return; // In case we pressed ESC, or got here accidentally(?)
itemSrc = m_draggedItem; itemDst = event.GetItem(); // Find what & where
if (!itemDst.IsOk()) return;
itemParent = GetItemParent(itemDst); // Find destination folder
m_draggedItem = (wxTreeItemId)0l; // Reset m_draggedItem
if (wxGetKeyState(WXK_CONTROL)) // Tell Bookmarks class what to do: either copy/paste if the ctrl key was down
{ parent->Copy(itemSrc);
parent->Paste(itemDst);
BriefLogStatus bls(_("Duplicated"));
}
else
{ parent->Move(itemSrc, itemDst); // or move if it wasn't
BriefLogStatus bls(_("Moved"));
}
}
void MyBmTree::OnCut()
{
parent->Cut((wxTreeItemId)0l);
}
void MyBmTree::OnCopy()
{
if (parent->Copy((wxTreeItemId)0l)) BriefLogStatus bls(_("Copied"));
}
void MyBmTree::OnPaste()
{
parent->Paste((wxTreeItemId)0l);
}
void MyBmTree::ShowContextMenu(wxContextMenuEvent& event)
{
wxMenu menu(wxT(""));
int Firstsection[] = { SHCUT_CUT, SHCUT_COPY, SHCUT_PASTE, SHCUT_DUP, SHCUT_DELETE, wxID_SEPARATOR };
for (size_t n=0; n < 6; ++n) MyFrame::mainframe->AccelList->AddToMenu(menu, Firstsection[n]);
MyTreeItemData* data = (MyTreeItemData*)GetItemData(GetSelection());
if (data->GetPath() !=_("Separator")) // Can't edit a separator
{ if (data->GetPath().IsEmpty()) // It's a folder
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_EDIT_BOOKMARK, _("Rename Folder"));
else MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_EDIT_BOOKMARK, _("Edit Bookmark"));
}
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_NEW_SEPARATOR, _("NewSeparator"));
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_NEW, _("NewFolder"));
wxPoint pt = ScreenToClient(wxGetMousePosition());
PopupMenu(&menu, pt.x, pt.y);
}
void MyBmTree::OnMenuEvent(wxCommandEvent& event)
{
switch(event.GetId())
{
case SHCUT_CUT: parent->Cut((wxTreeItemId)0l); return;
case SHCUT_COPY: parent->Copy((wxTreeItemId)0l); return;
case SHCUT_PASTE: parent->Paste((wxTreeItemId)0l); return;
case SHCUT_DUP: parent->Paste((wxTreeItemId)0l, false, true); return;
case SHCUT_TRASH:
case SHCUT_DELETE: parent->OnDeleteBookmark((wxTreeItemId)0l); return;
case SHCUT_EDIT_BOOKMARK: parent->OnEditBookmark(); return;
case SHCUT_NEW: parent->OnNewFolder(); return;
case SHCUT_NEW_SEPARATOR: parent->OnNewSeparator(); return;
}
event.Skip();
}
void MyBmTree::DoMenuUI(wxUpdateUIEvent& event)
{
MyTreeItemData* data;
bool separator = false;
wxTreeItemId item = GetSelection();
if (item.IsOk())
{ data = (MyTreeItemData*)GetItemData(item);
separator = (data->GetPath() ==_("Separator"));
}
bool selection = (item.IsOk() && ! (item==GetRootItem())); // If there 'isn't' a selection, item seems to default to root!
switch(event.GetId())
{ case SHCUT_CUT:
case SHCUT_DELETE: case SHCUT_TRASH:
case SHCUT_COPY:
case SHCUT_DUP: event.Enable(selection); break;
case SHCUT_PASTE: event.Enable(selection && parent->bmclip.HasData); break;
case SHCUT_EDIT_BOOKMARK: event.Enable(selection && !separator); break;
}
}
#if !defined(__WXGTK3__)
void MyBmTree::OnEraseBackground(wxEraseEvent& event) // This is only needed in gtk2 under kde and brain-dead theme-manager, but can cause a blackout in some gtk3(themes?)
{
wxClientDC* clientDC = NULL; // We may or may not get a valid dc from the event, so be prepared
if (!event.GetDC()) clientDC = new wxClientDC(this);
wxDC* dc = clientDC ? clientDC : event.GetDC();
wxColour colBg = GetBackgroundColour(); // Use the chosen background if there is one
if (!colBg.Ok()) colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
#if wxVERSION_NUMBER < 2900
dc->SetBackground(wxBrush(colBg, wxSOLID));
#else
dc->SetBackground(wxBrush(colBg, wxBRUSHSTYLE_SOLID));
#endif
dc->Clear();
if (clientDC) delete clientDC;
}
#endif
BEGIN_EVENT_TABLE(MyBmTree, wxTreeCtrl)
EVT_TREE_BEGIN_DRAG(XRCID("TREE"), MyBmTree::OnBeginDrag)
EVT_TREE_END_DRAG(XRCID("TREE"), MyBmTree::OnEndDrag)
EVT_MENU(wxID_ANY, MyBmTree::OnMenuEvent) // To process the ContextMenu choices
EVT_UPDATE_UI(wxID_ANY, MyBmTree::DoMenuUI)
EVT_CONTEXT_MENU(MyBmTree::ShowContextMenu)
#ifdef __WXX11__
EVT_RIGHT_UP(MyBmTree::OnRightUp) // EVT_CONTEXT_MENU doesn't seem to work in X11
#endif
#if !defined(__WXGTK3__)
EVT_ERASE_BACKGROUND(MyBmTree::OnEraseBackground)
#endif
END_EVENT_TABLE()
//--------------------------------------------------------------------------------------------------------------------
int Bookmarks::m_menuindex = -1;
Bookmarks::Bookmarks()
{
LoadBookmarks();
}
void Bookmarks::LoadBookmarks() // Loads bookmarks from config, & puts them in the array & the bookmarks menu
{
config = wxConfigBase::Get(); if (config==NULL) return;
if (!config->HasGroup(wxT("Bookmarks"))) SaveDefaultBookmarkDefault(); // If there's nothing in ini file, we need to save a stub
wxMenuBar* MenuBar = MyFrame::mainframe->GetMenuBar();
if (MenuBar==NULL) { wxLogError(_("Couldn't load Menubar!?")); return; }
MenuStruct.ClearData(); // Make sure the arrays are empty: they won't be for a re-load!
bookmarkID = ID_FIRST_BOOKMARK; // Similarly reset bookmarkID
MenuStruct.ID = GetNextID(); // & use it indirectly to id MenuStruct
wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Bookmarks menu index not set")); // Should have been set when the bar was loaded
wxMenu* menu = MenuBar->GetMenu(m_menuindex); // Find the menu for the group
if (!menu) { wxLogError(_("Couldn't find menu!?")); return; }
MenuStruct.pathname = wxT("/Bookmarks");
MenuStruct.FullLabel.Empty(); // Needed for re-entry during Save/Load
MenuStruct.thismenu = menu;
LoadSubgroup(MenuStruct); // Recursively load the lot
config->Read(wxT("/Misc/DefaultBookmarkFolder"), &LastSubmenuAddedto); // Load the default folder to which to addbookmarks
m_altered = false; // Reset the modified flag. Done here as we'll be dealing with changes by saving/reloading
config->SetPath(wxT("/"));
}
void Bookmarks::LoadSubgroup(struct Submenu& SubMenuStruct)
{
wxString OldPath = config->GetPath();
if (SubMenuStruct.pathname.IsEmpty()) { wxLogError(_("This Section doesn't exist in ini file!?")); return; } // Check there is a valid path to be set
if (!config->Exists(SubMenuStruct.pathname)) return; // Check that there IS a config-file group of this name. There won't be the 1st time the program loads
config->SetPath(SubMenuStruct.pathname); // Set new Path from the struct
// The plan is: Load everything into the appropriate storage. Then use the order info to add entries & submenus to the parent menu as required
wxString key, bmprefix(wxT("bm_")), labelprefix(wxT("lb_")), item; unsigned int count;
config->Read(wxT("folderlabel"), &item, _("Bookmarks")); // Load folder name: the real label, not /a, /b etc
SubMenuStruct.Label = item;
SubMenuStruct.FullLabel = SubMenuStruct.FullLabel + wxCONFIG_PATH_SEPARATOR + item; // Parent will have loaded its own FullLabel, so we just append ours
config->Read(wxT("displayorder"), &item, wxT("")); // Now load & store the displayorder
SubMenuStruct.displayorder = item;
if (item.IsEmpty()) { config->SetPath(OldPath); return; }
count = config->GetNumberOfEntries(); // First do the entries. These are stored as bookmark/label pairs. (Let's hope they STAY paired)
if (count) { count /= 2; --count; } // Check there ARE entries before adjusting!
// count equals n * bmark, n * label, + 1 * foldername + 1 * displayorder; ie 2n+2. /2 means we have n+1
for (uint n=0; n < count; n++) // We can therefore create the key for every item, from bm_0 to bm_(count-1)
{ struct BookmarkStruct* ItemStruct = new BookmarkStruct; // Make a new struct
key.Printf(wxT("%u"), n); // Make key hold 0, 1, 2 etc
config->Read(bmprefix+key, &item); // Load the bookmark
if (item.IsEmpty()) continue; // Check it exists
ItemStruct->Path = item; // & add it to the struct
config->Read(labelprefix+key, &item); // Ditto label
if (item.IsEmpty()) item = ItemStruct->Path; // If it doesn't exist, use the Path as its own label
ItemStruct->Label = item;
ItemStruct->ID = GetNextID(); // Create an id for the bookmark
SubMenuStruct.BMstruct.Add(ItemStruct); // Add this struct-let to the main struct
}
long dummy;
bool bCont = config->GetFirstGroup(item, dummy); // Now load the subgroups
while (bCont)
{ struct Submenu* child = new struct Submenu; // Create a new child struct
wxMenu* menu = new wxMenu(); // Create the submenu for this subgroup
child->thismenu = menu; // Put relevant data into the child struct
child->pathname = SubMenuStruct.pathname + wxCONFIG_PATH_SEPARATOR + item; // Append the itemname to the path. If item is 'a', child->pathname will be Bookmarks/b/a
child->FullLabel = SubMenuStruct.FullLabel; // Put our FullLabel into the child's one. The child will append its own label as it's loading
child->ID = GetNextID(); // Give it an id
SubMenuStruct.children.Add(child); // Add child to the parent struct
bCont = config->GetNextGroup(item, dummy);
}
// OK, now fill the menu. The order info is stored in a wxString as a binary sequence: '0' means a bookmark, '1' a submenu. Let's hope it isn't corrupted!
for (size_t n=0, bm=0, gp=0; n < SubMenuStruct.displayorder.Len(); n++) // Note that the 2 entry-types each have their own index
{ if (SubMenuStruct.displayorder[n] == '0') // This one's an entry, so add it to this menu
{ if (bm >= SubMenuStruct.BMstruct.GetCount()) continue; // (after a quick sanity check)
if (SubMenuStruct.BMstruct[bm]->Path ==wxT("Separator")) SubMenuStruct.thismenu->AppendSeparator(); // as a separator
else SubMenuStruct.thismenu->Append(SubMenuStruct.BMstruct[bm]->ID, // or a bookmark's label & help (its target)
SubMenuStruct.BMstruct[bm]->Label, SubMenuStruct.BMstruct[bm]->Path);
++bm;
}
else // Otherwise it must be a submenu
{ if (gp >= SubMenuStruct.children.GetCount()) continue; // (Another sanity check)
LoadSubgroup(*SubMenuStruct.children[gp]); // Use recursion to do the work
// Add the completed submenu to the parent menu
SubMenuStruct.thismenu->Append(SubMenuStruct.children[gp]->ID,
SubMenuStruct.children[gp]->Label, SubMenuStruct.children[gp]->thismenu);
++gp;
}
}
config->SetPath(OldPath); // Finally restore the original path
}
void Bookmarks::SaveBookmarks() // Saves bookmarks into config
{
config = wxConfigBase::Get(); // Find the config data (in case it's changed location recently)
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
config->DeleteGroup(wxT("/Bookmarks")); // Delete current info (otherwise renamed/deleted data would remain, & be reloaded in future)
SaveSubgroup(MenuStruct); // Do the Save by recursion
config->Write(wxT("/Misc/DefaultBookmarkFolder"), LastSubmenuAddedto); // Take the opportunity to save default folder
config->Flush();
wxMenuBar* MenuBar = MyFrame::mainframe->GetMenuBar(); // We now have to destroy the menu structure, so it can be born again
if (MenuBar==NULL) { wxLogError(_("Couldn't load Menubar!?")); return; }
wxCHECK_RET(m_menuindex > wxNOT_FOUND, wxT("Bookmarks menu index not set")); // Should have been set when the bar was loaded
wxMenu* mainmenu = MenuBar->GetMenu(m_menuindex); // Find the menu for the group
if (!mainmenu) { wxLogError(_("Couldn't find menu!?")); return; }
for (size_t count=mainmenu->GetMenuItemCount(); count > 3 ; --count) // Skip the 1st 3 items, they're Add, Manage & a Separator
mainmenu->Destroy(mainmenu->GetMenuItems().Item(count-1)->GetData()); // Destroy all the others, including submenus
config->SetPath(wxT("/"));
}
void Bookmarks::SaveSubgroup(struct Submenu& SubMenuStruct) // Does the actual saving for this (sub)group
{
wxString OldPath = config->GetPath();
config->SetPath(SubMenuStruct.pathname); // Set new Path from the struct, and creates it too
wxString key, bmprefix(wxT("bm_")), labelprefix(wxT("lb_"));
// Start by saving the bookmarks themselves
for (uint n=0; n < SubMenuStruct.BMstruct.GetCount(); n++)
{ key.Printf(wxT("%u"), n); // Make key hold 0, 1, 2 etc
config->Write(bmprefix+key, SubMenuStruct.BMstruct[n]->Path); // Save each bookmark
config->Write(labelprefix+key, SubMenuStruct.BMstruct[n]->Label); // & its label
}
key =wxT("displayorder"); config->Write(key, SubMenuStruct.displayorder); // Now store the display-order
key = wxT("folderlabel"); config->Write(key, SubMenuStruct.Label); // & the folder label
// Next the subgroups, using recursion. We recreate the pathnames here. That's because the old ones
// may have become redundant due to deletions or new groups being inserted.
size_t count = SubMenuStruct.children.GetCount();
for (size_t n=0; n < count; n++)
{ wxString name = CreateSubgroupName(n, count); // Get the next available configpath name for the child group
SubMenuStruct.children[n]->pathname = SubMenuStruct.pathname + wxCONFIG_PATH_SEPARATOR + name;
SaveSubgroup(*SubMenuStruct.children[n]);
}
config->SetPath(OldPath); // Finally restore the original path
}
void Bookmarks::SaveDefaultBookmarkDefault() // Saves a stub of Bookmarks. Without, loading isn't right
{
wxConfigBase::Get()->Write(wxT("Bookmarks/folderlabel"), _("Bookmarks"));
wxConfigBase::Get()->Write(wxT("Bookmarks/displayorder"), wxT(""));
}
void Bookmarks::AddBookmark(wxString& newpath) // Called from main menu. Newpath is the currently-selected dir- or file-pane path
{
if (newpath.IsEmpty()) return;
MyBookmarkDialog dlg(this); adddlg = &dlg;
wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe->GetActivePane(), wxT("AddBookmarkDlg"));
LoadPreviousSize(&dlg, wxT("AddBookmarkDlg"));
struct Submenu* subfolder = FindSubmenuStruct(MenuStruct, LastSubmenuAddedto); // Check the last-used folder still exists
if (subfolder==NULL) LastSubmenuAddedto = wxString(wxT("/")) + _("Bookmarks"); // If not, use 'root'
wxStaticText* folderStatic = (wxStaticText*)dlg.FindWindow(wxT("AddBookmark_Path")); // Put the default folder into static
folderStatic->SetLabel(LastSubmenuAddedto);
wxTextCtrl* bmkname = (wxTextCtrl*)dlg.FindWindow(wxT("AddBookmark_Bookmark")); // Similarly load the bookmark & label names
bmkname->ChangeValue(newpath);
wxTextCtrl* labelname = (wxTextCtrl*)dlg.FindWindow(wxT("AddBookmark_Label"));
labelname->ChangeValue(newpath);
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("AddBookmarkDlg"));
if (result != wxID_OK) return;
wxString newmark = bmkname->GetValue(); // Reload the data in case the user has altered it
wxString label = labelname->GetValue();
if (newmark.IsEmpty()) return; // We can't cope with a blank bookmark,
if (label.IsEmpty()) label=newmark; // but we can with a blank label: just use the bookmark name
subfolder = FindSubmenuStruct(MenuStruct, LastSubmenuAddedto); // Get the requested folder
if (subfolder==NULL) { wxLogError(_("Sorry, couldn't locate that folder")); return; }
struct BookmarkStruct* ItemStruct = new BookmarkStruct; // Make a new struct
ItemStruct->Path = newmark; // & add the bookmark itself
ItemStruct->Label = label; // & the label
subfolder->BMstruct.Add(ItemStruct); // Add this struct-let to the main struct
subfolder->displayorder += '0'; // and add a new book-marker to the order string
SaveBookmarks(); // and make it happen by saving/reloading everything
LoadBookmarks();
BriefLogStatus bls(_("Bookmark added"));
}
void Bookmarks::OnChangeFolderButton()
{
size_t index;
MyBookmarkDialog dlg(this); mydlg = &dlg;
wxXmlResource::Get()->LoadDialog(&dlg, adddlg, wxT("ManageBookmarks")); // Reuse the ManageBookmarks dialog
wxButton* NewSeparatorBtn = (wxButton*)dlg.FindWindow(wxT("NewSeparator"));
NewSeparatorBtn->Show(false); // This time, we don't want to add separators, so hide and remove from sizer
wxSizer* sizer = NewSeparatorBtn->GetContainingSizer();
if (sizer->Detach(NewSeparatorBtn)) NewSeparatorBtn->Destroy();
if (!LoadPreviousSize(&dlg, wxT("ManageBookmarks")))
{ wxSize size = wxGetDisplaySize(); // Get a reasonable dialog size. WE have to, because the treectrl has no idea how big it is
dlg.SetSize(2*size.x/3, 2*size.y/3);
}
dlg.CentreOnScreen();
tree = (MyBmTree*)dlg.FindWindow(wxT("TREE"));
tree->Init(this); // Do the bits that weren't done in XML, eg load images
tree->LoadTree(MenuStruct, true); // Recursively load the folder & data into the tree. True means don't load bookmarks/separators
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("ManageBookmarks"));
if (result != wxID_OK) return;
wxTreeItemId sel = tree->GetSelection();
MyTreeItemData* data = (MyTreeItemData*)tree->GetItemData(sel);
if (MenuStruct.ID == data->GetID()) // FindSubmenu doesn't test 'root' folder, so do it here
LastSubmenuAddedto = MenuStruct.FullLabel; // If matches, change the default folder to new selection
else
{ struct Submenu* menu = FindSubmenu(MenuStruct, data->GetID(), index); // otherwise recurse thru the folders to find selection
if (menu==NULL) return;
LastSubmenuAddedto = menu->children[index]->FullLabel; // Change the default folder to new selection
}
wxStaticText* folderStatic = (wxStaticText*)adddlg->FindWindow(wxT("AddBookmark_Path")); // Put the default folder into static
folderStatic->SetLabel(LastSubmenuAddedto); // Load the new default into AddBookmarks dialog
adddlg->GetSizer()->Layout(); // For some reason, if we don't do this, the new folderStatic is LeftJustified, not centred
}
struct Submenu* Bookmarks::FindSubmenuStruct(Submenu& SubMenu, wxString& name) // Uses recursion to match a submenu to the passed name
{ // NB We compare the FullLabels, eg Bookmarks/Programming/Projects, not just the 'Projects' bit
if (name == SubMenu.FullLabel) return &SubMenu; // If this is the one, return it
for (size_t n=0; n < SubMenu.children.GetCount(); n++) // If not, recurse through the submenus
{ Submenu* answer = FindSubmenuStruct(*SubMenu.children[n], name);
if (answer != NULL) return answer;
}
return (struct Submenu*)NULL; // If we're here, it failed
}
struct Submenu* Bookmarks::FindBookmark(Submenu& SubMenu, unsigned int id, size_t& index) // Locates bmark id within SubMenu (or a child submenu)
{
if (id < ID_FIRST_BOOKMARK || id >= bookmarkID) return (struct Submenu*)NULL;
for (size_t n=0; n < SubMenu.BMstruct.GetCount(); n++) // For every bookmarkstruct held by this 'menu'
if (SubMenu.BMstruct[n]->ID == id) // see if the id's match. Will work for bmarks & separators, but not for folders (which are in a different struct anyway)
{ index = n; // 'Return' the location within folder, by inserting it in reference
return &SubMenu; // Return the bookmark's folder
}
for (size_t n=0; n < SubMenu.children.GetCount(); n++) // If not, recurse through the child submenus
{ Submenu* answer = FindBookmark(*SubMenu.children[n], id, index);
if (answer != NULL) return answer;
}
return (struct Submenu*)NULL; // If we're here, it failed
}
struct Submenu* Bookmarks::FindSubmenu(Submenu& SubMenu, unsigned int id, size_t& index) // Locates submenu id within SubMenu (or a child submenu)
{
if (id < ID_FIRST_BOOKMARK || id >= bookmarkID) return (struct Submenu*)NULL;
// Note that we don't check if the passed menu is itself the target (doing so would prevent using recursion)
for (size_t n=0; n < SubMenu.children.GetCount(); n++) // For every child of this 'menu'
{ if (SubMenu.children[ n ]->ID == id) // see if the id's match
{ index = n; // If so, 'Return' the location within menu, by inserting it in reference
return &SubMenu; // Return this menu, the located one's parent
}
Submenu* answer = FindSubmenu(*SubMenu.children[n], id, index); // Failing that, recurse through each child submenu
if (answer != NULL) return answer; // Non-null answer means found
}
return (struct Submenu*)NULL; // If we're here, it failed
}
void Bookmarks::ManageBookmarks()
{
MyBookmarkDialog dlg(this); mydlg = &dlg;
wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe->GetActivePane(), wxT("ManageBookmarks")); // Load the appropriate dialog
if (!LoadPreviousSize(&dlg, wxT("ManageBookmarks")))
{ wxSize size = wxGetDisplaySize(); // Get a reasonable dialog size. WE have to, because the treectrl has no idea how big it is
dlg.SetSize(2*size.x/3, 2*size.y/3);
}
dlg.CentreOnScreen();
tree = (MyBmTree*)dlg.FindWindow(wxT("TREE"));
tree->Init(this); // Do the bits that weren't done in XML, eg load images
tree->LoadTree(MenuStruct); // Recursively load the folder & bookmark data into the tree
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("ManageBookmarks"));
if (result != wxID_OK)
{ if (m_altered)
{ wxMessageDialog dialog(MyFrame::mainframe, _("Lose all changes?"), _("Are you sure?"), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) { SaveBookmarks(); LoadBookmarks(); } // Make changes permanent by saving/reloading everything
return;
}
}
if (m_altered)
{ SaveBookmarks(); LoadBookmarks(); } // Make changes permanent by saving/reloading everything
}
void Bookmarks::OnNewFolder()
{
wxTreeItemIdValue cookie; int loc = -1, pos = -1, treepos = -1;
wxString newlabel;
wxTreeItemId folderID = tree->GetFirstChild(tree->GetRootItem(), cookie); // Get the tree Bookmarks folder, to use as default location
struct Submenu* SubMenu = &MenuStruct; // Similarly, use MenuStruct as the default menu
// Having done that, see if there's somewhere to put the thing that's more user-defined! If current-selection's a bmark, add after it. If a folder, make it its 1st child
wxTreeItemId id = tree->GetSelection();
if (id.IsOk()) WhereToInsert(id, folderID, &SubMenu, loc, pos, treepos, true); // If selection's valid, use subfunction to locate where it is in terms of tree/menu
// OK, one way or another we know where we're going to do the insertion. So get the new folder's name
wxTextEntryDialog getname(tree->GetParent(), _("What Label would you like for the new Folder?"));
do // Get the name in a loop, in case of duplication
{ if (getname.ShowModal() != wxID_OK) return;
newlabel = getname.GetValue(); // Get the desired label from the dlg
if (newlabel.IsEmpty()) return;
bool flag = false;
for (size_t n=0; n < SubMenu->children.GetCount(); n++) // Ensure it's not a duplicate with the same path
if (SubMenu->children[n]->Label == newlabel)
{ wxString msg; msg.Printf(_("Sorry, there is already a folder called %s\n Try again?"), newlabel.c_str());
wxMessageDialog dialog(tree->GetParent(), msg, _("Oops!"), wxYES_NO);
if (dialog.ShowModal() != wxID_YES) return;
else { flag = true; continue; }
}
if (flag) continue;
break; // If we're here, no match so all's well
}
while (1);
// Now do the construction
struct Submenu* child = new struct Submenu; // Create a new child struct
// *Don't* create a new menu: it won't be used (as we're about to Save/LoadBookmarks), and it'll cause a memory leak
child->Label = newlabel;
child->FullLabel = SubMenu->FullLabel + wxCONFIG_PATH_SEPARATOR + newlabel;
child->ID = GetNextID(); // Give it an id
MyTreeItemData* newdata = new MyTreeItemData(wxT(""), newlabel, child->ID); // Make a new TreeItemData
// There are now 3 possibilities. We might be appending throughout, flagged by everything == -1
// Otherwise, we might be inserting throughout; or we might be appending to BMstruct, yet inserting into the tree (after last bm but before a subfolder)
if (treepos == -1) // If treepos is -1, so must loc etc be. So do a global append
{
SubMenu->children.Add(child); // Append the struct to the main struct
SubMenu->displayorder += '1'; // Append to the order string
tree->AppendItem(folderID, newlabel, TreeCtrlIcon_Folder, -1, newdata); // Append to the tree
}
else
{ tree->InsertItem(folderID, treepos, newlabel, TreeCtrlIcon_Folder, -1, newdata); // Otherwise Insert into tree. InsertBefore treepos position
SubMenu->displayorder.insert(pos+1, 1, '1'); // and insert a new marker into the order string. This is InsertAfter!
if (loc == -1) // If treepos was OK, but loc -1, this means putting item at end of bmarks, but before a subfolder
SubMenu->children.Add(child); // So append the struct, but use the inserted displayorder from 2 lines above
else SubMenu->children.Insert(child, loc); // If loc was OK too, do a standard InsertBefore
}
m_altered = true; // Set the modified flag
BriefLogStatus bls(_("Folder added"));
}
void Bookmarks::OnNewSeparator()
{
wxTreeItemIdValue cookie; int loc = -1, pos = -1, treepos = -1;
wxTreeItemId folderID = tree->GetFirstChild(tree->GetRootItem(), cookie); // Get the tree Bookmarks folder, to use as default location
struct Submenu* SubMenu = &MenuStruct; // Similarly, use MenuStruct as the default menu
// Having done that, see if there's somewhere to put the thing that's more user-defined! If current-selection's a bmark, add after it. If a folder, make it its 1st child
wxTreeItemId id = tree->GetSelection();
if (id.IsOk()) WhereToInsert(id, folderID, &SubMenu, loc, pos, treepos, false); // If selection is valid, use subfunction to locate where it is in terms of tree/menu
// OK, one way or another we know where we're going to do the insertion. So do the construction
struct BookmarkStruct* ItemStruct = new BookmarkStruct; // Make a new struct
ItemStruct->Path = ItemStruct->Label = _("Separator");
ItemStruct->ID = GetNextID();
MyTreeItemData* newdata = new MyTreeItemData(ItemStruct->Path, ItemStruct->Label, ItemStruct->ID);
// There are now 3 possibilities. We might be appending throughout, flagged by everything == -1
// Otherwise, we might be inserting throughout; or we might be appending to BMstruct, yet inserting into the tree (after last bm but before a subfolder)
if (treepos == -1) // If treepos is -1, so must loc etc be. So do a global append
{
SubMenu->BMstruct.Add(ItemStruct); // Append the struct-let to the main struct
SubMenu->displayorder += wxT('0'); // Append to the order string
tree->AppendItem(folderID, ItemStruct->Label, TreeCtrlIcon_Sep, -1, newdata); // Append to the tree
}
else
{ tree->InsertItem(folderID, treepos, ItemStruct->Label, TreeCtrlIcon_Sep, -1, newdata); // Otherwise Insert into tree. InsertBefore treepos position
SubMenu->displayorder.insert(pos, 1, wxT('0')); // and insert a new marker into the order string. This is InsertAfter!
if (loc == -1) // If treepos was OK, but loc -1, this means putting item at end of bmarks, but before a subfolder
SubMenu->BMstruct.Add(ItemStruct); // So append the struct-let, but use the inserted displayorder from 2 lines above
else SubMenu->BMstruct.Insert(ItemStruct, loc); // If loc was OK too, do a standard InsertBefore
}
m_altered = true; // Set the modified flag
BriefLogStatus bls(_("Separator added"));
}
void Bookmarks::Move(wxTreeItemId itemSrc, wxTreeItemId itemDst)
{
if (!(itemSrc.IsOk() && itemDst.IsOk())) return;
if (itemSrc == itemDst) return; // Don't want to be pasting onto ourselves, especially followed by Delete!
bool samefolder = false;
if (tree->GetItemParent(itemSrc) == tree->GetItemParent(itemDst)) // Are we moving within a folder?
samefolder = true;
else
{ if (tree->GetItemParent(itemSrc) == itemDst)
{ MyTreeItemData* data = (MyTreeItemData*)tree->GetItemData(itemDst); // Check whether itemDst is a folder
if (data->GetPath().IsEmpty()) samefolder = true; // If so, we ARE still moving within same folder: moving to its beginning
}
}
// Move by Copy->Paste->DeleteOriginal. The reason for this is, were we to Cut->Paste and paste fails, we'd've lost the source data.
// However if we Copy->Paste within a folder, we've got to turn off duplicate-testing (which will always be +ve). No need anyway, there can't be a real duplicate.
if (Copy(itemSrc)) // If copy works, paste. Otherwise don't
if (Paste(itemDst, samefolder)) // If paste worked, delete. Otherwise don't
OnDeleteBookmark(itemSrc); // Doing it this way means that, if Paste is aborted because of duplication, the source isn't lost
}
bool Bookmarks::Cut(wxTreeItemId item/*=null*/)
{
if (Copy(item)) // If copy works, delete. Otherwise don't
if (OnDeleteBookmark(item)) return true;
return false;
}
bool Bookmarks::Copy(wxTreeItemId item/*=null*/) // Fill local clipboard, with item if it exists, else with Selection
{
size_t index=0;
if (!item.IsOk()) item = tree->GetSelection(); // If we weren't passed a valid item, use selection
if (!item.IsOk()) return false; // Either way, check validity
bmclip.Clear(); // Clear the clipboard
// Load everything into the local clipboard, bmclip
MyTreeItemData* data = (MyTreeItemData*)tree->GetItemData(item);
bmclip.data = *data; // Store the TreeItemData
if (bmclip.data.GetPath().IsEmpty()) // Empty path, so it must be a folder
{ struct Submenu* parentmenu = FindSubmenu(MenuStruct, data->GetID(), index); // Find the parent folder. Index will be loaded with position within it
if (parentmenu==NULL) return false;
bmclip.Menu = *parentmenu->children[ index ]; // Store the folder data
bmclip.IsFolder = true;
bmclip.FolderHasChildren = tree->ItemHasChildren(item); // Need to store if has children, since paste will need to set button accordingly
}
else // Otherwise it must be a bookmark or separator. They're dealt with the same
{ struct Submenu* parentmenu = FindBookmark(MenuStruct, data->GetID(), index); // Find the parent folder. Index will be loaded with position within it
if (parentmenu==NULL) return false;
bmclip.BMarray.Add (new BookmarkStruct(*parentmenu->BMstruct[ index ])); // Store the bookmark
bmclip.IsFolder = false;
}
bmclip.HasData = true; return true;
}
void Bookmarks::AdjustFolderID(struct Submenu& SubMenu) // Used for folder within clipboard. If we don't adjust IDs, they'll be duplication & crashes
{
SubMenu.ID = GetNextID();
for (size_t n=0; n < SubMenu.children.GetCount(); n++) // Redo any child folders by recursion
AdjustFolderID(*SubMenu.children[n]);
}
bool Bookmarks::Paste(wxTreeItemId item/*=null*/, bool NoDupCheck/*=false*/, bool duplicating/*=false*/) // Used by both Ctrl-V and DnD, and Dup. DnD will provide item for drop location
{
int loc = -1, pos = -1, treepos = -1;
struct Submenu* SubMenu; wxTreeItemId folderID; bool IsFolder;
MyTreeItemData *olddata=NULL, *newdata; struct Submenu* child; struct BookmarkStruct* ItemStruct; wxString newname;
if (!item.IsOk()) // If no item was passed, it must be a Dup, or a genuine Paste
{ if (!(duplicating || bmclip.HasData)) return false; // Check there's something TO paste, if we're trying to
item = tree->GetSelection(); // If we weren't passed a valid item, use selection
}
if (!item.IsOk()) return false;
if (duplicating)
{ olddata = (MyTreeItemData*)tree->GetItemData(item);
IsFolder = olddata->GetPath().IsEmpty();
}
else IsFolder = bmclip.IsFolder;
WhereToInsert(item, folderID, &SubMenu, loc, pos, treepos, IsFolder, duplicating); // Use subfunction to locate where to paste in terms of tree & menu
if (SubMenu==NULL) return false; // If SubMenu is null, something went wrong so abort. There isn't any sensible default here
if (duplicating || (IsFolder && ! NoDupCheck)) // If a folder (& we're not just moving it within it parent), check for duplicate Label. If BM/Sep, don't: they CAN be duplicates
{ bool clash = false;
if (!duplicating)
for (size_t n=0; n < SubMenu->children.GetCount(); n++) // Ensure there's not a duplicate in the same path
if (SubMenu->children[n]->Label == bmclip.Menu.Label)
{ wxString msg; msg.Printf(_("Sorry, there is already a folder called %s\n Change the name?"), bmclip.Menu.Label.c_str());
wxMessageDialog dialog(tree->GetParent(), msg, _("Oops?"), wxYES_NO);
if (dialog.ShowModal() != wxID_YES) return false;
else { clash = true; break; }
}
if (clash || (duplicating && IsFolder))
{ wxString msg; msg = duplicating ? _("What would you like to call the Folder?") : _("What Label would you like for the Folder?");
wxTextEntryDialog getname(tree->GetParent(), msg);
do // Get the name in a loop, in case of duplication
{ if (getname.ShowModal() != wxID_OK) return false;
newname = getname.GetValue(); // Get the desired label from the dlg
if (newname.IsEmpty()) return false;
bool flag = false;
for (size_t n=0; n < SubMenu->children.GetCount(); n++) // Ensure it's not a duplicate with the same path
if (SubMenu->children[n]->Label == newname)
{ wxString msg; msg.Printf(_("Sorry, there is already a folder called %s\n Change the name?"), newname.c_str());
wxMessageDialog dialog(tree->GetParent(), msg, _("Oops"), wxYES_NO);
if (dialog.ShowModal() != wxID_YES) return false;
else { flag = true; continue; }
}
if (flag) continue;
if (!duplicating) bmclip.Menu.Label = newname; // If we're here, no clash so all's well
break;
}
while (1);
}
}
// Now do the construction
if (duplicating)
{ size_t index=0;
if (IsFolder)
{ struct Submenu* parentmenu = FindSubmenu(MenuStruct, olddata->GetID(), index); // Find the parent folder. Index will be loaded with position within it
if (parentmenu==NULL) return false;
child = new struct Submenu(*parentmenu->children[ index ]); // Create a new child struct using copy ctor
// *Don't* create a new menu: it won't be used (as we're about to Save/LoadBookmarks), and it'll cause a memory leak
child->ID = GetNextID(); // Give it a unique id, don't use the original one (lest multiple pastes?)
child->Label = newname;
}
else
{ struct Submenu* parentmenu = FindBookmark(MenuStruct, olddata->GetID(), index); // Find the parent folder. Index will be loaded with position within it
if (parentmenu==NULL) return false;
ItemStruct = new BookmarkStruct(*parentmenu->BMstruct[ index ]); // Make a new struct using copy ctor
ItemStruct->ID = GetNextID(); // Give it a unique id, don't use the original one (lest multiple pastes?)
newdata = new MyTreeItemData(ItemStruct->Path, ItemStruct->Label, ItemStruct->ID);
}
}
else
{ if (IsFolder)
{ child = new struct Submenu(bmclip.Menu); // Create a new child struct using copy ctor
// *Don't* create a new menu: it won't be used (as we're about to Save/LoadBookmarks), and it'll cause a memory leak
child->ID = GetNextID(); // Give it a unique id, don't use the original one (lest multiple pastes?)
}
else
{ if (bmclip.BMarray.IsEmpty()) return false;
ItemStruct = new BookmarkStruct(*bmclip.BMarray[0]);// Make a new struct using copy ctor
ItemStruct->ID = GetNextID(); // Give it a unique id, don't use the original one (lest multiple pastes?)
newdata = new MyTreeItemData(ItemStruct->Path, ItemStruct->Label, ItemStruct->ID);
}
}
// There are now 3 possibilities. We might be appending throughout, flagged by everything == -1
// Otherwise, we might be inserting throughout; or we might be appending to BMstruct, yet inserting into the tree (after last bm but before a subfolder)
if (IsFolder)
{ child->FullLabel = SubMenu->FullLabel + wxCONFIG_PATH_SEPARATOR + child->Label; // Create the altered FullLabel
AdjustFolderID(*child); // Redo the IDs of the menu+children, to avoid having 2 menus with identical IDs
// NB We do this here, not in Copy(), since this copes with multiple Pastes
if (treepos == -1) // If treepos is -1, so must loc etc be. So do a global append
{ SubMenu->children.Add(child); // Append the struct to the main struct
SubMenu->displayorder += '1'; // Append to the order string
if (!tree->AddFolder(*child, folderID)) return false; // Append to the tree, recursively if there are children
}
else
{ if (!tree->AddFolder(*child, folderID, false, treepos)) return false; // Insert into the tree, recursively if there are children. InsertBefore treepos position
SubMenu->displayorder.insert(pos+1, 1, '1'); // and insert a new marker into the order string. This is InsertAfter!
if (loc == -1) // If treepos was OK, but loc -1, this means putting item at end of bmarks, but before a subfolder
SubMenu->children.Add(child); // So append the struct, but use the inserted displayorder from 2 lines above
else SubMenu->children.Insert(child, loc); // If loc was OK too, do a standard InsertBefore
}
}
else
{ if (treepos == -1) // If treepos is -1, so must loc etc be. So do a global append
{ SubMenu->BMstruct.Add(ItemStruct); // Append the struct-let to the main struct
SubMenu->displayorder += '0'; // Append to the order string
if (newdata->GetPath() ==_("Separator"))
tree->AppendItem(folderID, ItemStruct->Label, TreeCtrlIcon_Sep, -1, newdata); // Append Separator to the tree
else tree->AppendItem(folderID, ItemStruct->Label, TreeCtrlIcon_BM, -1, newdata); // or the bookmark
}
else
{ if (newdata->GetPath() ==_("Separator"))
tree->InsertItem(folderID, treepos, ItemStruct->Label, TreeCtrlIcon_Sep, -1, newdata);// Otherwise Insert into tree. InsertBefore treepos position
else tree->InsertItem(folderID, treepos, ItemStruct->Label, TreeCtrlIcon_BM, -1, newdata);
SubMenu->displayorder.insert(pos, 1, '0'); // and insert a new marker into the order string. This is InsertAfter!
if (loc == -1) // If treepos was OK, but loc -1, this means putting item at end of bmarks, but before a subfolder
SubMenu->BMstruct.Add(ItemStruct); // So append the struct-let, but use the inserted displayorder from 2 lines above
else SubMenu->BMstruct.Insert(ItemStruct, loc); // If loc was OK too, do a standard InsertBefore
}
}
if (duplicating) BriefLogStatus bls(_("Duplicated"));
else BriefLogStatus bls(_("Pasted"));
m_altered = true; return true; // Set the modified flag
}
void Bookmarks::WhereToInsert(wxTreeItemId id, wxTreeItemId& folderID, struct Submenu** SubMenu, int& loc, int& pos, int& treepos, bool InsertingFolder, bool Duplicating/*=false*/)
{
size_t index;
MyTreeItemData* data = (MyTreeItemData*)tree->GetItemData(id); // id is the treeitem to insert after. It may be a folder or a BMark
if (data->GetPath().IsEmpty()) // Empty path, so id must be a folder
{ if (InsertingFolder && Duplicating) // If we're duping a folder, make it a sibling, not a child
{ wxTreeItemId parentfolder = tree->GetItemParent(id); // Fnd its parent folder
if (!parentfolder.IsOk()) return; // If not OK, we're presumably trying to duplicate root
folderID = parentfolder;
data = (MyTreeItemData*)tree->GetItemData(folderID);
}
else folderID = id; // Otherwise we presumably want to insert as the 1st item of the folder. So use it as parent-folder
struct Submenu* menu; // Now try to locate the corresponding submenu
if (MenuStruct.ID == data->GetID()) // We have to check topmost menu here, FindSubmenu doesn't
{ menu = &MenuStruct; *SubMenu = &MenuStruct; } // If we're inserting onto "Bookmarks", fill the structs accordingly
else
{ menu = FindSubmenu(MenuStruct, data->GetID(), index); // If it isn't topmost menu, use FindSubmenu NB returns parent
if (menu != NULL) *SubMenu = menu->children[index]; // If not null, use index to get location within its parent array
}
if (menu != NULL) // If we're still on target
{ wxTreeItemIdValue cookie; wxTreeItemId child = tree->GetFirstChild(folderID, cookie); // Check to see if the folder already has children
if (child.IsOk()) { loc = 0; pos = 0; treepos = 0; } // If so, use loc = treepos = 0 to insert at beginning
} // Otherwise loc & treepos remain -1 to append
}
else
{ wxTreeItemId parentfolder = tree->GetItemParent(id); // If id isn't a folder, find its parent folder
if (parentfolder.IsOk())
{ folderID = parentfolder; // If parentfolder is valid, use this as folder into which to insert
struct Submenu* menu = FindBookmark(MenuStruct, data->GetID(), index); // Now try to locate the submenu id's located in
if (menu != NULL) // If not null, use it
{ *SubMenu = menu;
if (InsertingFolder)
{ // We now need to find the location within the SubMenu.children struct after which to insert
// We can infer it by subtracting index, which ignores folders, from pos, the bmark+folder counter
pos = tree->FindItemIndex(id); // Get the pos within tree for the insertion
loc = pos - index;
if (loc == (int)menu->children.GetCount()) loc = -1; // If loc == the final entry, we append instead, flagged by -1 (the default)
}
else // Index gives us the location within menu after which to insert
{ if ((index + 1) < menu->BMstruct.GetCount()) // If index is the final entry, we append instead, flagged by -1 (the default)
loc = index + 1; // We use index+1, as we'll be InsertingBefore
pos = tree->FindItemIndex(id); // Finally, get the pos within tree for the insertion, to use on displayorder
}
if ((pos != -1) && ((pos+1) < (int)tree->GetChildrenCount(folderID, false))) // Similar reasoning as above. -1 means it failed
treepos = pos + 1; // Position on tree, which needs to be +1 as it's InsertingBefore too.
}
}
}
}
void Bookmarks::OnEditBookmark()
{
wxString newlabel; size_t index;
struct Submenu* SubMenu = &MenuStruct;
wxTreeItemId id = tree->GetSelection();
if (!id.IsOk()) return; // Check there IS a selection to edit
MyTreeItemData* data = (MyTreeItemData*)tree->GetItemData(id);
if (data->GetLabel().IsSameAs(_("Separator"))) return; // Not a lot to edit in a separator!
if (data->GetPath().IsEmpty()) // Empty path, so Selection must be a folder
{ struct Submenu* menu; // So try to locate the corresponding submenu
if (MenuStruct.ID == data->GetID()) menu = &MenuStruct; // We have to check topmost menu here, FindSubmenu doesn't
else
{ menu = FindSubmenu(MenuStruct, data->GetID(), index); // If it isn't topmost menu, use FindSubmenu NB returns parent
if (menu != NULL) SubMenu = menu->children[index]; // If not null, use index to get location within its parent array
}
// Now we know who we are, get new label from user
wxTextEntryDialog getname(tree->GetParent(), _("Alter the Folder Label below"));
do // Get the name in a loop, in case of duplication
{ getname.SetValue(data->GetLabel());
if (getname.ShowModal() != wxID_OK) return;
newlabel = getname.GetValue(); // Get the desired label from the dlg
if (newlabel.IsEmpty()) return;
if (newlabel == data->GetLabel()) return; // If no change, abort
bool flag = false;
for (size_t n=0; n < menu->children.GetCount(); n++) // Ensure it's not a duplicate with the same path
if (menu->children[n]->Label == newlabel)
{ wxString msg; msg.Printf(_("Sorry, there is already a folder called %s\n Try again?"), newlabel.c_str());
wxMessageDialog dialog(tree->GetParent(), msg, _("Are you sure?"), wxYES_NO);
if (dialog.ShowModal() != wxID_YES) return;
else { flag = true; continue; }
}
if (flag) continue;
data->SetLabel(newlabel); SubMenu->Label = newlabel; // If we're here, no match so all's well
SubMenu->FullLabel = SubMenu->FullLabel.BeforeLast(wxCONFIG_PATH_SEPARATOR); // Chop off the end of the old FullLabel
SubMenu->FullLabel = SubMenu->FullLabel + wxCONFIG_PATH_SEPARATOR + newlabel; // & replace
tree->SetItemText(id, newlabel);
m_altered = true; return;
}
while (1);
}
// If we're here, it must be a bookmark
SubMenu = FindBookmark(MenuStruct, data->GetID(), index); // Get the parent menu
if (SubMenu==NULL) return;
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, tree->GetParent(), wxT("EditBookmarkDlg"));
LoadPreviousSize(&dlg, wxT("EditBookmarkDlg"));
wxTextCtrl* pathname = (wxTextCtrl*)dlg.FindWindow(wxT("EditPath")); // Load the current path & label
pathname->ChangeValue(data->GetPath());
wxTextCtrl* labelname = (wxTextCtrl*)dlg.FindWindow(wxT("EditLabel"));
labelname->ChangeValue(data->GetLabel());
int result = dlg.ShowModal();
SaveCurrentSize(&dlg, wxT("EditBookmarkDlg"));
if (result != wxID_OK) return;
if (pathname->GetValue().IsEmpty()) return; // Not allowed a blank path
if (pathname->GetValue() != data->GetPath()) // If the path has been altered
{ data->SetPath(pathname->GetValue()); // Update the data stores
SubMenu->BMstruct[index]->Path = pathname->GetValue();
m_altered = true;
}
newlabel = labelname->GetValue();
if (newlabel != data->GetLabel()) // If the label has been altered
{ if (newlabel.IsEmpty())
newlabel = data->GetPath(); // If for some reason the user has deleted the label, use the path as a label
data->SetLabel(newlabel);
SubMenu->BMstruct[index]->Label = newlabel;
tree->SetItemText(id, newlabel);
m_altered = true;
}
}
bool Bookmarks::OnDeleteBookmark(wxTreeItemId id/*=null*/)
{
bool DnD=false; size_t index=0; int pos; struct Submenu* submen;
if (!id.IsOk()) id = tree->GetSelection(); // If we weren't passed a valid item, use selection
else DnD = true; // If we were, flag whether it's a DragnDrop situation or from Cut
if (!id.IsOk()) return false; // Either way, check validity
MyTreeItemData* data = (MyTreeItemData*)tree->GetItemData(id);
if (data->GetID() == MenuStruct.ID) // Ensure we're not trying to delete the lot
{ wxString msg;
if (DnD) msg = _("Sorry, you're not allowed to move the main folder");
else msg = _("Sorry, you're not allowed to delete the main folder");
wxMessageDialog dialog(tree->GetParent(), msg, _("Tsk tsk!"), wxICON_EXCLAMATION);
dialog.ShowModal(); return false;
}
if (data->GetPath().IsEmpty()) // Empty path, so it must be a folder
{ if (!DnD) // Don't ask permission if from DnD or Cut
{ wxString msg; msg.Printf(_("Delete folder %s and all its contents?"), data->GetLabel().c_str()); // Check we really mean it
wxMessageDialog dialog(tree->GetParent(), msg, _("Are you sure?"), wxYES_NO | wxICON_QUESTION);
int ans = dialog.ShowModal(); if (ans != wxID_YES) return false;
}
submen = FindSubmenu(MenuStruct, data->GetID(), index); // Find the parent folder. Index is passed by reference, & will be loaded with position within it
if (submen==NULL) return false;
pos = tree->FindItemIndex(id); if (pos == -1) return false; // Find the index of the item within folder. It'll be identical to that within displayorder. -1 flags failure
Submenu* item = submen->children.Item(index); delete item;
submen->children.RemoveAt(index); // Delete the folder & contents
if (!DnD) BriefLogStatus bls(_("Folder deleted"));
}
else // Otherwise it must be a bookmark or separator. They're dealt with the same
{
submen = FindBookmark(MenuStruct, data->GetID(), index); // Find the parent folder. Index is passed by reference, & will be loaded with position within it
if (submen==NULL) return false;
pos = tree->FindItemIndex(id); if (pos == -1) return false; // Find index of the item within folder. It'll be identical to that within displayorder. -1 flags failure
BookmarkStruct* item = submen->BMstruct.Item(index); delete item;
submen->BMstruct.RemoveAt(index); // Delete the bookmark
if (!DnD) BriefLogStatus bls(_("Bookmark deleted"));
}
submen->displayorder.Remove(pos, 1); // Delete item's position
tree->DeleteBookmark(id); // Remove from the tree
m_altered = true; // Set the modified flag
return true;
}
wxString Bookmarks::RetrieveBookmark(unsigned int id) // Returns the path of a previously-saved bookmark
{
if (id < ID_FIRST_BOOKMARK || id >= bookmarkID) return wxEmptyString;
return FindPathForID(MenuStruct, id);
}
wxString Bookmarks::FindPathForID(Submenu& SubMenu, unsigned int id) // Recursively searches each menu for a bookmark with the requested id
{
wxString answer;
for (size_t n=0; n < SubMenu.BMstruct.GetCount(); n++) // For every bookmarkstruct held by this 'menu'
if (SubMenu.BMstruct[ n ]->ID == id) // If this is the one,
return SubMenu.BMstruct[ n ]->Path; // return the bookmark path
for (size_t n=0; n < SubMenu.children.GetCount(); n++) // No success, so recurse thru the submenus
if ((answer = FindPathForID(*SubMenu.children[n], id)) != wxT(""))
return answer; // A non-empty string means success
return wxEmptyString; // Sorry, no one at home
}
4pane-5.0/MyNotebook.cpp 0000644 0001750 0001750 00000057571 13077104403 012116 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: MyNotebook.cpp
// Purpose: Notebook stuff
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#if defined (__WXGTK__)
#include
#endif
#include "wx/notebook.h"
#include "Configure.h"
#include "Misc.h"
#include "Redo.h"
#include "Devices.h"
#include "Bookmarks.h"
#include "Accelerators.h"
#include "MyFrame.h"
#include "MyGenericDirCtrl.h"
#include "MyDirs.h"
#include "MyFiles.h"
#include "MyNotebook.h"
MyNotebook::MyNotebook(wxSplitterWindow *main, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
: wxNotebook((wxWindow*)main, id, pos, size, style)
{
nextpageno = 0;
TemplateNoThatsLoaded = -1;
#if defined (__WXGTK__)
#if !defined (__WXGTK3__) // I find the default tab-size too clunky. Removing the border improves them imho
g_object_set (m_widget, "tab_vborder", (guint)false, NULL); // In >=2.7.0 gtk_notebook_set_tab_vborder is deprecated and so not available :(
#endif
#endif
BookmarkMan = new Bookmarks; // Set up bookmarks
DeleteLocation = new DirectoryForDeletions; // Set up the Deleted and Trash subdirs
UnRedoMan = new UnRedoManager; // The sole instance of UnRedoManager
UnRedoManager::frame = MyFrame::mainframe; // Tell UnRedoManager's (static) pointer where it is
DeviceMan = new DeviceAndMountManager; // Organises things to do with mounting partitions & devices
LaunchFromMenu = new LaunchMiscTools; // Launches user-defined external programs & scripts from the Tools menu
}
MyNotebook::~MyNotebook()
{
MyFrame::mainframe->SelectionAvailable = false; // We don't want any change-of-focus events causing a new write to the command line!
delete LaunchFromMenu;
delete DeviceMan;
delete UnRedoMan;
delete DeleteLocation;
delete BookmarkMan;
}
void MyNotebook::LoadTabs(int TemplateNo /*=-1*/, const wxString& startdir0 /*=""*/, const wxString& startdir1 /*=""*/) // Load the default tabs, or if TemplateNo > -1, load that tab template
{
wxConfigBase* config = wxConfigBase::Get(); if (config==NULL) return;
wxString Path;
if (TemplateNo >= 0)
{ Path.Printf(wxT("/Tabs/Template_%c/"), wxT('a') + TemplateNo); // If we're loading a template, adjust path approprately
TemplateNoThatsLoaded = TemplateNo; // and optimistically store the template's no
}
else Path = wxT("/Tabs/");
long selectedpage = 0;
if (TemplateNo == -1) // If we're not loading a tab template, load these user prefs. If it is, don't or it'll override
{ config->Read(Path + wxT("alwaysshowtabs"), &AlwaysShowTabs, 0);
config->Read(Path + wxT("equalsizedtabs"), &EqualSizedTabs, 1);
config->Read(Path + wxT("showcommandline"), &showcommandline, 0);
config->Read(Path + wxT("showterminal"), &showterminal, 0);
config->Read(Path + wxT("saveonexit"), &saveonexit, 0);
config->Read(Path + wxT("selectedpage"), &selectedpage, 0);
config->Read(wxT("/Tabs/NoOfExistingTemplates"), &NoOfExistingTemplates, 0);
}
long numberoftabs, tabdatano; // Now find the no of tab pages preferred, & load each with its correct tabdata. Default is 1, using tabdata 'a'
config->Read(Path + wxT("numberoftabs"), &numberoftabs, 1);
#if defined (__WXGTK__)
ShowTabs(numberoftabs > 1 || AlwaysShowTabs); // Show the tab of each page if >1, or if user always wants to
EqualWidthTabs(EqualSizedTabs); // Similarly equalise the tab-head width if requested
#endif
// We MUST Show the frame before creating the tabs
// If not, & there's >1 tab loaded, the window construction gets confused & wxFindWindowAtPointer fails
MyFrame::mainframe->Show();
wxString key, prefix(wxT("TabdataForPage_"));
for (int n=0; n < numberoftabs; ++n) // Create the key for every page, from page_a to page_('a'+numberoftabs-1)
{ key.Printf(wxT("%c"), wxT('a') + n); // Make key hold a, b, c etc
config->Read(Path+prefix+key, &tabdatano, 0); // Load the flavour of tabdata to use for this page
if (!n) CreateTab(tabdatano, -1, TemplateNo, wxEmptyString, startdir0, startdir1); // Create this tab. Any user-provided startdir override should only be for page 0
else CreateTab(tabdatano, -1, TemplateNo);
}
size_t tab;
if ((size_t)selectedpage < GetPageCount()) SetSelection(selectedpage); // Set the tab selection
if (GetPageCount())
MyFrame::mainframe->SelectionAvailable = true; // Flags, eg to updateUI, that it's safe to use GetActivePane, because there's at least one pane
for (tab=0; tab < GetPageCount(); ++tab) // We can now safely unhide the tabs
GetPage(tab)->Show();
#if defined (__WXX11__)
size_t count = GetPageCount(); // X11 has a strange bug, that means that the initially-selected page doesn't 'take'
if (count > 1) // Instead you get the last never-selected tab's contents visible in each of the other tabs, until you change downwards
{ for (size_t n=0; n < count; ++n) SetSelection(n); // So Select every one first, then Select the correct one. This has to be done *after* the tabs are Show()n
SetSelection(selectedpage);
}
#endif //WXX11
MyFrame::mainframe->GetMenuBar()->Check(SHCUT_SAVETABS_ONEXIT, saveonexit); // Set the menu item check according to bool
DoLoadTemplateMenu(); // Get the correct no of loadable templates listed on the menu
}
void MyNotebook::DoLoadTemplateMenu() // Get the correct no of loadable templates listed on the menu
{
// Find the LoadTemplate menu
wxMenuItem* p_menuitem = MyFrame::mainframe->GetMenuBar()->FindItem(LoadTabTemplateMenu);
wxMenu* submenu = p_menuitem->GetSubMenu(); // Use this menuitem ptr to get ptr to submenu itself
wxASSERT(submenu);
for (size_t count=submenu->GetMenuItemCount(); count > 0; --count) // Get rid of all the entries in this menu, so that we don't duplicate them
submenu->Destroy(submenu->GetMenuItems().Item(count-1)->GetData());
wxConfigBase* config = wxConfigBase::Get();
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
NoOfExistingTemplates = wxMin(NoOfExistingTemplates, MAX_NO_TABS); // Sanity check, in case config has become corrupted
for (int n=0; n < NoOfExistingTemplates; ++n)
{ wxString Path; Path.Printf(wxT("/Tabs/Template_%c/title"), wxT('a') + n); // Get path to this template
wxString title; title.Printf(wxT("Template %c"), wxT('a') + n); // Make a default title to display
config->Read(Path, &title); // Overwrite with the title that was previously chosen, if it exists
submenu->Append(SHCUT_TABTEMPLATERANGE_START + n, title); // Append the title to the menu
}
}
void MyNotebook::DeleteTemplate() // Delete an existing template
{
if (!NoOfExistingTemplates) return;
wxConfigBase* config = wxConfigBase::Get();
if (config==NULL) { wxLogError(_("Couldn't load configuration!?")); return; }
wxArrayString Choices;
for (int n=0; n < NoOfExistingTemplates; ++n)
{ wxString Path; Path.Printf(wxT("/Tabs/Template_%c/title"), wxT('a') + n); // Get path to this template
wxString title; title.Printf(wxT("Template %c"), wxT('a') + n); // Make a default title to display
config->Read(Path, &title); // Overwrite with the title that was previously chosen, if it exists
Choices.Add(title); // Add the title to the stringarray
}
int ans = wxGetSingleChoiceIndex(_("Which Template do you wish to Delete?"),_("Delete Template"), Choices);
if (ans == wxID_CANCEL) return;
if (!config->Exists( wxString::Format(wxT("/Tabs/Template_%c"), wxT('a') + ans) ) ) return;
config->DeleteGroup( wxString::Format(wxT("/Tabs/Template_%c"), wxT('a') + ans) );
// if necessary, renumber to compensate for the deleted template
config->SetPath(wxT("/Tabs"));
for (int n=ans+1; n < NoOfExistingTemplates; ++n)
config->RenameGroup( wxString::Format(wxT("Template_%c"), wxT('a') + n), wxString::Format(wxT("Template_%c"), wxT('a') + n-1) );
if (TemplateNoThatsLoaded >= 0)
{ if (TemplateNoThatsLoaded > ans) TemplateNoThatsLoaded--; // We've deleted a lower one, so we need to dec the currently-loaded marker to compensate
else if (TemplateNoThatsLoaded == ans)
TemplateNoThatsLoaded = -1; // If we've deleted the current-loaded template that's equivalent to saying there's none loaded
}
config->SetPath(wxT("/"));
config->Write(wxT("/Tabs/NoOfExistingTemplates"), --NoOfExistingTemplates); // Dec & save template index
config->Flush();
DoLoadTemplateMenu(); // Update loadable templates listed on the menu
BriefMessageBox msg(wxT("Template Deleted"), AUTOCLOSE_TIMEOUT / 1000, _("Success"));
}
void MyNotebook::LoadTemplate(int TemplateNo) // Triggered by a menu event, loads the selected tab template
{
if (TemplateNo < 0 || TemplateNo >= MAX_NO_TABS) return;
MyFrame::mainframe->SelectionAvailable = false; // Turn off UpdateUI for a while so we can safely . . .
for (size_t n = GetPageCount(); n>0; --n) // Kill any existing tabs
DeletePage(n-1);
nextpageno = 0; // Reset the pageno count
LoadTabs(TemplateNo); // Load the requested template
}
void MyNotebook::SaveAsTemplate() // Save the current tab setup as a template
{
if (TemplateNoThatsLoaded >=0 && TemplateNoThatsLoaded < MAX_NO_TABS) // Is there a template loaded?
{
wxString title, titlepath; titlepath.Printf(wxT("/Tabs/Template_%c/title"), wxT('a') + TemplateNoThatsLoaded); // If so, find its title
wxConfigBase::Get()->Read(titlepath, &title);
TabTemplateOverwriteDlg dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("TabTemplateOverwriteDlg")); // Ask if we want to overwrite this template, or SaveAs a different one
if (!title.IsEmpty()) // If there is a title for this template, use it in the dlg
{ wxString msg; msg.Printf(wxT("There is a Template loaded, called %s"), title.c_str()); // Use title to correct the static message
((wxStaticText*)dlg.FindWindow(wxT("Static")))->SetLabel(msg); // Adjust the label to add the template name
dlg.GetSizer()->Fit(&dlg);
}
else title.Printf(wxT("Template %c"), wxT('a') + TemplateNoThatsLoaded); // Otherwise create a default title
int ans = dlg.ShowModal();
if (ans==wxID_CANCEL) { BriefMessageBox msg(_("Template Save cancelled"), AUTOCLOSE_TIMEOUT / 1000, _("Cancelled")); return; }
if (ans==XRCID("Overwrite"))
{ SaveDefaults(TemplateNoThatsLoaded, title); // This should overwrite the current template
BriefMessageBox msg(wxT("Template Overwritten"), AUTOCLOSE_TIMEOUT / 1000, _("Success")); return;
}
} // Otherwise SaveAs a new template, as though it wasn't one already
// If there isn't a template loaded, or if we're falling through from above, save as new template
wxString workingtitle; workingtitle.Printf(wxT("Template %c"), wxT('a') + NoOfExistingTemplates);
wxString title = wxGetTextFromUser(_("What would you like to call this template?"), _("Choose a template label"), workingtitle);
if (title.IsEmpty()) { BriefMessageBox msg(_("Save Template cancelled"), AUTOCLOSE_TIMEOUT / 1000, _("Cancelled")); return; }
TemplateNoThatsLoaded = NoOfExistingTemplates++;
wxConfigBase::Get()->Write(wxT("/Tabs/NoOfExistingTemplates"), NoOfExistingTemplates); // Inc & save template index
wxConfigBase::Get()->Flush();
SaveDefaults(NoOfExistingTemplates-1, title);
DoLoadTemplateMenu(); // Update loadable templates listed on the menu
BriefMessageBox msg(wxT("Template Saved"), AUTOCLOSE_TIMEOUT / 1000, _("Success"));
}
void MyNotebook::SaveDefaults(int TemplateNo /*=-1*/, const wxString& title /*=wxT("")*/)
{
wxConfigBase* config = wxConfigBase::Get(); if (!config) return;
int width, height; MyFrame::mainframe->GetSize(&width, &height);
config->Write(wxT("/Misc/AppHeight"), (long)height); // Save 4Pane's initial size
config->Write(wxT("/Misc/AppWidth"), (long)width);
wxString Path;
if (TemplateNo >= 0)
{ Path.Printf(wxT("/Tabs/Template_%c/"), wxT('a') + TemplateNo); // If we're saving a template, adjust path approprately
config->Write(Path + wxT("title"), title); // Save the title by which this template will be known (default is 'Template a' etc)
}
else Path = wxT("/Tabs/");
config->Write(Path + wxT("showcommandline"), MyFrame::mainframe->Layout->CommandlineShowing);
config->Write(Path + wxT("showterminal"), MyFrame::mainframe->Layout->EmulatorShowing);
config->Write(Path + wxT("saveonexit"), saveonexit);
config->Write(Path + wxT("selectedpage"), GetSelection());
if (TemplateNo < 0) // Don't save these settings for templates, otherwise loading a tab template would (unexpectedly) override the user's current choices
{ config->Write(Path + wxT("alwaysshowtabs"), AlwaysShowTabs);
config->Write(Path + wxT("equalsizedtabs"), EqualSizedTabs);
}
long numberoftabs = GetPageCount();
config->Write(Path + wxT("numberoftabs"), numberoftabs); // Save the no of tabs displayed
wxString key, prefix(wxT("TabdataForPage_"));
for (int n=0; n < numberoftabs; ++n) // Create the key for every page, from page_a to page_('a'+numberoftabs-1)
{ key.Printf(wxT("%c"), wxT('a') + n); // Make key hold a, b, c etc
MyTab* tab = (MyTab*)GetPage(n);
config->Write(Path+prefix+key, n); // Save the type of tabdata to use for this page
tab->StoreData(n); // Tell the tab to update its tabdata with the current settings
tab->tabdata->Save(n, TemplateNo); // Now tell tabdata to save itself
}
config->Flush();
}
void MyNotebook::CreateTab(int tabtype /*=0*/, int after /*= -1*/, int TemplateNo /*=-1*/, const wxString& pgName /*=""*/, const wxString& startdir0 /*=""*/, const wxString& startdir1 /*=""*/)
{
if (GetPageCount() >= (size_t)MAX_NO_TABS) { wxLogError(_("Sorry, the maximum number of tabs are already open.")); return; }
wxString pageName(pgName);
// Add panel as notebook page
wxPanel* page = new MyTab(this, -1, tabtype, TemplateNo, pageName, startdir0, startdir1); // Create the 'paper' of the new page
if (pageName.IsEmpty()) pageName = ((MyTab*)page)->tabdata->tabname; // The tab may have come with a previously-saved name
if (pageName.IsEmpty()) pageName.Printf(wxT("Page %u"), nextpageno+1); // If not, & there isn't one offered by the caller, invent a sensible name
if (after == -1) // -1 flags to append, not insert
{ if (AddPage(page, pageName, true)) ++nextpageno;
else return; // If page couldn't be created, bug out
}
else // else Insert it
{ if (InsertPage(after, page, pageName, true)) ++nextpageno;
else return; // If page couldn't be created, bug out
}
}
void MyNotebook::AppendTab()
{
CreateTab(GetPageCount()); // By passing GetPageCount(), the correct tabdata should be used
SetSelection(GetPageCount() - 1); // Select it
#if defined (__WXGTK__)
ShowTabs(GetPageCount() > 1 || AlwaysShowTabs); // Show the tab of each page if now >1, or if user always wants to
#endif
MyFrame::mainframe->SelectionAvailable = true; // Flags, eg to updateUI, that it's safe to use GetActivePane, because there's at least one pane
}
void MyNotebook::InsertTab()
{
if (!GetPageCount()) return AppendTab(); // If there isn't a page yet, we can't very well insert
int page = GetSelection(); // We're trying to insert after the selected tab, so find it
if (page == -1) return; // If it's invalid, abort
CreateTab(page+1, page+1); // Use CreateTab to do the creation
SetSelection(page+1); // Select the new tab
#if defined (__WXGTK__)
ShowTabs(GetPageCount() > 1 || AlwaysShowTabs); // Show the tab of each page if now >1, or if user always wants to
#endif
}
void MyNotebook::DelTab()
{
int page = GetSelection(); // We're trying to delete the selected tab, so find it
if (page != -1) DeletePage(page); // -1 would have meant no selection, so presumably the notebook is empty
#if defined (__WXGTK__)
ShowTabs(GetPageCount() > 1 || AlwaysShowTabs); // Show the tab of each page if now >1, or if user always wants to
#endif
if (!GetPageCount()) MyFrame::mainframe->SelectionAvailable = false; // If we've just deleted the only tab, tell the frame
}
void MyNotebook::DuplicateTab()
{
int page = GetSelection(); // We're trying to insert after the selected tab, so find it
if (page == -1) return; // If it's not valid, take fright
// The rest is a cut-down, amended version of CreateTab()
if (GetPageCount() >= (size_t)MAX_NO_TABS) { wxLogError(_("Sorry, the maximum number of tabs are already open.")); return; }
wxString pageName(GetPageText(page)); // Get the name of the tab we're duplicating
pageName += _(" again"); // Derive from it an exciting new name
MyTab* currenttab = (MyTab*)GetPage(page); // Find current tab
currenttab->StoreData(currenttab->tabdatanumber); // Tell it to update its tabdata with the current settings
Tabdata* oldtabdata = currenttab->tabdata; // Get the tabdata to be copied
// Add panel as notebook page
wxPanel *duppage = new MyTab(oldtabdata, this, -1, -1, pageName); // Create the 'paper' of the new page, using the copyctor version
((MyTab*)duppage)->tabdatanumber = currenttab->tabdatanumber;
if (InsertPage(page + 1, duppage, pageName, true))
{ duppage->Show(); SetSelection(page+1); ++nextpageno; } // Insert, Select & Show it
#if defined (__WXGTK__)
ShowTabs(true); // Show the tab heads now, as by definition there must be >1 tab
#endif
}
void MyNotebook::OnSelChange(wxNotebookEvent& event)
{
int page = event.GetSelection(); if (page==-1) return; // Find the new page index
MyTab* tab = (MyTab*)GetPage(page);
MyGenericDirCtrl* activepane = tab->GetActivePane(); // & thence the active pane
if (!activepane) return;
wxString path = activepane->GetPath();
activepane->DisplaySelectionInTBTextCtrl(path); // So we can now set the TBTextCtrl
MyFrame::mainframe->Layout->OnChangeDir(path); // & the Terminal etc if necessary
// Now make sure there's a highlit pane, ideally the correct one. And just one, so kill all highlights first, then set the active one
tab->SwitchOffHighlights();
wxFocusEvent sfe(wxEVT_SET_FOCUS);
activepane->GetTreeCtrl()->GetEventHandler()->AddPendingEvent(sfe);
}
void MyNotebook::ShowContextMenu(wxContextMenuEvent& event)
{
wxPoint pt = ScreenToClient(wxGetMousePosition());
#if defined (__WXX11__)
int page = GetSelection(); if (page == wxNOT_FOUND) return;
#else
int page = HitTest(pt, NULL); if (page == wxNOT_FOUND) return;
if (page != GetSelection()) SetSelection(page); // This wasn't needed in earlier versions, as the rt-click used to change the selection before the contextmenu event arrived
#endif
int shortcuts[] = { SHCUT_NEWTAB, SHCUT_DELTAB, SHCUT_INSERTTAB, wxID_SEPARATOR, SHCUT_RENAMETAB, SHCUT_DUPLICATETAB
#if defined (__WXGTK__)
,wxID_SEPARATOR, SHCUT_ALWAYS_SHOW_TAB, SHCUT_SAME_TEXTSIZE_TAB
#endif
};
wxMenu menu;
MyFrame::mainframe->AccelList->AddToMenu(menu, shortcuts[0], _("&Append Tab")); // Do SHCUT_NEWTAB separately, as it makes more sense here to call it Append
for (size_t n=1; n < sizeof(shortcuts)/sizeof(int); ++n)
MyFrame::mainframe->AccelList->AddToMenu(menu, shortcuts[n], wxEmptyString, (n > 6 ? wxITEM_CHECK : wxITEM_NORMAL));
#if defined (__WXGTK__)
menu.Check(SHCUT_ALWAYS_SHOW_TAB, AlwaysShowTabs);
menu.Check(SHCUT_SAME_TEXTSIZE_TAB, EqualSizedTabs);
#endif
menu.SetTitle(wxT("Tab Menu")); // This doesn't seem to work with wxGTK-2.4.2, but no harm leaving it in!
PopupMenu(&menu, pt.x, pt.y);
}
void MyNotebook::RenameTab()
{
int page = GetSelection(); // Find which tab we're supposed to be renaming
if (page == -1) return;
wxString text = wxGetTextFromUser(_("What would you like to call this tab?"),_("Change tab title"));
if (text.IsEmpty()) return; // as it will be if the user Cancelled, or was just playing silly-buggers
SetPageText(page, text);
MyTab* tab = (MyTab*)GetPage(page);
tab->tabdata->tabname = text; // Since this is a user-chosen name, store it in case the settings are to be saved
}
wxString MyNotebook::CreateUniqueTabname() const
{
const static int enormous = 1000;
int largest(0);
for (size_t n = 0; n < GetPageCount(); ++n)
{ wxString name = GetPageText(n);
wxString num; long li;
name.StartsWith(wxT("Page "), &num);
if (num.ToLong(&li))
largest = wxMax(largest, li);
}
for (int n = GetPageCount(); n < enormous; ++n)
{ if (n > largest)
{ wxString name = wxString::Format(wxT("Page %i"), n);
return name;
}
}
return wxString::Format(wxT("Page %zu"), GetPageCount()+1); // We've exceeded the enormous int, presumably because someone renamed to 'Page 2345', so default to 'Page '
}
#if defined (__WXGTK__)
void MyNotebook::OnLeftDown(wxMouseEvent& event)
{
// Recent gtks have refused to change the selection on a mouse-click unless the notebook had focus
// This is probably because of lots of other focus/child-focus events delaying things
// So do it here too. It doesn't seem to do any harm
wxPoint pt = ScreenToClient(wxGetMousePosition());
int page = HitTest(pt, NULL); if (page == wxNOT_FOUND) return;
if (page != GetSelection()) SetSelection(page);
event.Skip();
}
void MyNotebook::OnAlwaysShowTab(wxCommandEvent& WXUNUSED(event))
{
AlwaysShowTabs = !AlwaysShowTabs;
wxConfigBase::Get()->Write(wxT("Tabs/alwaysshowtabs"), AlwaysShowTabs);
ShowTabs(GetPageCount() > 1 || AlwaysShowTabs);
}
void MyNotebook::ShowTabs(bool show_tabs)
{
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(m_widget), (gboolean) show_tabs);
}
void MyNotebook::EqualWidthTabs(bool equal_tabs)
{
#if !defined (__WXGTK3__)
g_object_set (m_widget, "homogeneous", (gboolean)equal_tabs, NULL); // In 2.7.0 gtk_notebook_set_homogeneous_tabs is deprecated and so not available :(
wxConfigBase::Get()->Write(wxT("Tabs/equalsizedtabs"), equal_tabs);
#endif
}
#endif // defined __WXGTK__
BEGIN_EVENT_TABLE(MyNotebook,wxNotebook)
EVT_MENU(SHCUT_NEWTAB, MyNotebook::OnAppendTab)
EVT_MENU(SHCUT_INSERTTAB, MyNotebook::OnInsTab)
EVT_MENU(SHCUT_DELTAB, MyNotebook::OnDelTab)
EVT_MENU(SHCUT_RENAMETAB, MyNotebook::OnRenTab)
EVT_MENU(SHCUT_DUPLICATETAB, MyNotebook::OnDuplicateTab)
EVT_MENU_RANGE(SHCUT_PREVIOUS_TAB,SHCUT_NEXT_TAB, MyNotebook::OnAdvanceSelection)
#if defined (__WXGTK__)
EVT_MENU(SHCUT_ALWAYS_SHOW_TAB, MyNotebook::OnAlwaysShowTab)
EVT_MENU(SHCUT_SAME_TEXTSIZE_TAB, MyNotebook::OnSameTabSize)
EVT_LEFT_DOWN(MyNotebook::OnLeftDown)
#endif
EVT_NOTEBOOK_PAGE_CHANGED(-1, MyNotebook::OnSelChange)
EVT_LEFT_DCLICK(MyNotebook::OnButtonDClick)
#if defined (__WXX11__)
EVT_RIGHT_UP(MyNotebook::OnRightUp) // EVT_CONTEXT_MENU doesn't seem to work in X11
#endif
EVT_CONTEXT_MENU(MyNotebook::ShowContextMenu)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
4pane-5.0/ArchiveStream.cpp 0000644 0001750 0001750 00000324423 13130457226 012562 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: ArchiveStream.cpp
// Purpose: Virtual manipulation of archives
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/tokenzr.h"
#include "wx/stream.h"
#include "wx/zipstrm.h"
#include "wx/zstream.h"
#include "wx/mstream.h"
#include "wx/wfstream.h"
#include "Devices.h"
#include "MyDirs.h"
#include "MyGenericDirCtrl.h"
#include "MyFrame.h"
#include "Externs.h"
#include "Redo.h"
#include "Archive.h"
#include "ArchiveStream.h"
#include "Filetypes.h"
#include "Misc.h"
#include "bzipstream.h"
#include "Otherstreams.h"
#include
wxString FakeFiledata::PermissionsToText() // Returns a string describing the filetype & permissions eg -rwxr--r--. Adapted from real FileData, but uses the archivestream::GetMode() info
{
wxString text;
text.Printf(wxT("%c%c%c%c%c%c%c%c%c%c"), IsDir() ? wxT('d') : wxT('-'),
!!(Permissions & S_IRUSR) ? wxT('r') : wxT('-'), !!(Permissions & S_IWUSR) ? wxT('w') : wxT('-'), !!(Permissions & S_IXUSR) ? wxT('x') : wxT('-'),
!!(Permissions & S_IRGRP) ? wxT('r') : wxT('-'), !!(Permissions & S_IWGRP) ? wxT('w') : wxT('-'), !!(Permissions & S_IXGRP) ? wxT('x') : wxT('-'),
!!(Permissions & S_IROTH) ? wxT('r') : wxT('-'), !!(Permissions & S_IWOTH) ? wxT('w') : wxT('-'), !!(Permissions & S_IXOTH) ? wxT('x') : wxT('-')
);
if (text.GetChar(0) == wxT('-')) // If it wasn't a dir,
{ if (IsSymlink()) text.SetChar(0, wxT('l')); // see if it's one of the miscellany, rather than a regular file
else if (IsCharDev())text.SetChar(0, wxT('c'));
else if (IsBlkDev()) text.SetChar(0, wxT('b'));
else if (IsSocket()) text.SetChar(0, wxT('s'));
else if (IsFIFO()) text.SetChar(0, wxT('p'));
}
// Now amend string if the unusual permissions are set.
if (!!(Permissions & S_ISUID)) text.GetChar(3) == wxT('x') ? text.SetChar(3, wxT('s')) : text.SetChar(3, wxT('S')); // If originally 'x', use lower case, otherwise upper
if (!!(Permissions & S_ISGID)) text.GetChar(6) == wxT('x') ? text.SetChar(6, wxT('s')) : text.SetChar(6, wxT('S'));
if (!!(Permissions & S_ISVTX)) text.GetChar(9) == wxT('x') ? text.SetChar(9, wxT('t')) : text.SetChar(9, wxT('T'));
return text;
}
enum ffscomp FakeFiledata::Compare(FakeFiledata* comparator, FakeFiledata* candidate) // Finds how the candidate file/dir is related to the comparator one
{
if (comparator==NULL || candidate==NULL) return ffsRubbish;
if (!comparator->IsDir()) return ffsRubbish; // I can't see atm why we'd be comparing a file with another file
wxString candid = candidate->GetFilepath();
if (!candidate->IsDir()) candid = candid.BeforeLast(wxFILE_SEP_PATH); candid += wxFILE_SEP_PATH; // In case this is a file, amputate the filename
// Go thru the dirs segment by segment until there's a mismatch, or 1 runs out. We can rely on each starting/ending in '/' as we did it in the ctor
wxStringTokenizer candtok(candid.Mid(1), wxFILE_SEP_PATH);
wxStringTokenizer comptok(comparator->GetFilepath().Mid(1), wxFILE_SEP_PATH);
while (comptok.HasMoreTokens())
{ if (!candtok.HasMoreTokens())
{ if (candidate->IsDir()) return ffsParent; // The candidate is parent to the comparator dir
else return ffsCousin; // Otherwise its a file belonging to a (g)parent dir. ffsCousin is the best description
}
wxString tmp = comptok.GetNextToken(); int ans = tmp.Cmp(candtok.GetNextToken()); // Compare next token of each
if (ans != 0) return ffsCousin; // Different so return that they're not (very) related
} // Otherwise identical so loop
if (candtok.HasMoreTokens()) return ffsChild; // The candidate matches but is longer, so it's a (g)child of the comparator
if (!candidate->IsDir()) return ffsChild; // The candidate matches in terms of Path, but it's a file of the comparator
return ffsEqual; // Otherwise they must be identical dirs
}
//-----------------------------------------------------------------------------------------------------------------------
void FakeDir::Clear()
{
for (int n = (int)dirdataarray->GetCount(); n > 0; --n) { FakeDir* item = dirdataarray->Item(n-1); delete item; }
for (int n = (int)filedataarray->GetCount(); n > 0; --n) { DataBase* item = filedataarray->Item(n-1); delete item; }
dirdataarray->Clear(); filedataarray->Clear();
}
enum ffscomp FakeDir::AddDir(FakeDir* dir)
{
if (dir == NULL) return ffsRubbish;
enum ffscomp ans = Compare(this, dir); // First compare the dir with this one
if (ans != ffsChild) return ans; // If it's above us or in another lineage or rubbish, say so
for (size_t n=0; n < SubDirCount(); ++n)
{ enum ffscomp ans = Compare(GetFakeDir(n), dir);
if (ans == ffsChild) return GetFakeDir(n)->AddDir(dir);// It's a (g)child of this dir, add it there
if (ans != ffsCousin) { delete dir; return ffsDealtwith; } // If parent (which shouldn't be possible) or a duplicate or rubbish, abort
}
// Still here? Then it must be a previously unacknowledged child. Add it bit by bit, in case it's a grandchild & we haven't yet met its parent
FakeDir *AddHere = this, *lastdir = parentdir; // The first segment of new dir will be added to us, of course
wxString rest = dir->GetFilepath().Mid(GetFilepath().Len());// Get the bit of string subsequent to this dir
wxStringTokenizer extra(rest, wxFILE_SEP_PATH, wxTOKEN_STRTOK); // NB use wxTOKEN_STRTOK here so as not to return an empty token from /foo/bar//baz
while (extra.HasMoreTokens())
{ wxString fp = AddHere->GetFilepath() + extra.GetNextToken() + wxFILE_SEP_PATH; // Add this segment to the previous path, and create a new child FakeDir with that name
if (extra.HasMoreTokens()) // If there's more to come after this segment, create a new fakedir for this bit
{ FakeDir* newdir = new FakeDir(fp, 0, (time_t)0, 0,wxT(""),wxT(""), lastdir);
AddHere->AddChildDir(newdir); parentdir = AddHere; AddHere = newdir;
}
else AddHere->AddChildDir(dir); // Otherwise add the actual new dir!
}
return ffsDealtwith;
}
enum ffscomp FakeDir::AddFile(FakeFiledata* file)
{
if (file == NULL) return ffsRubbish;
enum ffscomp ans = Compare(this, file); // First compare the file with this one
if (ans != ffsChild) return ans; // If it's above us or in another lineage or rubbish, say so
for (size_t n=0; n < SubDirCount(); ++n)
{ enum ffscomp ans = Compare(GetFakeDir(n), file);
if (ans == ffsChild) return GetFakeDir(n)->AddFile(file); // It belongs in a (g)child of this dir, add it there
if (ans != ffsCousin) { delete file; return ffsDealtwith; } // If it belongs in a parent (which shouldn't be possible) or is a duplicate or rubbish, abort
}
// Still here? Then it must be a previously unacknowledged child. Add it bit by bit, in case it's a grandchild & we haven't yet met its parent
wxString rest = file->GetFilepath().Mid(GetFilepath().Len()); // Get the bit of string subsequent to this dir
wxString filename = rest.AfterLast(wxFILE_SEP_PATH); rest = rest.BeforeLast(wxFILE_SEP_PATH); // Separate into path & name
FakeDir *AddHere = this, *lastdir = parentdir; // The first segment of any new dir will be added to us, of course
wxStringTokenizer extra(rest, wxFILE_SEP_PATH, wxTOKEN_STRTOK); // Go thru any new Path, creating dirs as we go
while (extra.HasMoreTokens())
{ wxString fp = AddHere->GetFilepath() + extra.GetNextToken() + wxFILE_SEP_PATH; // Add this segment to the previous path, and create a new child FakeDir with that name
FakeDir* newdir = new FakeDir(fp, 0, (time_t)0, 0,wxT(""),wxT(""), lastdir);
AddHere->AddChildDir(newdir); parentdir = AddHere; AddHere = newdir;
}
AddHere->AddChildFile(file); // We've created any necessary dir structure. Now we can finally add the file
return ffsDealtwith;
}
FakeDir* FakeDir::FindSubdirByFilepath(const wxString& targetfilepath)
{
if (GetFilepath() == targetfilepath || GetFilepath() == targetfilepath+wxFILE_SEP_PATH) return this; // If we're it, return us
for (size_t n=0; n < SubDirCount(); ++n)
{ FakeDir* child = dirdataarray->Item(n)->FindSubdirByFilepath(targetfilepath); if (child != NULL) return child; } // Otherwise recurse thru children
return NULL;
}
FakeFiledata* FakeDir::FindFileByName(wxString filepath)
{
if (filepath.IsEmpty()) return NULL;
if (filepath.Last() == wxFILE_SEP_PATH) filepath = filepath.BeforeLast(wxFILE_SEP_PATH); // In case there's a spurious terminal '/'
wxString path = filepath.BeforeLast(wxFILE_SEP_PATH), filename = filepath.AfterLast(wxFILE_SEP_PATH);
FakeDir* dir = FindSubdirByFilepath(path);
if (dir == NULL) return NULL;
return dir->GetFakeFile(filename);
}
bool FakeDir::HasSubDirs(wxString& dirname) // Find a FakeDir with this name, and see if it has subdirs
{
FakeDir* dir = FindSubdirByFilepath(dirname); // Find if a dir with this name exists. NULL if not
if (dir != NULL) return (dir->SubDirCount() > 0); // Then just count the subdirs
return false;
}
bool FakeDir::HasFiles(wxString& dirname) // Find a FakeDir with this name, and see if it has files
{
FakeDir* dir = FindSubdirByFilepath(dirname);
if (dir != NULL) return (dir->FileCount() > 0);
return false;
}
bool FakeDir::GetFilepaths(wxArrayString& array)
{
if (!FileCount()) return false;
for (size_t n=0; n < FileCount(); ++n)
{ DataBase* temp = GetFakeFiledata(n);
array.Add(temp->GetFilepath());
}
return true;
}
void FakeDir::GetDescendants(wxArrayString& array, bool dirs_only/*=false*/) // Fill the array with all its files & (recursively) its subdirs
{
if (!dirs_only)
GetFilepaths(array); // First add this dir's files to the array (unless we're pasting a dir skeleton)
for (size_t n=0; n < SubDirCount(); ++n) // Now for every subdir
{ FakeDir* temp = GetFakeDir(n); if (temp==NULL) continue;
array.Add(temp->GetFilepath()); // Add the subdir
temp->GetDescendants(array, dirs_only); // and recurse thru it
}
}
wxULongLong FakeDir::GetSize() // Returns the size of its files
{
wxULongLong totalsize = 0;
for (size_t n=0; n < FileCount(); ++n) // First add the size of each file
totalsize += GetFakeFiledata(n)->Size();
// Since we've just worked it out anyway, why not update our 'm_size' too
size = totalsize;
return totalsize;
}
wxULongLong FakeDir::GetTotalSize() // Returns the size of all its files & those of its subdirs
{
wxULongLong totalsize = GetSize(); // First the files
for (size_t n=0; n < SubDirCount(); ++n) // Now recursively for every subdir
totalsize += GetFakeDir(n)->GetTotalSize();
return totalsize;
}
//-----------------------------------------------------------------------------------------------------------------------
FakeFilesystem::FakeFilesystem(wxString filepath, wxULongLong size, time_t Time, size_t Perms, wxString Owner/*=wxT("")*/, wxString Group/*=wxT("")*/)
{
rootdir = new FakeDir(filepath, size, Time, Perms, Owner, Group); // Create the 'root' dir, which will be the archive itself
currentdir = rootdir; // We start with the root
}
void FakeFilesystem::AddItem(wxString filepath, wxULongLong size, time_t Time, size_t Perms, DB_filetype Type, const wxString& Target/*=wxT("")*/, const wxString& Owner/*=wxT("")*/, const wxString& Group/*=wxT("")*/)
{
if (filepath.IsEmpty()) return;
if (Type == DIRTYPE) rootdir->AddDir(new FakeDir(filepath, size, Time, Perms, Owner, Group, rootdir));
else rootdir->AddFile(new FakeFiledata(filepath, size, Time, Type, Target, Perms, Owner, Group));
}
//-----------------------------------------------------------------------------------------------------------------------
bool ArcDir::Open(wxString dirName)
{
if (arc == NULL || arc->Getffs() == NULL || dirName.IsEmpty()) return false;
if (arc->Getffs()->GetRootDir()->FindSubdirByFilepath(dirName) == NULL) return false;
filepaths.Clear();
startdir = dirName; // This is the dir to investigate. We need to save it to use in ArcDir::GetFirst
isopen = true; return true;
}
bool ArcDir::GetFirst(wxString* filename, const wxString& filespec, int flags)
{
SetFileSpec(filespec); SetFlags(flags);
wxString currentcurrentdir = arc->Getffs()->GetCurrentDir()->GetFilepath(); // Save the current currentdir
if (!arc->SetPath(startdir)) { arc->SetPath(currentcurrentdir); return false; } // Change it to point to the dir we're interested in
if (m_flags & wxDIR_DIRS)
{ wxArrayString temp; arc->GetDirs(temp);
filepaths = temp;
}
if (m_flags & wxDIR_FILES) arc->Getffs()->GetCurrentDir()->GetFilepaths(filepaths);
arc->SetPath(currentcurrentdir); // Revert to the original currentdir
if (filepaths.GetCount() > 0) { nextfile=0; return GetNext(filename); }
else return false;
}
bool ArcDir::GetNext(wxString* filename)
{
if (filepaths.IsEmpty() || nextfile < 0) return false;
while ((size_t)nextfile < filepaths.GetCount())
{ wxString name = filepaths[ nextfile++ ];
if (m_filespec.IsEmpty() // An empty filespec is considered to match everything
|| wxMatchWild(m_filespec, name)) // Pass this name thru the filter
{ *filename = name; return true; }
}
return false; // No (more) names that match filespec
}
//-----------------------------------------------------------------------------------------------------------------------
ArchiveStream::ArchiveStream(DataBase* archive) // It's a real archive
{
m_membuf = NULL;
wxString name = archive->GetFilepath(); if (name.IsEmpty()) return;
if (name.GetChar(name.Len()-1) != wxFILE_SEP_PATH) name << wxFILE_SEP_PATH; // Although it's an archive, not a real dir, for our purposes we need it to pretend
ffs = new FakeFilesystem(name, archive->Size(), archive->ModificationTime(), archive->GetPermissions(), archive->GetOwner(), archive->GetGroup());
Dirty = Nested = false; archivename = name;
}
ArchiveStream::ArchiveStream(wxString name) // Used for nested archives
{
m_membuf = NULL;
if (name.IsEmpty()) return;
if (name.GetChar(name.Len()-1) != wxFILE_SEP_PATH) name << wxFILE_SEP_PATH; // Although it's an archive, not a real dir, for our purposes we need it to pretend
ffs = new FakeFilesystem(name, 0, 0, 0);
Dirty = false; Nested = true; archivename = name;
}
bool ArchiveStream::LoadToBuffer(wxString filepath) // Used by the subclassed ctors to load the archive into m_membuf
{
wxFFileInputStream in(filepath); // Load the archive thru a wxFFileInputStream
wxStreamBuffer streambuf((wxInputStream&)in, wxStreamBuffer::read); // and store it first in a wxStreamBuffer (since this can cope with a stream feed)
size_t size = in.GetSize(); // This is how much was loaded i.e. the file size
if (!size) return false;
wxChar* buf = new wxChar[ size ]; // It's ugly, but the easiest way I've found to get the data from the streambuffer to a memorybuffer
streambuf.Read(buf, size); // is by using an intermediate char[]
delete m_membuf; // Get rid of any old data, otherwise we'll leak when reloading
m_membuf = new wxMemoryBuffer(size); // Now (at last) we can store the data in a memory buffer
m_membuf->AppendData(buf, size);
delete[] buf;
return true;
}
bool ArchiveStream::LoadToBuffer(wxMemoryBuffer* mbuf) // Reload m_membuf with data from a different pane's buffer
{
if (mbuf == NULL) return false;
delete m_membuf; // Get rid of any old data, otherwise we'll leak
m_membuf = new wxMemoryBuffer(mbuf->GetDataLen());
m_membuf->AppendData(mbuf->GetData(), mbuf->GetDataLen());
return true;
}
bool ArchiveStream::SaveBuffer() // Saves the compressed archive in buffer back to the filesystem
{
if (IsNested()) { Dirty = true; return true; } // Except we don't if this is a nested archive: it gets saved on Pop
wxFFileOutputStream fileoutstream(archivename); if (!fileoutstream.Ok()) return false;
fileoutstream.Write(m_membuf->GetData(), m_membuf->GetDataLen());
return fileoutstream.IsOk(); // Returns true if the Write was successful
}
void ArchiveStream::ListContentsFromBuffer(wxString archivename)
{
wxBusyCursor busy;
GetFromBuffer();
ListContents(archivename);
}
bool ArchiveStream::IsWithin(wxString filepath) // Find if the passed filepath is within this archive
{
bool isdir = Getffs()->GetRootDir()->FindSubdirByFilepath(filepath) != NULL; // Start by seeing if there's a dir with this name
if (isdir) return true;
return (Getffs()->GetRootDir()->FindFileByName(filepath) != NULL); // Failing that, try for a file
}
FakeFiledataArray* ArchiveStream::GetFiles() // Returns the files for the current 'path'
{
return ffs->GetFiles();
}
bool ArchiveStream::GetDirs(wxArrayString& dirs) // Returns in the arraystring the files for the current 'path'
{
dirs.Clear();
for (size_t n=0; n < ffs->GetCurrentDir()->SubDirCount(); ++n)
{ FakeDir* dir = ffs->GetCurrentDir()->GetFakeDir(n);
dirs.Add(dir->GetFilepath()); // NB a FakeDir GetFilepath() returns the full filepath, whereas a FakeFiledata GetFilepath() currently just gives the filename
}
return dirs.GetCount() > 0;
}
bool ArchiveStream::GetDescendants(wxString dirName, wxArrayString& filepaths) // Returns in the array all files, dirs & subdirs files for the path
{
filepaths.Clear();
FakeDir* dir = Getffs()->GetRootDir()->FindSubdirByFilepath(dirName);
if (dir == NULL) return false; // Path must be a dir, not a file or a null
dir->GetDescendants(filepaths); // This does the real work
return filepaths.GetCount() > 0;
}
bool ArchiveStream::SetPath(const wxString& dir)
{
if (dir.IsEmpty()) return false;
if ((dir+wxFILE_SEP_PATH) == ffs->GetRootDir()->GetFilepath()) { ffs->SetCurrentDir(ffs->GetRootDir()); return true; } // First check that we're not reverting to root
wxString path(dir);
if (path.GetChar(path.Len()-1) != wxFILE_SEP_PATH) path << wxFILE_SEP_PATH;
FakeDir* newdir = ffs->GetRootDir()->FindSubdirByFilepath(path);
if (newdir != NULL) { ffs->SetCurrentDir(newdir); return true; } // Bingo! There's a subdir with this name
wxString prepath = dir.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // It wasn't a subdir. Let's check & see if it's a file
newdir = ffs->GetRootDir()->FindSubdirByFilepath(prepath);
if (newdir == NULL) return false; // No valid parent dir either
if (newdir->HasFileCalled(dir.AfterLast(wxFILE_SEP_PATH))) // See if this parent dir contains the correct file
{ ffs->SetCurrentDir(newdir); return true; } // If so, set path to the parent dir
return false;
}
bool ArchiveStream::OnExtract() // On Extract from context menu. Finds what to extract
{
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); if (active==NULL) return false;
wxArrayString filepaths; size_t count = active->GetMultiplePaths(filepaths); if (!count) return false;
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded(); wxString empty;
wxArrayString resultingfilepaths; bool result = DoExtract(filepaths, empty, resultingfilepaths);
if (ClusterWasNeeded) UnRedoManager::EndCluster();
return result;
}
bool ArchiveStream::DoExtract(wxArrayString& filepaths, wxString& destination, wxArrayString& resultingfilepaths, bool DontUndo/*=false*/, bool dirs_only/*=false*/) // From OnExtract or D'n'D/Paste, or Move
{
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); if (active==NULL) return false;
size_t count = filepaths.GetCount(); if (!count) return false;
wxArrayString WithinArcNames;
for (size_t n=0; n < count; ++n)
{ wxString filepath = filepaths[n]; // For each filepath, find and store the bit distal to the archive name
if (!SortOutNames(filepath)) return false; // Some implausible breakage
wxString WithinArcName(WithinArchiveName); WithinArcNames.Add(WithinArcName);
}
wxString suggestedfpath = active->arcman->GetPathOutsideArchive();
while (destination.IsEmpty()) // Get the desired destination from the user, if it's not already been provided
{ wxString msg; if (count >1) msg = _("To which directory would you like these files extracted?");
else msg = _("To which directory would you like this extracted?");
destination = wxGetTextFromUser(msg, _("Extracting from archive"), suggestedfpath);
if (destination.IsEmpty()) return false; // A blank answer must be a hint ;)
wxString destinationpath(destination); if (destinationpath.Last() == wxFILE_SEP_PATH) destinationpath = destinationpath.BeforeLast(wxFILE_SEP_PATH);
FileData DestinationFD(destinationpath);
if (DestinationFD.IsValid() && ! DestinationFD.CanTHISUserWriteExec()) // Make sure we have permission to write to the dir
{ wxMessageDialog dialog(MyFrame::mainframe->GetActivePane(),
_("I'm afraid you don't have permission to Create in this directory\n Try again?"), _("No Entry!"), wxYES_NO | wxICON_ERROR);
if (dialog.ShowModal() == wxID_YES) { destination.Empty(); continue; }
else return false;
}
bool flag=false;
for (size_t n=0; n < count; ++n)
{ FileData fd(destinationpath + wxFILE_SEP_PATH + WithinArcNames[n]); // Check for pre-existence of each file: at least those in the base dir
if (fd.IsValid())
{ wxString msg; msg.Printf(_("Sorry, %s already exists\n Try again?"), fd.GetFilepath().c_str());
wxMessageDialog dialog(active, msg, _("Oops!"), wxYES_NO | wxICON_ERROR);
if (dialog.ShowModal() == wxID_YES) { destination.Empty(); flag=true; break; }
else return false;
}
}
if (flag == true) continue;
}
if (destination.Last() != wxFILE_SEP_PATH) destination << wxFILE_SEP_PATH; // Nasty things would happen otherwise
if (!Extract(filepaths, destination, resultingfilepaths, dirs_only)) return false;
wxArrayInt IDs; IDs.Add(active->GetId());
if (!DontUndo)
{ UnRedoExtract* UnRedoptr = new UnRedoExtract(resultingfilepaths, destination, IDs);
UnRedoManager::AddEntry(UnRedoptr);
}
MyFrame::mainframe->OnUpdateTrees(destination, IDs, wxT(""), true);
return true;
}
bool ArchiveStream::SortOutNames(const wxString& filepath) // Subroutine used in Extract etc, so made into a function in the name of code reuse
{
WithinArchiveName.Empty(); WithinArchiveNames.Clear(); WithinArchiveNewNames.Clear(); IsDir = false;
archivename = ffs->GetRootDir()->GetFilepath(); if (archivename.IsEmpty()) return false; // Now get the true archivename: the archive expects it ;)
wxString FakeFilesystemPath(ffs->GetCurrentDir()->GetFilepath()); if (FakeFilesystemPath.IsEmpty()) return false; // First use current path, in case we're recursing in a subdir
wxString filename;
if (!(filepath == archivename.BeforeLast(wxFILE_SEP_PATH)
|| filepath.StartsWith(FakeFilesystemPath, &filename))) // This effectively removes the current within-archive path from filepath, leaving the filename
{ if (!filename.IsEmpty()) // just in case filepath IS the archive
{ if (ffs->GetCurrentDir()->HasDirCalled(filename)) IsDir = true; // We'll need to know, as dirs get a terminal '/'
else if (!ffs->GetCurrentDir()->HasFileCalled(filename)) return false; // If it's not a file either, abort!
}
else
{ if (FakeFilesystemPath == (filepath+wxFILE_SEP_PATH)) IsDir = true; }
}
// WithinArchiveName is the filename to extract: may be subpath/filename within the archive
if (!filepath.StartsWith(archivename, &WithinArchiveName)) return false; // Get the "filename" bit: may have a bit of path-within-archive too
if (IsDir) WithinArchiveName << wxFILE_SEP_PATH; // Dirs in the archive will have a terminal '/'
archivename = archivename.BeforeLast(wxFILE_SEP_PATH); // Remove the archive's spurious terminal '/'
return true;
}
// Get the within-archive names, any descendants, and (if renaming) the new names
bool ArchiveStream::AdjustFilepaths(const wxArrayString& filepaths, const wxString& destpath, wxArrayString& newnames, adjFPs whichtype/*=afp_neither*/, bool dirs_only/*=false*/, bool files_only/*=false*/)
{
WithinArchiveNames.Clear(); WithinArchiveNewNames.Clear();
archivename = ffs->GetRootDir()->GetFilepath(); if (archivename.IsEmpty()) return false; // Get the archive name, which we need to remove
// If we're from Rename or Extract, newnames will hold the new names/destination path
if (whichtype==afp_rename && newnames.GetCount() > filepaths.GetCount()) return false; // If there are too many of them, abort
for (size_t n=0; n < filepaths.GetCount(); ++n) // For every file/dir we were passed
{ if (!filepaths[n].StartsWith(archivename, &WithinArchiveName)) continue; // Amputate the /path/to/archive bit
wxString WithinArchiveNewname;
if (whichtype==afp_rename)
if (!newnames[n].StartsWith(archivename, &WithinArchiveNewname)) continue; // We need to get rid of the path from newname too
FakeDir* fd = ffs->GetRootDir()->FindSubdirByFilepath(filepaths[n]); // See if it's a dir
if (fd == NULL)
{ if (dirs_only) continue; // Don't look for files if it's not a dir and we only want those
FakeFiledata* ffd = ffs->GetRootDir()->FindFileByName(filepaths[n]); if (ffd == NULL) continue; // If it's not a dir, or a file, abort this one
WithinArchiveNames.Add(WithinArchiveName);
if (whichtype==afp_rename) WithinArchiveNewNames.Add(WithinArchiveNewname); // If we're renaming, add the corresponding new name
else { newnames.Add(destpath + filepaths[n].AfterLast(wxFILE_SEP_PATH)); WithinArchiveNewNames.Add(newnames[n]); } // Extract to here
}
else // It's a dir. We need to find & process all descendants too
{ if (!files_only) // but only if we _want_ dirs
{ WithinArchiveNames.Add(WithinArchiveName + wxFILE_SEP_PATH); // but first do the dir itself
if (whichtype==afp_rename) WithinArchiveNewNames.Add(WithinArchiveNewname); // If we're renaming, add the corresponding new dir name
else
{ wxString dirname;
if (filepaths[n].Last() == wxFILE_SEP_PATH) dirname = (filepaths[n].BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH);
else dirname = filepaths[n].AfterLast(wxFILE_SEP_PATH);
newnames.Add(destpath + dirname); WithinArchiveNewNames.Add(destpath + dirname); // Extract to here
}
wxArrayString fpaths; fd->GetDescendants(fpaths, dirs_only); // This recursively gets all (files and) subdirs into fpaths
size_t distalbit = 0; // We need this to extract bar/ from archive/foo/bar. Assume 0 to start with, which would be true for foo
if (WithinArchiveName.find(wxFILE_SEP_PATH) != wxString::npos)
distalbit = WithinArchiveName.BeforeLast(wxFILE_SEP_PATH).Len() + (archivename.Last()==wxFILE_SEP_PATH); // This gets bar/ from archive/foo/bar
for (size_t i=0; i < fpaths.GetCount(); ++i)
{ wxString descendantpart;
if (!fpaths[i].StartsWith(archivename, &descendantpart)) continue;// For every descendant, get & add the descendant part
WithinArchiveNames.Add(descendantpart);
if (whichtype==afp_rename) // If we're renaming, construct the corresponding new name for each
WithinArchiveNewNames.Add(WithinArchiveNewname + descendantpart.Mid(WithinArchiveName.Len()));
else { newnames.Add(destpath + descendantpart.Mid(distalbit)); WithinArchiveNewNames.Add(destpath + descendantpart.Mid(distalbit)); } // distalbit is calculated to use just the desired distal segments
}
}
}
}
archivename = archivename.BeforeLast(wxFILE_SEP_PATH); // Remove the archive's spurious terminal '/'
return WithinArchiveNames.GetCount() > 0;
}
bool ArchiveStream::Alter(wxArrayString& filepaths, enum alterarc DoWhich, wxArrayString& newnames, bool dirs_only/*=false*/) // This might be add remove del or rename, depending on the enum
{
if (filepaths.IsEmpty()) return false;
if (DoWhich != arc_add) // If not arc_add, remove the /pathtoarchive/archive bit of each filepath
{ wxString Unused; if (!AdjustFilepaths(filepaths, Unused, newnames, DoWhich==arc_rename || DoWhich==arc_dup ? afp_rename : afp_neither, dirs_only)) return false;
wxBusyCursor busy;
if (!DoAlteration(filepaths, DoWhich)) return false; // Do the exciting bit in a tar or zip-specific method
}
else // If arc_add, get the target dir for insertion into WithinArchivename. I've overloaded newnames to contain its full filepath
{ if (newnames.IsEmpty()) return false;
wxString dest(newnames[0]);
if (SortOutNames(dest)) // Sortoutnames also fills archivename. Don't test for success: if we're pasting directly onto the archive, it'll return false
if (!IsDir) WithinArchiveName = WithinArchiveName.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // If we're pasting onto a file, remove the filename
wxBusyCursor busy;
if (!DoAlteration(filepaths, DoWhich, newnames[1], dirs_only)) return false; // Do the exciting bit in a tar or zip-specific method
}
size_t size = OutStreamPtr->GetSize(); // This is how much was loaded i.e. the file size
wxChar* buf = new wxChar[ size ]; // It's ugly, but the easiest way I've found to get the data from the stream to a memorybuffer
((wxMemoryOutputStream*)OutStreamPtr.get())->CopyTo(buf, size); // is by using an intermediate char[]
OutStreamPtr.reset(); // Delete memoutstream
delete m_membuf; m_membuf = new wxMemoryBuffer(size); // I've no idea why, but trying to delete the old data by SetDataLen(0) failed :(
m_membuf->AppendData(buf, size); // Store the data
delete[] buf;
SaveBuffer();
ffs->Clear(); // Throw out the old dir structure, and reload
ListContentsFromBuffer(archivename);
return true;
}
bool ArchiveStream::MovePaste(MyGenericDirCtrl* originctrl, MyGenericDirCtrl* destctrl, wxArrayString& filepaths, wxString& destpath, bool Moving/*=true*/, bool dirs_only/*=false*/)
{
if (originctrl == NULL || destctrl == NULL || filepaths.IsEmpty() || destpath.IsEmpty()) return false;
bool PastingFromTrash = filepaths[0].StartsWith(DirectoryForDeletions::GetDeletedName()); // We'll need this if we'd Cut from an archive ->trash; & now we're Pasting it
bool FromArchive = ! PastingFromTrash && (originctrl->arcman != NULL && originctrl->arcman->IsArchive()); // If we're PastingFromTrash, originctrl->->IsArchive() would be irrelevantly true
bool ToArchive = (destctrl->arcman != NULL && destctrl->arcman->IsArchive());
wxString OriginPath(filepaths[0]); // We'll need this later
OriginPath = OriginPath.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH;
wxArrayInt IDs; IDs.Add(destctrl->GetId()); // Make an int array, & store the ID of destination pane
if (Moving) IDs.Add(originctrl->GetId()); // If Moving, add the origin ID
if (FromArchive && ! ToArchive)
{ FileData dp(destpath); if (!dp.IsValid()) return false; // Avoid pasting onto a file
if (!dp.IsDir() && ! (dp.IsSymlink() && dp.IsSymlinktargetADir()))
destpath = dp.GetPath();
FileData DestinationFD(destpath);
if (!DestinationFD.CanTHISUserWriteExec()) // Make sure we have permission to write to the destination dir
{ wxMessageDialog dialog(destctrl, _("I'm afraid you don't have Permission to write to this Directory"), _("No Entry!"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return false;
}
enum DupRen WhattodoifClash = DR_Unknown, WhattodoifCantRead = DR_Unknown; // These get passed to CheckDupRen. May become SkipAll, OverwriteAll etc, but start with Unknown
size_t filecount = filepaths.GetCount(); wxArrayString fpaths; // fpaths will hold the filepaths once they've been checked/amended etc
for (size_t n=0; n < filecount; ++n) // For every entry in the clipboard
{ bool ItsADir = false; // We need to check we're not about to do something illegal
if (WhattodoifClash==DR_Rename || WhattodoifClash==DR_Overwrite || WhattodoifClash==DR_Skip || WhattodoifClash==DR_Store)
WhattodoifClash = DR_Unknown; // Remove any stale single-shot choice
FakeFiledata* fd = Getffs()->GetRootDir()->FindFileByName(filepaths[n]); // Dirs aren't '/'-terminated, so just try it and see
if (fd==NULL)
{ fd = Getffs()->GetRootDir()->FindSubdirByFilepath(filepaths[n]); ItsADir = true; } // Not a file, so try for a dir
if (fd==NULL) continue;
CheckDupRen CheckIt(destctrl, filepaths[n], destpath, true, fd->ModificationTime()); // Make an instance of the class that tests for this. The 'true' means "From archive"
CheckIt.IsMultiple = (filecount > 1); // We use different dialogs for multiple items
CheckIt.WhattodoifClash = WhattodoifClash; CheckIt.WhattodoifCantRead = WhattodoifCantRead; CheckIt.ItsADir = ItsADir; // Set CheckIt's variables to match any previous choice
if (!CheckIt.CheckForPreExistence()) // Check we're not pasting onto ourselves or a namesake. True means OK
{ WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable. This catches SkipAll & Cancel, which return false
if (WhattodoifClash==DR_Cancel) { n = filecount; break; } // Cancel this item & the rest of the loop by increasing n
else continue; // Skip this item but continue with loop
}
else
{ WhattodoifClash = CheckIt.WhattodoifClash; // Needed to cache any DR_OverwriteAll
fpaths.Add(filepaths[n]); // If there was an unskipped clash, this will effect an overwrite. Rename isn't possible ex archive (ie it isn't worth the bother of altering everything to implement it)
}
}
filepaths = fpaths; // Revert to using filepaths. This is a reference, so the caller can use it to count the items actually done
if (!filepaths.GetCount()) return false; // If everything was skipped/cancelled, go home
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
wxArrayString destinations;
originctrl->arcman->GetArc()->DoExtract(filepaths, destpath, destinations, Moving, dirs_only); // The 'Moving' says don't create an Undo for this; but for a paste we need one
if (Moving) // If we're Moving (cf Pasting), delete those files from the archive
{ wxArrayString unused; originctrl->arcman->GetArc()->Alter(filepaths, arc_remove, unused);
UnRedoMoveToFromArchive* UnRedoptr = new UnRedoMoveToFromArchive(filepaths, destinations, OriginPath, destpath, IDs, originctrl, destctrl, amt_from);
UnRedoManager::AddEntry(UnRedoptr);
MyFrame::mainframe->OnUpdateTrees(OriginPath, IDs, wxT(""), true);
}
if (ClusterWasNeeded) UnRedoManager::EndCluster();
return true;
}
if (ToArchive && !FromArchive)
{ // First check that we have exec permissions for the origin dir
FileData OriginFileFD(filepaths[0]);
if (!OriginFileFD.CanTHISUserPotentiallyCopy())
{ wxMessageDialog dialog(destctrl, _("I'm afraid you don't have permission to access files from this Directory"), _("No Exit!")); return false; }
enum DupRen WhattodoifClash = DR_Unknown, WhattodoifCantRead = DR_Unknown; // These get passed to CheckDupRen. May become SkipAll, OverwriteAll etc, but start with Unknown
size_t filecount = filepaths.GetCount(); wxArrayString Unskippedfpaths; // Some filepaths may clash and be skipped; store the used ones here
wxArrayString fpaths; // fpaths will hold the filepaths once they've been checked/amended etc
wxArrayInt DupRens; // This holds the 'WhattodoifClash' responses, which might be 'dup' for one item, 'overwrite' for another
for (size_t n=0; n < filecount; ++n) // For every entry in the clipboard
{ bool ItsADir = false; // We need to check we're not about to do something illegal
if (WhattodoifClash==DR_Rename || WhattodoifClash==DR_Overwrite || WhattodoifClash==DR_Skip || WhattodoifClash==DR_Store)
WhattodoifClash = DR_Unknown; // Remove any stale single-shot choice
FileData fd(filepaths[n]); ItsADir = fd.IsDir();
CheckDupRen CheckIt(destctrl, filepaths[n], destpath);
CheckIt.IsMultiple = (filecount > 1); // We use different dialogs for multiple items
CheckIt.WhattodoifClash = WhattodoifClash; CheckIt.WhattodoifCantRead = WhattodoifCantRead; CheckIt.ItsADir = ItsADir; // Set CheckIt's variables to match any previous choice
int result = CheckIt.CheckForPreExistenceInArchive(); // Check we're not pasting onto ourselves or a namesake. True means OK
if (!result) // false means skip or cancel
{ WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable. This catches SkipAll & Cancel, which return false
if (WhattodoifClash==DR_Cancel) { n = filecount; break; } // Cancel this item & the rest of the loop by increasing n
else continue; // Skip this item but continue with loop
}
else
{ WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable; it'll be fed back in the next iteration of the loop
// 'result' may be 1, in which case there wasn't a clash; or 2, in which case use WhattodoifClash to flag what to do to this item
enum DupRen Whattodothistime = (result==1) ? DR_Unknown : WhattodoifClash;
if (!ItsADir)
{ Unskippedfpaths.Add(filepaths[n]);
fpaths.Add(filepaths[n]); // If there was an unskipped clash, this will effect a duplication or overwrite, depending on the DupRen returned
DupRens.Add(Whattodothistime); // So store that in the corresponding position in this array
}
else // For a dir, we need to go thru its filepaths to add its children and any subdirs
{ Unskippedfpaths.Add(filepaths[n]);
fpaths.Add(filepaths[n]); DupRens.Add(Whattodothistime); // First do the dir itself
wxArrayString tempfpaths; RecursivelyGetFilepaths(filepaths[n], tempfpaths); // The contents of any dirs are now in tempfpaths
for (size_t c=0; c < tempfpaths.GetCount(); ++c) // Go through these, storing the overwrite/add info too
{ fpaths.Add(tempfpaths.Item(c)); DupRens.Add(Whattodothistime); }
}
}
}
filepaths = Unskippedfpaths;
if (!filepaths.GetCount()) return false; // If everything was skipped/cancelled, go home
FakeFiledata* ffd = destctrl->arcman->GetArc()->ffs->GetRootDir()->FindFileByName(destpath); // Destpath doesn't have a '/', so we need to see if it's a file and amputate
if (ffd != NULL) destpath = destpath.BeforeLast(wxFILE_SEP_PATH);
if (destpath.Last() != wxFILE_SEP_PATH) destpath << wxFILE_SEP_PATH;
// Some of the new items may clash with existing ones; and the user may (should!) have decided to overwrite these
// If so, we need to extract-to-trash the existing items so that they can be unredone, then remove them from the archive
wxArrayString deletions;
for (size_t n=0; n < DupRens.GetCount(); ++n) // Start by seeing if the problem exists
if ((DupRens[n] == DR_Overwrite) || (DupRens[n] == DR_OverwriteAll))
{ wxString distal; if (!fpaths[n].StartsWith(OriginPath, &distal)) continue;
deletions.Add(destpath + distal);
}
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
if (!deletions.IsEmpty())
{ wxFileName trashdirbase; // Create a unique subdir in trashdir, using current date/time
if (!DirectoryForDeletions::GetUptothemomentDirname(trashdirbase, delcan))
{ wxMessageBox(_("For some reason, trying to create a dir to receive the backup failed. Sorry!")); if (ClusterWasNeeded) UnRedoManager::EndCluster(); return false; }
wxArrayString destinations, unused;
wxString trashpath(trashdirbase.GetPath());
if (!destctrl->arcman->GetArc()->DoExtract(deletions, trashpath, destinations, true, dirs_only)) // Extract the files to the bin. The true means don't unredo: we'll do it here
{ wxMessageDialog dialog(destctrl, _("Sorry, backing up failed"), _("Oops!"), wxOK | wxICON_ERROR); if (ClusterWasNeeded) UnRedoManager::EndCluster(); return false; }
UnRedoCutPasteToFromArchive* UnRedoptr = new UnRedoCutPasteToFromArchive(deletions, destinations, destpath, trashpath, IDs, destctrl, originctrl, amt_from);
UnRedoManager::AddEntry(UnRedoptr);
if (!destctrl->arcman->GetArc()->Alter(deletions, arc_remove, unused)) // Then remove from the archive
{ wxMessageDialog dialog(destctrl, _("Sorry, removing items failed"), _("Oops!"), wxOK | wxICON_ERROR); if (ClusterWasNeeded) UnRedoManager::EndCluster(); return false; }
}
wxArrayString Path; // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the path
Path.Add(destpath);
wxString originpath = OriginFileFD.GetPath(); // We also need to know the 'root' of the origin path
if (originpath.Last() != wxFILE_SEP_PATH) originpath << wxFILE_SEP_PATH;
Path.Add(originpath); // This too will kludgily pass
if (!destctrl->arcman->GetArc()->Alter(fpaths, arc_add, Path, dirs_only)) // Do the Paste bit of the Move
{ if (ClusterWasNeeded) UnRedoManager::EndCluster(); return false; }
wxArrayString destinations;
bool needsyield(false);
for (size_t n=0; n < filepaths.GetCount(); ++n) // Do the delete bit
{ if (Moving)
{ wxFileName From(filepaths[n]);
originctrl->ReallyDelete(&From);
#if wxVERSION_NUMBER > 2812 && (wxVERSION_NUMBER < 3003 || wxVERSION_NUMBER == 3100)
// Earlier wx3 version have a bug (http://trac.wxwidgets.org/ticket/17122) that can cause segfaults if we SetPath() on returning from here
if (From.IsDir()) needsyield = true; // Yielding works around the problem by altering the timing of incoming fswatcher events
#endif
}
wxString distal; if (!filepaths[n].StartsWith(OriginPath, &distal)) continue;
destinations.Add(destpath + distal); // Fill destinations array ready for UnRedoing
}
if (needsyield) wxSafeYield();
if (Moving)
{ UnRedoMoveToFromArchive* UnRedoptr = new UnRedoMoveToFromArchive(filepaths, destinations, OriginPath, destpath, IDs, originctrl, destctrl, amt_to);
UnRedoManager::AddEntry(UnRedoptr);
MyFrame::mainframe->OnUpdateTrees(OriginPath, IDs, wxT(""), true);
}
else // Move would have done the Paste Unredo bit too. Since we're not Moving, do it here
{ UnRedoArchivePaste* UnRedoptr = new UnRedoArchivePaste(fpaths, destinations, OriginPath, destpath, IDs, destctrl, _("Paste"), dirs_only);
UnRedoManager::AddEntry(UnRedoptr);
}
if (ClusterWasNeeded) UnRedoManager::EndCluster();
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
return true;
}
// If we're here, we are moving/pasting from one archive to another, which might be:
// Within the same archive in the same pane --- Anything that's really a Rename/Dup happens in DoThingsWithinSameArchive(). This is for moving/pasting between (sub)dirs
// Within the same archive displayed in different panes --- Ditto, then reload the other one (as otherwise the 2 will be out of sync)
// Between different archives displayed in different panes --- Extract to a tempfile, then add to the 2nd archive. If moving, delete from the 1st
if (originctrl->arcman->GetArc()->Getffs()->GetRootDir()->GetFilepath() // Within the same archive in the same or different panes, so Rename
== destctrl->arcman->GetArc()->Getffs()->GetRootDir()->GetFilepath())
{ wxArrayString newpaths;
FakeFiledata* ffd = ffs->GetRootDir()->FindFileByName(destpath); // Destpath doesn't have a '/', so we need to see if it's a file and amputate. The '/' gets added later
if (ffd) destpath = destpath.BeforeLast(wxFILE_SEP_PATH);
if (destpath.Last() != wxFILE_SEP_PATH) destpath << wxFILE_SEP_PATH;
for (size_t n=0; n < filepaths.GetCount(); ++n) // Go thru the filepaths, changing the paths
{ wxString filename;
if (filepaths.Item(n).Last() != wxFILE_SEP_PATH) filename = filepaths.Item(n).AfterLast(wxFILE_SEP_PATH);
else filename = (filepaths.Item(n).BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // If it's a dir, manoevre round the terminal '/'
newpaths.Add(destpath + filename);
}
int whattodoifclash = XRCID("DR_Unknown");
for (size_t n=newpaths.GetCount(); n > 0; --n) // Do a poor-man's CheckIt.WhattodoifClash
{ if (ffs->GetRootDir()->FindFileByName(newpaths.Item(n-1))
|| ffs->GetRootDir()->FindSubdirByFilepath(newpaths.Item(n-1)))
{ // It's difficult/impossible to cope with a clash when moving between archives, so don't try
if (whattodoifclash != XRCID("SkipAll"))
{ MyButtonDialog dlg; wxXmlResource::Get()->LoadDialog(&dlg, destctrl, wxT("PoorMansClashDlg"));
wxString distal;
if (!newpaths.Item(n-1).StartsWith(destpath+wxFILE_SEP_PATH, &distal)) distal = newpaths.Item(n-1); // Try to show only the in-archive bit of the fpath
((wxStaticText*)dlg.FindWindow(wxT("Filename")))->SetLabel(distal);
dlg.GetSizer()->Fit(&dlg);
whattodoifclash = dlg.ShowModal(); // whattodoifclash might now hold Skip, SkipAll or Cancel
if (whattodoifclash == XRCID("Cancel")) return false;
}
newpaths.RemoveAt(n-1); filepaths.RemoveAt(n-1);
}
}
if (filepaths.IsEmpty()) return false;
if (!destctrl->arcman->GetArc()->Alter(filepaths, Moving ? arc_rename : arc_dup, newpaths, dirs_only)) // Do the rename. NB we use the destination pane here, and (maybe) reload the origin
return false;
if (originctrl != destctrl && originctrl != destctrl->partner) // If we have 2 editions of the same archive open, reload the origin one
{ archivename = ffs->GetRootDir()->GetFilepath(); archivename = archivename.BeforeLast(wxFILE_SEP_PATH);
originctrl->arcman->GetArc()->Getffs()->Clear(); // Throw out the old dir structure, and reload
if (!IsNested())
{ if (!archivename.IsEmpty()) originctrl->arcman->GetArc()->LoadToBuffer(archivename); }
else
originctrl->arcman->GetArc()->LoadToBuffer(destctrl->arcman->GetArc()->GetBuffer()); // If we're in a nested buffer situation, copy the updated buffer into the out-of-date one
originctrl->arcman->GetArc()->ListContentsFromBuffer(archivename);
}
bool ClusterWasNeeded(false);
if (Moving) ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
wxArrayInt IDs; IDs.Add(originctrl->GetId());
bool IdenticalArc = (originctrl->arcman->GetArc()->Getffs() == destctrl->arcman->GetArc()->Getffs()); // Are we moving/pasting to a subdir, within the same pane?
UnRedoArchiveRen* UnRedoptr = new UnRedoArchiveRen(filepaths, newpaths, IDs, destctrl,
Moving==false, IdenticalArc ? NULL : originctrl, dirs_only); // Moving==false == not duplicating. Passing destctrl says 'Only if still visible'
UnRedoManager::AddEntry(UnRedoptr);
if (Moving)
{ if (ClusterWasNeeded) UnRedoManager::EndCluster();
MyFrame::mainframe->OnUpdateTrees(OriginPath, IDs, wxT(""), true);
}
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
return true;
}
else // Otherwise we're going between different archives
{ wxArrayString destinations, newpaths; wxString dest(destpath);
FakeFiledata* ffd = destctrl->arcman->GetArc()->ffs->GetRootDir()->FindFileByName(dest); // Destpath doesn't have a '/', so we need to see if it's a file and amputate
if (ffd != NULL) dest = dest.BeforeLast(wxFILE_SEP_PATH);
if (dest.Last() != wxFILE_SEP_PATH) dest << wxFILE_SEP_PATH;
for (size_t n=0; n < filepaths.GetCount(); ++n) // Go thru the filepaths, changing the paths
{ wxString filename;
if (filepaths.Item(n).Last() != wxFILE_SEP_PATH) filename = filepaths.Item(n).AfterLast(wxFILE_SEP_PATH);
else filename = (filepaths.Item(n).BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // If it's a dir, manoevre round the terminal '/'
newpaths.Add(dest + filename);
}
FakeDir* droot = destctrl->arcman->GetArc()->Getffs()->GetRootDir();
int whattodoifclash = XRCID("DR_Unknown");
for (size_t n=newpaths.GetCount(); n > 0; --n) // Do a poor-man's CheckIt.WhattodoifClash
{ if (droot->FindFileByName(newpaths.Item(n-1))
|| droot->FindSubdirByFilepath(newpaths.Item(n-1)))
{ // It's difficult/impossible to cope with a clash when moving between archives, so don't try
if (whattodoifclash != XRCID("SkipAll"))
{ MyButtonDialog dlg; wxXmlResource::Get()->LoadDialog(&dlg, destctrl, wxT("PoorMansClashDlg"));
wxString distal;
if (!newpaths.Item(n-1).StartsWith(dest, &distal)) distal = newpaths.Item(n-1); // Try to show only the in-archive bit of the fpath
((wxStaticText*)dlg.FindWindow(wxT("Filename")))->SetLabel(distal);
dlg.GetSizer()->Fit(&dlg);
whattodoifclash = dlg.ShowModal(); // whattodoifclash might now hold Skip, SkipAll or Cancel
if (whattodoifclash == XRCID("Cancel")) return false;
}
newpaths.RemoveAt(n-1); filepaths.RemoveAt(n-1);
}
}
if (!filepaths.GetCount()) return false; // If everything was skipped/cancelled, go home
wxArrayString tempfiles = originctrl->arcman->ExtractToTempfile(filepaths, dirs_only); // This extracts the selected filepaths to temporary files, which it returns
if (tempfiles.IsEmpty()) return false;
wxArrayString Path; Path.Add(dest); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the path
FileData tmppath(tempfiles[0]);
wxString tfileoriginpath = tmppath.GetPath(); // We also need to know the 'root' of the tempfile path
if (tfileoriginpath.Last() != wxFILE_SEP_PATH) tfileoriginpath << wxFILE_SEP_PATH;
Path.Add(tfileoriginpath); // This too will kludgily pass
if (!destctrl->arcman->GetArc()->Alter(tempfiles, arc_add, Path, dirs_only)) return false; // Do the Paste bit of the Move
for (size_t n=0; n < tempfiles.GetCount(); ++n) // Fill destinations array ready for UnRedoing
{ wxString distal; if (!tempfiles[n].StartsWith(tfileoriginpath, &distal)) continue;
destinations.Add(dest + distal);
}
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
if (Moving) // If we're Moving (cf Pasting), delete those files from the archive
{ wxArrayString unused; originctrl->arcman->GetArc()->Alter(filepaths, arc_remove, unused);
UnRedoArchiveDelete* UnRedoptr = new UnRedoArchiveDelete(filepaths, tempfiles, OriginPath, tfileoriginpath, IDs, originctrl, _("Move"));
UnRedoManager::AddEntry(UnRedoptr);
MyFrame::mainframe->OnUpdateTrees(OriginPath, IDs, wxT(""), true);
}
UnRedoArchivePaste* UnRedoptr = new UnRedoArchivePaste(tempfiles, destinations, tfileoriginpath, dest, IDs, destctrl, Moving ? _("Move") : _("Paste"), dirs_only);
UnRedoManager::AddEntry(UnRedoptr);
if (ClusterWasNeeded) UnRedoManager::EndCluster();
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
return true;
}
}
// Abstracted from MyGenericDirCtrl::OnDnDMove and OnPaste to cope with renaming-by-Paste or D'n'D within an archive
bool ArchiveStream::DoThingsWithinSameArchive(MyGenericDirCtrl* originctrl, MyGenericDirCtrl* destctrl, wxArrayString& filearray, wxString& destinationpath)
{
if (!filearray.GetCount()) return false; // Shouldn't happen
bool OrigIsArchive = originctrl && originctrl->arcman && originctrl->arcman->IsArchive();
bool DestIsArchive = destctrl && destctrl->arcman && destctrl->arcman->IsArchive();
bool WithinSameArchive = (OrigIsArchive && DestIsArchive &&
(originctrl->arcman->GetArc()->Getffs()->GetRootDir()->GetFilepath() == destctrl->arcman->GetArc()->Getffs()->GetRootDir()->GetFilepath()));
if (!WithinSameArchive) return false;
// Try to distinguish between pasting within the same dir, and pasting to elsewhere in the archive
wxString dest(destinationpath);
if (destctrl->arcman->GetArc()->Getffs()->GetRootDir()->FindFileByName(dest))
dest = dest.BeforeLast(wxFILE_SEP_PATH); // If it's a file, amputate
wxString lastseg = wxFILE_SEP_PATH, originpath = filearray.Item(0);
if (originctrl->arcman->GetArc()->Getffs()->GetRootDir()->FindFileByName(originpath))
{ originpath = originpath.BeforeLast(wxFILE_SEP_PATH); // If it's a file, amputate
if (dest != originpath) return false; // If we're moving/pasting from arc/foo to arc/foo/bar, do it the normal way
}
else
{ if (!originctrl->arcman->GetArc()->Getffs()->GetRootDir()->FindSubdirByFilepath(originpath)) return false; // Not a file, not a dir...
lastseg << originpath.AfterLast(wxFILE_SEP_PATH);
if (dest+lastseg != originpath) return false; // If we're not moving/pasting e.g. arc/foo to arc/, do it the normal way
}
// If we're Moving/Pasting to the same dir within the same archive (perhaps open on different panes), ask if the user wants to rename
MyButtonDialog dlg; wxXmlResource::Get()->LoadDialog(&dlg, destctrl, wxT("QuerySameArchiveRenameDlg"));
int result = dlg.ShowModal();
if (result == XRCID("Rename"))
{ if (filearray.GetCount() > 1)
{ destctrl->DoMultipleRename(filearray, true); } // Piggyback on the Rename code
else
{ wxString filepath(filearray.Item(0)); // Use the single-selection version
destctrl->DoRename(true, filepath);
}
wxString archivename = originctrl->arcman->GetArc()->Getffs()->GetRootDir()->GetFilepath(); archivename = archivename.BeforeLast(wxFILE_SEP_PATH);
destctrl->arcman->GetArc()->Getffs()->Clear(); // Throw out the old dir structure, and reload
if (!destctrl->arcman->GetArc()->IsNested())
{ if (!archivename.IsEmpty()) destctrl->arcman->GetArc()->LoadToBuffer(archivename); }
else
destctrl->arcman->GetArc()->LoadToBuffer(destctrl->arcman->GetArc()->GetBuffer()); // If we're in a nested buffer situation, copy the updated buffer into the out-of-date one
destctrl->arcman->GetArc()->ListContentsFromBuffer(archivename);
wxArrayInt IDs; IDs.Add(originctrl->GetId());
MyFrame::mainframe->OnUpdateTrees(archivename, IDs, wxT(""), true);
return true;
}
return true; // Otherwise the user presumably pressed Cancel, but still return true to signify that nothing more needs be done
}
//---------------------------------------------------------------------------------
wxDEFINE_SCOPED_PTR(wxInputStream, wxInputStreamPtr)
wxDEFINE_SCOPED_PTR(wxOutputStream, wxOutputStreamPtr)
wxDEFINE_SCOPED_PTR_TYPE(wxTarEntry);
wxDEFINE_SCOPED_PTR_TYPE(wxZipEntry);
ZipArchiveStream::ZipArchiveStream(DataBase* archive) : ArchiveStream(archive) // Opens a 'real' archive, not a nested one
{
Valid = false;
if (!archive->IsValid()) return;
wxBusyCursor busy;
if (!LoadToBuffer(archive->GetFilepath())) return; // Load the wxMemoryBuffer with the archive
Valid = true;
}
ZipArchiveStream::ZipArchiveStream(wxMemoryBuffer* membuf, wxString archivename) : ArchiveStream(archivename) // Opens a 'nested' archive
{
Valid = false;
if (archivename.IsEmpty()) return;
m_membuf = membuf;
Valid = true;
}
bool ZipArchiveStream::Extract(wxArrayString& filepaths, wxString destpath, wxArrayString& resultingfilepaths, bool dirs_only/*=false*/, bool files_only/*=false*/) // Extract filepath from the archive
{
if (filepaths.IsEmpty() || destpath.IsEmpty()) return false;
// AdjustFilepaths puts each filepath into WithinArchiveNames, less the /path-to-archive/archive; & creates its dest in WithinArchiveNewNames. If a dir, recursively adds into children too
if (!AdjustFilepaths(filepaths, destpath, resultingfilepaths, afp_extract, dirs_only, files_only)) return false;
wxZipEntryPtr entry;
wxMemoryInputStream meminstream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer m_membuf. 'Extract' it to a memory stream
wxZipInputStream zip(meminstream);
size_t NumberFound = 0;
while (entry.reset(zip.GetNextEntry()), entry.get() != NULL)
{ int item = WithinArchiveNames.Index(entry->GetName()); // See if this file is one of the ones we're interested in
if (item == wxNOT_FOUND) continue;
// Found it. If it's a file, extract it. If a dir, make a new dir with this name (*outside* the archive ;)
wxLogNull log;
if (!entry->IsDir()) // (For a dir there's no data to extract)
{ wxString Path(resultingfilepaths[ item ]); Path = Path.BeforeLast(wxFILE_SEP_PATH);
if (!wxFileName::Mkdir(Path, 0777, wxPATH_MKDIR_FULL)) return false; // Make any necessary dir
wxFFileOutputStream out(resultingfilepaths[ item ]);
if (!out || ! out.Write(zip) || ! zip.Eof()) return false; // and extract into the new filepath
FileData fd(resultingfilepaths[ item ]); if (fd.IsValid()) fd.DoChmod(entry->GetMode()); // Correct the extracted file's permissions
}
else if (!wxFileName::Mkdir(resultingfilepaths[ item ], 0777, wxPATH_MKDIR_FULL)) return false; // Just create the dir
if (++NumberFound >= WithinArchiveNames.GetCount()) return true; // See if we've used all the passed filepaths
}
return false;
}
bool ZipArchiveStream::DoAlteration(wxArrayString& filepaths, enum alterarc DoWhich, const wxString& originroot/*=wxT("")*/, bool dirs_only/*=false*/) // Implement add remove del or rename, depending on the enum
{
wxInputStreamPtr dupptr;
GetFromBuffer(); // The archive is in the memory buffer m_membuf. 'Extract' it to InStreamPtr
if (DoWhich==arc_dup) // If we're duplicating, we need a 2nd instream, so store the first and re-extract
{ dupptr.reset(InStreamPtr.release()); GetFromBuffer(true); }
wxMemoryOutputStream* memoutstream = new wxMemoryOutputStream;
wxZipOutputStream outzip(*memoutstream);
outzip.CopyArchiveMetaData(*(wxZipInputStream*)InStreamPtr.get());
wxZipEntryPtr entry, dupentry;
while (entry.reset(((wxZipInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL) // Go thru the archive, looking for the selected files.
{ int item = WithinArchiveNames.Index(entry->GetName()); // See if this file is one of the ones we're interested in
switch(DoWhich)
{ case arc_add: break; // Add happens later
case arc_remove: if (item != wxNOT_FOUND) continue; // If this file is one of the 2b-removed ones, ignore it, don't add it to the new archive
else break; // Otherwise break to copy the entry
case arc_dup: dupentry.reset(((wxZipInputStream*)dupptr.get())->GetNextEntry()); // For dup, get the next entry, then fall thru to rename
case arc_rename: if (item != wxNOT_FOUND) // For rename, change the name then break to copy the entry
{ if (entry->IsDir() && WithinArchiveNewNames[ item ].Last() != wxFILE_SEP_PATH) WithinArchiveNewNames[ item ] << wxFILE_SEP_PATH;
entry->SetName(WithinArchiveNewNames[ item ]);
}
break;
case arc_del: continue;
}
// Copy this entry to the outstream
if (!entry->IsDir())
{ if (!outzip.CopyEntry(entry.release(), *(wxZipInputStream*)InStreamPtr.get())) return false; // CopyEntry is specific to archive/zip-outputsteams, which is why I'm using one here
if (DoWhich==arc_dup && item != wxNOT_FOUND) // If we're duplicating, we now need to output the original version to the stream
if (!outzip.CopyEntry(dupentry.release(), *(wxZipInputStream*)dupptr.get())) return false;
}
else
{ if (!outzip.PutNextDirEntry(entry->GetName(), entry->GetDateTime())) return false; // If it's a dir, this just writes the 'header' info; there isn't any data
entry.release();
if (DoWhich==arc_dup && item != wxNOT_FOUND) // If we're duplicating, we now need to output the original version to the stream
{ if (!outzip.PutNextDirEntry(dupentry->GetName(), dupentry->GetDateTime())) return false; dupentry.release(); }
}
}
if (DoWhich == arc_add) // If we're trying to add, we've just copied all the old entries. Now add new the files to the within-archive dir WithinArchiveName
{ bool success = false;
wxString path = filepaths[0].BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // The first item *must* exist. Use it to find the curent path of the entries: which will be amputated
for (size_t n=0; n < filepaths.GetCount(); ++n)
{ FileData fd(filepaths[n]); if (!fd.IsValid()) continue;
wxString Name; if (!filepaths[n].StartsWith(path, &Name)) continue; // Get what's after path into Name: if we've adding dir foo, path==../path/, Name will be /foo or /foo/bar
Name = WithinArchiveName + Name; wxDateTime DT(fd.ModificationTime());
if (fd.IsDir())
{ success = outzip.PutNextDirEntry(Name, DT); continue; } // Dirs don't have data, so just provide the filepath
if (dirs_only) continue; // If we're pasting a dir skeleton, skip the non-dirs code below
wxFFileInputStream file(filepaths[n]); if (!file.Ok()) continue; // Make a wxFFileInputStream to get the data to be added
wxZipEntry* addentry = new wxZipEntry(Name, DT, file.GetSize()); addentry->SetSystemMadeBy(wxZIP_SYSTEM_UNIX); addentry->SetMode(fd.GetPermissions());
if (!outzip.PutNextEntry(addentry) // and add it to the outputstream
|| ! outzip.Write(file) || ! file.Eof()) continue;
success = true; // Flag that we've at least one successful addition
}
if (!success) return false; // No point proceeding if nothing worked
}
if (!outzip.Close()) return false;
if (!memoutstream->Close()) return false;
OutStreamPtr.reset(memoutstream); // This has a kludgey feel, but it returns the memoutstream to Alter() via the member scoped ptr
return true;
}
wxMemoryBuffer* ZipArchiveStream::ExtractToBuffer(wxString filepath) // Extract filepath from this archive into a new wxMemoryBuffer
{
if (filepath.IsEmpty()) return NULL;
if (!SortOutNames(filepath)) return NULL;
wxZipEntryPtr entry;
wxBusyCursor busy;
wxMemoryInputStream meminstream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer m_membuf. 'Extract' it to a memory stream
wxZipInputStream zip(meminstream);
while (entry.reset(zip.GetNextEntry()), entry.get() != NULL)
{ if (entry->GetName() != WithinArchiveName) continue; // Go thru the archive, looking for the desired file
// Found it. Extract it to a new buffer
wxMemoryOutputStream memoutstream;
if (!memoutstream || ! memoutstream.Write(zip)) return NULL;
size_t size = memoutstream.GetSize(); // This is how much was loaded i.e. the file size
wxChar* buf = new wxChar[ size ]; // It's ugly, but the easiest way I've found to get the data from the stream to a memorybuffer
memoutstream.CopyTo(buf, size); // is by using an intermediate char[]
wxMemoryBuffer* membuf = new wxMemoryBuffer(size); // Now (at last) we can store the data in a memory buffer
membuf->AppendData(buf, size);
delete[] buf;
return membuf;
}
return NULL;
}
void ZipArchiveStream::ListContentsFromBuffer(wxString archivename)
{
wxBusyCursor busy;
GetFromBuffer();
ListContents(archivename);
}
void ZipArchiveStream::GetFromBuffer(bool dup) // Get the stored archive from membuf into the stream
{
wxZipInputStream* zip;
wxMemoryInputStream* meminstream = new wxMemoryInputStream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer membuf. Stream it to a memory stream
if (!dup)
{ MemInStreamPtr.reset(meminstream);
zip = new wxZipInputStream(*MemInStreamPtr.get()); // Then pass it thru the filter
}
else
{ DupMemInStreamPtr.reset(meminstream);
zip = new wxZipInputStream(*DupMemInStreamPtr.get()); // If we're duplicating, use DupMemInStreamPtr the second time around
}
InStreamPtr.reset(zip); // Use this member wxScopedPtr to 'return' the stream
}
void ZipArchiveStream::ListContents(wxString archivename)
{
// Zip files don't contain absolute paths, just any subdirs, so get the bit to be prepended
if (archivename.GetChar(archivename.Len()-1) != wxFILE_SEP_PATH) archivename << wxFILE_SEP_PATH;
wxZipEntryPtr entry;
while (entry.reset(((wxZipInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL)
{ entry->SetSystemMadeBy(wxZIP_SYSTEM_UNIX);
wxString name = archivename + entry->GetName();
wxDateTime time = entry->GetDateTime();
// read 'zip' to access the entry's data
ffs->AddItem(name, entry->GetSize(), time.GetTicks(), entry->GetMode(), entry->IsDir() ? DIRTYPE : REGTYPE); // wxZipEntry can't cope with symlinks etc
}
}
void ZipArchiveStream::RefreshFromDirtyChild(wxString archivename, ArchiveStream* child) // Used when a nested child archive has been altered; reload the altered version
{
if (archivename.IsEmpty() || child == NULL) return;
wxMemoryInputStream childstream(child->GetBuffer()->GetData(), child->GetBuffer()->GetDataLen());
GetFromBuffer(); // The archive is in the memory buffer m_membuf. 'Extract' it to InStreamPtr
wxMemoryOutputStream memoutstream;
wxZipOutputStream outzip(memoutstream);
outzip.CopyArchiveMetaData(*(wxZipInputStream*)InStreamPtr.get());
wxZipEntryPtr entry;
while (entry.reset(((wxZipInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL) // Go thru the archive, looking for the selected files.
{ // Copy this entry to the outstream
if (!entry->IsDir())
{ if (archivename == entry->GetName()) // If this is the archive we want to refresh
{ if (!outzip.PutNextEntry(entry->GetName(), entry->GetDateTime(), childstream.GetSize()) // ignore the original archive; instead add the new data
|| ! outzip.Write(childstream) || ! childstream.Eof()) return;
}
else if (!outzip.CopyEntry(entry.release(), *(wxZipInputStream*)InStreamPtr.get())) return; // CopyEntry is specific to archive/zip-outputsteams, which is why I'm using one here
}
else
{ if (!outzip.PutNextDirEntry(entry->GetName(), entry->GetDateTime())) return; // If it's a dir, this just writes the 'header' info; there isn't any data
entry.release();
}
}
if (!outzip.Close()) return;
if (!memoutstream.Close()) return;
size_t size = memoutstream.GetSize(); // This is how much was loaded i.e. the file size
wxChar* buf = new wxChar[ size ]; // It's ugly, but the easiest way I've found to get the data from the stream to a memorybuffer
memoutstream.CopyTo(buf, size); // is by using an intermediate char[]
delete m_membuf; m_membuf = new wxMemoryBuffer(size); // I've no idea why, but trying to delete the old data by SetDataLen(0) failed :(
m_membuf->AppendData(buf, size); // Store the data
delete[] buf;
SaveBuffer(); // We now need to save (or declare dirty) the parent arc
}
//-----------------------------------------------------------------------------------------------------------------------
TarArchiveStream::TarArchiveStream(DataBase* archive) : ArchiveStream(archive) // Opens a 'real' archive, not a nested one
{
Valid = false;
if (!archive->IsValid()) return;
wxBusyCursor busy;
if (!LoadToBuffer(archive->GetFilepath())) return; // Common code, so do this in base class. Loads the wxMemoryBuffer with the archive
Valid = true;
}
TarArchiveStream::TarArchiveStream(wxMemoryBuffer* membuf, wxString archivename) : ArchiveStream(archivename) // Opens a 'nested' archive
{
Valid = false;
if (archivename.IsEmpty()) return;
m_membuf = membuf;
Valid = true;
}
void TarArchiveStream::ListContentsFromBuffer(wxString archivename)
{
wxBusyCursor busy;
GetFromBuffer();
ListContents(archivename);
}
void TarArchiveStream::ListContents(wxString archivename)
{
// Tar files don't contain absolute paths, just any subdirs, so get the bit to be prepended
if (archivename.GetChar(archivename.Len()-1) != wxFILE_SEP_PATH) archivename << wxFILE_SEP_PATH;
wxTarEntryPtr entry;
while (entry.reset(((wxTarInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL)
{ wxString target;
wxString name = archivename + entry->GetName();
wxDateTime time = entry->GetDateTime();
DB_filetype Type; // wxTarEntry (cf. zipentry) stores the type of 'file' e.g. symlink. So make use of that
switch(entry->GetTypeFlag())
{ case wxTAR_DIRTYPE: Type = DIRTYPE; break; case wxTAR_FIFOTYPE: Type = FIFOTYPE; break;
case wxTAR_BLKTYPE: Type = BLKTYPE; break; case wxTAR_CHRTYPE: Type = CHRTYPE; break;
case wxTAR_SYMTYPE: Type = SYMTYPE; target = entry->GetLinkName(); break;
default: Type = REGTYPE; // Not only reg files, but hardlinks, ex-sockets & "contiguous files" (see wxTAR_CONTTYPE and http://www.gnu.org/software/tar/manual/html_node/Standard.html)
}
ffs->AddItem(name, entry->GetSize(), time.GetTicks(), entry->GetMode(), Type, target);
}
}
void TarArchiveStream::GetFromBuffer(bool dup) // Get the stored archive from m_membuf into the stream
{
wxMemoryInputStream* meminstream = new wxMemoryInputStream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer membuf. Stream it to a memory stream
wxTarInputStream* tar;
if (!dup)
{ MemInStreamPtr.reset(meminstream);
tar = new wxTarInputStream(*MemInStreamPtr.get());
}
else
{ DupMemInStreamPtr.reset(meminstream); // If we're duplicating, use DupMemInStreamPtr the second time around
tar = new wxTarInputStream(*DupMemInStreamPtr.get());
}
InStreamPtr.reset(tar); // Use this member wxScopedPtr to 'return' the stream
}
bool TarArchiveStream::CompressStream(wxOutputStream* outstream) // Pretend to compress this stream, ready to be put into membuf
{
OutStreamPtr.reset(outstream); // Since we can't compress a plain vanilla tarstream, use the member wxScopedPtr to 'return' the same stream
return true;
}
bool TarArchiveStream::Extract(wxArrayString& filepaths, wxString destpath, wxArrayString& resultingfilepaths, bool dirs_only/*=false*/, bool files_only/*=false*/) // Create and extract filepath from the archive
{
if (filepaths.IsEmpty() || destpath.IsEmpty()) return false;
// AdjustFilepaths puts each filepath into WithinArchiveNames, less the /path-to-archive/archive; & creates its dest in WithinArchiveNewNames. If a dir, recursively adds into children too
if (!AdjustFilepaths(filepaths, destpath, resultingfilepaths, afp_extract, dirs_only, files_only)) return false;
GetFromBuffer();
size_t NumberFound = 0;
wxTarEntryPtr entry;
while (entry.reset(((wxTarInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL)
{ int item = WithinArchiveNames.Index(entry->GetName()); // See if this file is one of the ones we're interested in
if (item == wxNOT_FOUND) continue;
// Found it. If it's a file, extract it. If a dir, make a new dir with this name (*outside* the archive ;)
wxLogNull log;
if ((entry->GetTypeFlag() == wxTAR_REGTYPE) // Start with the files, which are the only things that require extraction of data. wxTAR_REGTYPE is 48 ('0')
|| (entry->GetTypeFlag() == 0)) // However in ancient tar formats (as automake's make dist seems to use by default :/) a regular file has a type of NUL
{ wxString Path(resultingfilepaths[ item ]); Path = Path.BeforeLast(wxFILE_SEP_PATH);
if (!wxFileName::Mkdir(Path, 0777, wxPATH_MKDIR_FULL)) return false; // Make any necessary dir
wxFFileOutputStream out(resultingfilepaths[ item ]);
if (!out || ! out.Write(*(wxTarInputStream*)InStreamPtr.get()) || ! InStreamPtr->Eof()) return false; // and extract into the new filepath
FileData fd(resultingfilepaths[ item ]); if (fd.IsValid()) fd.DoChmod(entry->GetMode()); // Correct the extracted file's permissions
}
else if (entry->IsDir())
{ if (!wxFileName::Mkdir(resultingfilepaths[ item ], 0777, wxPATH_MKDIR_FULL)) return false; } // Just create the dir
else if (entry->GetTypeFlag() == wxTAR_SYMTYPE || entry->GetTypeFlag() == wxTAR_LNKTYPE) // The 2nd is in case of confusion, but all links should be symlinks
{ if (!CreateSymlink(entry->GetLinkName(), resultingfilepaths[ item ])) return false; }
else // Otherwise it's a Misc: a FIFO or similar. Just create a new one with the same name
{ wxString Path(resultingfilepaths[ item ]); Path = Path.BeforeLast(wxFILE_SEP_PATH);
FileData fd(Path, true);
mode_t mode; dev_t dev=0;
switch(entry->GetTypeFlag())
{ case wxTAR_CHRTYPE: mode = S_IFCHR; dev = fd.GetDeviceID(); break; case wxTAR_BLKTYPE: mode = S_IFBLK; dev = fd.GetDeviceID(); break;
case wxTAR_FIFOTYPE: mode = S_IFIFO; break; // FIFOs don't need the major/minor thing in dev
default: continue;
}
mode_t oldUmask = umask(0);
if (entry->GetTypeFlag()==wxTAR_FIFOTYPE || getuid()==0) // If we're making a fifo (which doesn't require su), or we're already root
mknod(resultingfilepaths[ item ].mb_str(wxConvUTF8), mode | 0777, dev);
else
{ wxString secondbit = (mode==S_IFBLK ? wxT(" b ") : wxT(" c ")); secondbit << (int)(dev / 256) << wxT(" ") << (int)(dev % 256);
if (WHICH_SU==mysu)
{ if (USE_SUDO) ExecuteInPty(wxT("sudo \"mknod -m 0777 ") + resultingfilepaths[ item ] + secondbit + wxT("\""));
else ExecuteInPty(wxT("su -c \"mknod -m 0777 ") + resultingfilepaths[ item ] + secondbit + wxT("\""));
}
else if (WHICH_SU==kdesu) wxExecute(wxT("kdesu \"mknod -m 0777 ") + resultingfilepaths[ item ] + secondbit + wxT("\""));
else if (WHICH_SU==gksu) wxExecute(wxT("gksu \"mknod -m 0777 ") + resultingfilepaths[ item ] + secondbit + wxT("\""));
else if (WHICH_SU==gnomesu) wxExecute(wxT("gnomesu --title "" -c \"mknod -m 0777 ") + resultingfilepaths[ item ] + secondbit + wxT("\" -d"));
else if (WHICH_SU==othersu && !OTHER_SU_COMMAND.IsEmpty()) wxExecute(OTHER_SU_COMMAND + wxT("\"mknod -m 0777 ") +resultingfilepaths[ item ] + secondbit + wxT("\" -d"));
else { wxMessageBox(_("Sorry, you need to be root to extract character or block devices"), wxT(":-(")); umask(oldUmask); return false; }
}
umask(oldUmask);
}
++NumberFound;
}
// This line used to be inside the loop. However it broke if someone added foo to an archive that already contained a foo; the bogof situation messed up the count
if (NumberFound >= WithinArchiveNames.GetCount()) return true; // See if we've used all the passed filepaths
else return false;
}
wxMemoryBuffer* TarArchiveStream::ExtractToBuffer(wxString filepath) // Extract filepath from this archive into a new wxMemoryBuffer
{
if (filepath.IsEmpty()) return NULL;
if (!SortOutNames(filepath)) return NULL;
wxTarEntryPtr entry;
wxBusyCursor busy;
GetFromBuffer(); // The archive is in the memory buffer m_membuf. 'Extract' it to InStreamPtr
while (entry.reset(((wxTarInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL)
{ if (entry->GetName() != WithinArchiveName) continue; // Go thru the archive, looking for the desired file
// Found it. Extract it to a new buffer
wxMemoryOutputStream memoutstream;
if (!memoutstream || ! memoutstream.Write(*(wxTarInputStream*)InStreamPtr.get())) return NULL;
size_t size = memoutstream.GetSize(); // This is how much was loaded i.e. the file size
wxChar* buf = new wxChar[ size ]; // It's ugly, but the easiest way I've found to get the data from the stream to a memorybuffer
memoutstream.CopyTo(buf, size); // is by using an intermediate char[]
wxMemoryBuffer* membuf = new wxMemoryBuffer(size); // Now (at last) we can store the data in a memory buffer
membuf->AppendData(buf, size);
delete[] buf;
return membuf;
}
return NULL;
}
bool TarArchiveStream::DoAlteration(wxArrayString& filepaths, enum alterarc DoWhich, const wxString& originroot/*=wxT("")*/, bool dirs_only/*=false*/) // Implement add remove del or rename, depending on the enum
{
wxInputStreamPtr dupptr;
GetFromBuffer(); // The archive is in the memory buffer m_membuf. 'Extract' it to InStreamPtr
if (DoWhich==arc_dup) // If we're duplicating, we need a 2nd instream, so store the first and re-extract
{ dupptr.reset(InStreamPtr.release()); GetFromBuffer(true); }
wxMemoryOutputStream* memoutstream = new wxMemoryOutputStream;
if (!CompressStream(memoutstream)) return false; // This will compress the output (unless we're dealing with a plain tar). False means we're not gzip-capable
wxTarOutputStream taroutstream(*OutStreamPtr.get()); // OutStreamPtr is the 'output' of the CompressStream call in Alter()
wxTarEntryPtr entry, dupentry;
while (entry.reset(((wxTarInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL) // Go thru the archive, looking for the selected files.
{ int item = WithinArchiveNames.Index(entry->GetName()); // See if this file is one of the ones we're interested in
switch(DoWhich)
{ case arc_add: break; // Add happens later
case arc_remove: if (item != wxNOT_FOUND) continue; // If this file is one of the 2b-removed ones, ignore it, don't add it to the new archive
else break; // Otherwise break to copy the entry
case arc_dup: dupentry.reset(((wxTarInputStream*)dupptr.get())->GetNextEntry()); // For dup, get the next entry, then fall thru to rename
case arc_rename: if (item != wxNOT_FOUND) // For rename, change the name then break to copy the entry
{ if (entry->IsDir() && WithinArchiveNewNames[ item ].Last() != wxFILE_SEP_PATH) WithinArchiveNewNames[ item ] << wxFILE_SEP_PATH;
entry->SetName(WithinArchiveNewNames[ item ]);
}
break;
case arc_del: continue;
}
// Copy this entry to the outstream
if (!entry->IsDir())
{ if (!taroutstream.CopyEntry(entry.release(), *(wxTarInputStream*)InStreamPtr.get())) return false; // CopyEntry is specific to archive/zip-outputsteams, which is why I'm using one here
if (DoWhich==arc_dup && item != wxNOT_FOUND) // If we're duplicating, we now need to output the original version to the stream
if (!taroutstream.CopyEntry(dupentry.release(), *(wxTarInputStream*)dupptr.get())) return false;
}
else
{ if (!taroutstream.PutNextDirEntry(entry->GetName(), entry->GetDateTime())) return false; // If it's a dir, this just writes the 'header' info; there isn't any data
entry.release();
if (DoWhich==arc_dup && item != wxNOT_FOUND) // If we're duplicating, we now need to output the original version to the stream
{ if (!taroutstream.PutNextDirEntry(dupentry->GetName(), dupentry->GetDateTime())) return false; dupentry.release(); }
}
}
if (DoWhich == arc_add) // If we're trying to add, we've just copied all the old entries. Now add the files to the within-archive dir WithinArchiveName
{ bool success = false;
for (size_t n=0; n < filepaths.GetCount(); ++n)
{ if (DoAdd(filepaths[n], taroutstream, originroot, dirs_only)) success = true; }
if (!success) return false; // No point proceeding if nothing worked
}
if (!taroutstream.Close()) return false;
if (!OutStreamPtr.get()->Close()) return false;
if (!memoutstream->Close()) return false;
OutStreamPtr.reset(memoutstream); // This has a kludgey feel, but it returns the memoutstream to Alter() via the member scoped ptr
return true;
}
bool TarArchiveStream::DoAdd(const wxString& filepath, wxTarOutputStream& taroutstream, const wxString& originroot, bool dirs_only/*=false*/)
{
FileData fd(filepath); if (!fd.IsValid()) return false;
wxString Name; if (!filepath.StartsWith(originroot, &Name)) return false; // Get what's after path into Name: if we've adding dir foo, path==../path/, Name will be /foo or /foo/bar
Name = WithinArchiveName + Name; wxDateTime DT(fd.ModificationTime());
if (fd.IsDir())
return taroutstream.PutNextDirEntry(Name, DT); // Dirs don't have data, so just provide the filepath
if (dirs_only) return false; // If we're pasting a dir skeleton, skip the non-dirs code below
wxTarEntry* addentry = new wxTarEntry(Name, DT); addentry->SetMode(fd.GetPermissions());
if (fd.IsRegularFile())
{ wxFFileInputStream file(filepath); if (!file.Ok()) return false; // Make a wxFFileInputStream to get the data to be added
addentry->SetSize(file.GetSize());
// and add it to the outputstream
return (taroutstream.PutNextEntry(addentry) && (!!taroutstream.Write(file)) && file.Eof());
}
// If it's not a dir, or a file, it must be a misc
int type = wxTAR_REGTYPE; if (fd.IsSymlink()) type = wxTAR_SYMTYPE;
if (fd.IsCharDev()) type = wxTAR_CHRTYPE; if (fd.IsBlkDev()) type = wxTAR_BLKTYPE; if (fd.IsFIFO()) type = wxTAR_FIFOTYPE;
addentry->SetTypeFlag(type);
if (fd.IsSymlink()) addentry->SetLinkName(fd.GetSymlinkDestination(true)); // If a symlink, tell entry its target
return taroutstream.PutNextEntry(addentry); // Add it to the outputstream
}
void TarArchiveStream::RefreshFromDirtyChild(wxString archivename, ArchiveStream* child) // Used when a nested child archive has been altered; reload the altered version
{
if (archivename.IsEmpty() || child == NULL) return;
wxMemoryInputStream childstream(child->GetBuffer()->GetData(), child->GetBuffer()->GetDataLen());
GetFromBuffer(); // The archive is in the memory buffer m_membuf. 'Extract' it to InStreamPtr
wxMemoryOutputStream* memoutstream = new wxMemoryOutputStream;
if (!CompressStream(memoutstream)) return; // This will compress the output (unless we're dealing with a plain tar). False means we're not gzip-capable
wxTarOutputStream taroutstream(*OutStreamPtr.get()); // OutStreamPtr is the 'output' of the CompressStream call in Alter()
wxTarEntryPtr entry;
while (entry.reset(((wxTarInputStream*)InStreamPtr.get())->GetNextEntry()), entry.get() != NULL) // Go thru the archive, looking for the selected files.
{ // Copy this entry to the outstream
if (!entry->IsDir())
{ if (archivename == entry->GetName()) // If this is the archive we want to refresh
{ if (!taroutstream.PutNextEntry(entry->GetName(), entry->GetDateTime(), childstream.GetSize()) // ignore the original archive; instead add the new data
|| ! taroutstream.Write(childstream) || ! childstream.Eof()) return;
}
else if (!taroutstream.CopyEntry(entry.release(), *(wxTarInputStream*)InStreamPtr.get())) return; // CopyEntry is specific to archive/zip-outputsteams, which is why I'm using one here
}
else
{ if (!taroutstream.PutNextDirEntry(entry->GetName(), entry->GetDateTime())) return; // If it's a dir, this just writes the 'header' info; there isn't any data
entry.release();
}
}
if (!taroutstream.Close()) return;
if (!OutStreamPtr.get()->Close()) return;
if (!memoutstream->Close())return;
OutStreamPtr.release(); // Not doing this causes a double-deletion segfault when the archivestream is deleted
size_t size = memoutstream->GetSize(); // This is how much was loaded i.e. the file size
wxChar* buf = new wxChar[ size ]; // It's ugly, but the easiest way I've found to get the data from the stream to a memorybuffer
memoutstream->CopyTo(buf, size); // is by using an intermediate char[]
delete memoutstream;
delete m_membuf; m_membuf = new wxMemoryBuffer(size); // I've no idea why, but trying to delete the old data by SetDataLen(0) failed :(
m_membuf->AppendData(buf, size); // Store the data
delete[] buf;
SaveBuffer(); // We now need to save (or declare dirty) the parent arc
}
//-----------------------------------------------------------------------------------------------------------------------
void GZArchiveStream::GetFromBuffer(bool dup) // Get the stored archive from membuf into the stream
{
wxZlibInputStream* zlib; wxTarInputStream* tar;
wxMemoryInputStream* meminstream = new wxMemoryInputStream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer membuf. Stream it to a memory stream
if (!dup)
{ MemInStreamPtr.reset(meminstream);
zlib = new wxZlibInputStream(*MemInStreamPtr.get()); // Then pass it thru the filter
zlibInStreamPtr.reset(zlib);
tar = new wxTarInputStream(*zlibInStreamPtr.get()); // into a wxTarInputStream
}
else
{ DupMemInStreamPtr.reset(meminstream);
zlib = new wxZlibInputStream(*DupMemInStreamPtr.get()); // If we're duplicating, use DupMemInStreamPtr/DupzlibInStreamPtr the second time around
DupzlibInStreamPtr.reset(zlib);
tar = new wxTarInputStream(*DupzlibInStreamPtr.get());
}
InStreamPtr.reset(tar); // Use this member wxScopedPtr to 'return' the stream
}
bool GZArchiveStream::CompressStream(wxOutputStream* outstream) // Compress this stream, ready to be put into membuf
{
if (!wxZlibOutputStream::CanHandleGZip())
{ wxLogError(_("I'm afraid your zlib is too old to be able to do this :(")); return false; }
wxZlibOutputStream* zlib = new wxZlibOutputStream(*outstream, wxZ_BEST_COMPRESSION, wxZLIB_GZIP); // Pass the outstream thru the filter
OutStreamPtr.reset(zlib); // Use the member wxScopedPtr to 'return' the stream
return true;
}
void GZArchiveStream::ListContentsFromBuffer(wxString archivename)
{
wxBusyCursor busy;
GetFromBuffer();
ListContents(archivename);
}
//-----------------------------------------------------------------------------------------------------------------------
void BZArchiveStream::GetFromBuffer(bool dup) // Get the stored archive from membuf into the stream
{
wxBZipInputStream* zlib; wxTarInputStream* tar;
wxMemoryInputStream* meminstream = new wxMemoryInputStream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer membuf. Stream it to a memory stream
if (!dup)
{ MemInStreamPtr.reset(meminstream);
zlib = new wxBZipInputStream(*MemInStreamPtr.get()); // Then pass it thru the filter
zlibInStreamPtr.reset(zlib);
tar = new wxTarInputStream(*zlibInStreamPtr.get()); // into a wxTarInputStream
}
else
{ DupMemInStreamPtr.reset(meminstream);
zlib = new wxBZipInputStream(*DupMemInStreamPtr.get()); // If we're duplicating, use DupMemInStreamPtr/DupzlibInStreamPtr the second time around
DupzlibInStreamPtr.reset(zlib);
tar = new wxTarInputStream(*DupzlibInStreamPtr.get());
}
InStreamPtr.reset(tar); // Use this member wxScopedPtr to 'return' the stream
}
bool BZArchiveStream::CompressStream(wxOutputStream* outstream) // Compress this stream, ready to be put into membuf
{
wxBZipOutputStream* bzip = new wxBZipOutputStream(*outstream, 9); // Pass the outstream thru the filter
OutStreamPtr.reset(bzip); // Use the member wxScopedPtr to 'return' the stream
return true;
}
void BZArchiveStream::ListContentsFromBuffer(wxString archivename)
{
wxBusyCursor busy;
GetFromBuffer();
ListContents(archivename);
}
//-----------------------------------------------------------------------------------------------------------------------
#ifndef NO_LZMA_ARCHIVE_STREAMS
void XZArchiveStream::GetFromBuffer(bool dup) // Get the stored archive from membuf into the stream
{
XzInputStream* zlib; wxTarInputStream* tar;
wxMemoryInputStream* meminstream = new wxMemoryInputStream(m_membuf->GetData(), m_membuf->GetDataLen()); // The archive is in the memory buffer membuf. Stream it to a memory stream
if (!dup)
{ MemInStreamPtr.reset(meminstream);
if (m_zt == zt_tarxz)
zlib = new XzInputStream(*MemInStreamPtr.get()); // Then pass it thru the filter
else
zlib = new LzmaInputStream(*MemInStreamPtr.get());
zlibInStreamPtr.reset(zlib);
tar = new wxTarInputStream(*zlibInStreamPtr.get()); // into a wxTarInputStream
}
else
{ DupMemInStreamPtr.reset(meminstream);
if (m_zt == zt_xz)
zlib = new XzInputStream(*DupMemInStreamPtr.get()); // If we're duplicating, use DupMemInStreamPtr/DupzlibInStreamPtr the second time around
else
zlib = new LzmaInputStream(*DupMemInStreamPtr.get());
DupzlibInStreamPtr.reset(zlib);
tar = new wxTarInputStream(*DupzlibInStreamPtr.get());
}
InStreamPtr.reset(tar); // Use this member wxScopedPtr to 'return' the stream
}
bool XZArchiveStream::CompressStream(wxOutputStream* outstream) // Compress this stream, ready to be put into membuf
{
XzOutputStream* xz;
if (m_zt == zt_tarxz)
xz = new XzOutputStream(*outstream); // Pass the outstream thru the filter
else
xz = new LzmaOutputStream(*outstream);
OutStreamPtr.reset(xz); // Use the member wxScopedPtr to 'return' the stream
return true;
}
void XZArchiveStream::ListContentsFromBuffer(wxString archivename)
{
wxBusyCursor busy;
GetFromBuffer();
ListContents(archivename);
}
#endif // ndef NO_LZMA_ARCHIVE_STREAMS
//-----------------------------------------------------------------------------------------------------------------------
void ArchiveStreamMan::Push() // Make a new ArchiveStruct and save it on the array
{
if (arc==NULL) return;
ArchiveStruct* newarcst = new struct ArchiveStruct(arc, ArchiveType);
ArcArray->Add(newarcst);
}
bool ArchiveStreamMan::Pop() // Revert to any previous archive. Returns true if this happened
{
size_t count = ArcArray->GetCount();
if (!count) // If we're not within multiple archives, just delete and exit
{ if (!IsArchive()) return false; // providing there's anything to delete
delete arc; arc = NULL; ArchiveType = zt_invalid; OriginalArchive.Empty(); // NB We also kill any arc data, so Pop() will exit a 'single' archive too
// NB we really need the following checks, as otherwise we'll segfault if we're within an archive when the program exits
if (MyFrame::mainframe==NULL || ! MyFrame::mainframe->SelectionAvailable) return false;
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); if (active==NULL) return false;
if (active->fileview == ISRIGHT) active = active->partner; active->fulltree = WasOriginallyFulltree; // Set the pane's fulltree-ness to its original value
return false;
}
ArchiveStruct* PreviousArcst = ArcArray->Item(count-1);
if (arc->IsDirty()) // If we're exiting a nested archive, it might need 2b saved to its parent
{ // Remove the parent-archive/ bit of the filepath (we can't just use the last segment of arc->GetArchiveName(); we may be in a parentarc/subdir/childarc situation)
wxString dirtychildname = arc->GetArchiveName().Mid(PreviousArcst->arc->GetArchiveName().Len() + 1);
PreviousArcst->arc->RefreshFromDirtyChild(dirtychildname, arc);
}
delete arc; arc = PreviousArcst->arc; ArchiveType = PreviousArcst->ArchiveType;
ArcArray->RemoveAt(count-1); delete PreviousArcst; // NB deleting the struct doesn't delete the stored archive, as it is referenced by arc.
return true;
}
bool ArchiveStreamMan::NewArc(wxString filepath, enum ziptype NewArchiveType)
{
if (filepath.IsEmpty()) return false;
DataBase* stat;
bool OriginallyInArchive = IsArchive();
if (IsArchive()) stat = new FakeFiledata(filepath); // If we're opening an archive within an archive, we need to use FakeFiledata here
else stat = new FileData(filepath);
if (!stat->IsValid()) { delete stat; return false; }
ArchiveStream* newarc;
switch(NewArchiveType)
{ case zt_htb: // htb's are effectively zips
case zt_zip: if (!IsArchive()) newarc = new ZipArchiveStream(stat); // If we're not already inside an archive, do things the standard way
else
{ wxMemoryBuffer* membuf; membuf = arc->ExtractToBuffer(filepath);
if (membuf == NULL) { delete stat; return false; }
newarc = new ZipArchiveStream(membuf, filepath);
}
if (!(newarc && newarc->IsValid()))
{ wxLogError(_("For some reason, the archive failed to open :("));
delete stat; delete newarc; return false;
}
((ZipArchiveStream*)newarc)->ListContentsFromBuffer(filepath); break;
case zt_targz: if (!IsArchive()) newarc = new GZArchiveStream(stat); // If we're not already inside an archive, do things the standard way
else
{ wxMemoryBuffer* membuf; membuf = arc->ExtractToBuffer(filepath); // Extract filepath from the previous archive to a membuffer
if (membuf == NULL) { delete stat; return false; }
newarc = new GZArchiveStream(membuf, filepath); // Make a new archive of it
}
if (!(newarc && newarc->IsValid()))
{ wxLogError(_("For some reason, the archive failed to open :("));
delete stat; delete newarc; return false;
}
((GZArchiveStream*)newarc)->ListContentsFromBuffer(filepath); break;
case zt_taronly: if (!IsArchive()) newarc = new TarArchiveStream(stat);
else
{ wxMemoryBuffer* membuf; membuf = arc->ExtractToBuffer(filepath);
if (membuf == NULL) { delete stat; return false; }
newarc = new TarArchiveStream(membuf, filepath);
}
if (!(newarc && newarc->IsValid()))
{ wxLogError(_("For some reason, the archive failed to open :("));
delete stat; delete newarc; return false;
}
((TarArchiveStream*)newarc)->ListContentsFromBuffer(filepath); break;
case zt_tarbz: if (!IsArchive()) newarc = new BZArchiveStream(stat);
else
{ wxMemoryBuffer* membuf; membuf = arc->ExtractToBuffer(filepath);
if (membuf == NULL) { delete stat; return false; }
newarc = new BZArchiveStream(membuf, filepath);
}
if (!(newarc && newarc->IsValid()))
{ wxLogError(_("For some reason, the archive failed to open :("));
delete stat; delete newarc; return false;
}
((BZArchiveStream*)newarc)->ListContentsFromBuffer(filepath); break;
#ifndef NO_LZMA_ARCHIVE_STREAMS
case zt_tarlzma:
case zt_tarxz: if (!LIBLZMA_LOADED)
{ wxMessageBox(_("I can't peek inside that sort of archive unless you install liblzma."), _("Missing library")); delete stat; return false; }
if (!IsArchive()) newarc = new XZArchiveStream(stat, NewArchiveType);
else
{ wxMemoryBuffer* membuf; membuf = arc->ExtractToBuffer(filepath);
if (membuf == NULL) { delete stat; return false; }
newarc = new XZArchiveStream(membuf, filepath, NewArchiveType);
}
if (!(newarc && newarc->IsValid()))
{ wxLogError(_("For some reason, the archive failed to open :("));
delete stat; delete newarc; return false;
}
((XZArchiveStream*)newarc)->ListContentsFromBuffer(filepath); break;
#endif // ndef NO_LZMA_ARCHIVE_STREAMS
case zt_gzip: case zt_bzip: case zt_lzma: case zt_xz: case zt_lzop: case zt_compress:
wxMessageBox(_("This file is compressed, but it's not an archive so you can't peek inside."), _("Sorry")); delete stat; return false;
default: wxMessageBox(_("I'm afraid I can't peek inside that sort of archive."), _("Sorry")); delete stat; return false;
}
if (newarc == NULL) { delete stat; return false; }
Push(); // Save any current archive data
arc = newarc; ArchiveType = NewArchiveType; // and install the new values
if (!OriginallyInArchive) // If this is the original archive (ie not nesting), store interesting info
{ OriginalArchive = filepath; OutOfArchivePath = filepath.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; }
delete stat; return true;
}
//static
bool ArchiveStream::IsStreamable(enum ziptype ztype)
{
if (ztype < zt_firstarchive) return false; // We can't stream compresed files
switch(ztype)
{ case zt_taronly: case zt_targz: case zt_tarbz: case zt_zip: case zt_htb: return true;
#ifndef NO_LZMA_ARCHIVE_STREAMS
case zt_tarlzma: case zt_tarxz: return LIBLZMA_LOADED;
#endif // ndef NO_LZMA_ARCHIVE_STREAMS
default: return false; // zt_invalid, zt_tar7z, zt_tarlzop, zt_taZ, zt_7z, zt_cpio, zt_rpm, zt_ar, zt_deb
}
}
bool ArchiveStreamMan::IsWithinArchive(wxString filepath) // Is filepath within the archive system i.e. the original archive itself, or 1 of its contents, or that of a nested archive
{
if (arc==NULL || ! IsArchive()) return false;
while (filepath.Right(1) == wxFILE_SEP_PATH && filepath.Len() > 1) filepath.RemoveLast();
return filepath.StartsWith(OriginalArchive);
}
bool ArchiveStreamMan::IsWithinThisArchive(wxString filepath)
{
if (!IsWithinArchive(filepath)) return false; // It's faster first to check if it's possible
return arc->IsWithin(filepath);
}
bool ArchiveStreamMan::MightFilepathBeWithinChildArchive(wxString filepath) // See if filepath is longer than the current rootdir. Assume we've just checked it's not in *this* archive
{
if (!IsArchive() || filepath.IsEmpty()) return false; // If there isn't an archive open, the question is meaningless
return filepath.StartsWith(GetArc()->Getffs()->GetRootDir()->GetFilepath()); // Shouldn't need to worry about the terminal '/' on rootdir
}
wxString ArchiveStreamMan::FindFirstArchiveinFilepath(wxString filepath) // Filepath will be a fragment of a path. Find the first thing that looks like an archive
{
wxString filename, segment;
while (true)
{ if (filepath.GetChar(0) == wxFILE_SEP_PATH) filepath = filepath.Mid(1); // Remove any prepended '/'
if (filepath.IsEmpty()) return filepath;
filename += wxFILE_SEP_PATH; segment = filepath.BeforeFirst(wxFILE_SEP_PATH); // Get the first segment of filepath
filename += segment; if (Archive::Categorise(filename) != zt_invalid) return filename; // See if it's an archive. If so return it
filepath = filepath.Mid(segment.Len()); // Amputate the bit we just checked from filepath & try again
}
return wxEmptyString; // We shouldn't reach here
}
enum OCA ArchiveStreamMan::OpenCorrectArchive(wxString& filepath) // See if filepath is (within) a, possibly nested, archive. If so, open it
{
if (filepath.IsEmpty()) return OCA_false;
if (IsWithinThisArchive(filepath)) return OCA_true; // The trivial case!
wxString archivepath;
if (!IsArchive())
{ archivepath = FindFirstArchiveinFilepath(filepath);
if (archivepath.IsEmpty()) return OCA_false;
ziptype zt = Archive::Categorise(archivepath);
if (zt == zt_invalid) return OCA_false; // Shouldn't happen!
if (!NewArc(archivepath, zt)) return OCA_false; // Enter the 1st archive
}
if (MightFilepathBeWithinChildArchive(filepath)) // ie we're going forwards, not backwards
while (true)
{ if (IsWithinThisArchive(filepath)) return OCA_true; // Are we nearly there yet?
archivepath = GetArc()->Getffs()->GetRootDir()->GetFilepath(); archivepath = archivepath.BeforeLast(wxFILE_SEP_PATH);
wxString extra; if (!filepath.StartsWith(archivepath, &extra)) return OCA_false; // Shouldn't happen!
// Extra now contains the unused bit of filepath.
wxString nextbit = FindFirstArchiveinFilepath(extra); // Get the next archive in the path
if (nextbit.IsEmpty()) return OCA_false;
archivepath += nextbit;
ziptype zt = Archive::Categorise(archivepath);
if (zt == zt_invalid) return OCA_false; // Shouldn't happen!
if (!NewArc(archivepath, zt)) return OCA_false; // Enter the next archive in the chain
}
bool flag=true; // It wasn't further into this archive, so try reversing
while (true)
{ flag = Pop();
if (IsWithinThisArchive(filepath)) return OCA_true;
if (!flag) return OCA_retry; // We're out of the old archive. Retry says do it again, to enter any new one
}
return OCA_false;
}
enum NavigateArcResult ArchiveStreamMan::NavigateArchives(wxString filepath) // If filepath is in an archive, goto the archive. Otherwise don't
{
if (filepath.IsEmpty()) return Snafu;
FileData stat(filepath);
if (!IsArchive()) // If we're not already inside an archive, we may need to sort out fulltree mode:
{ if ((stat.IsValid() && Archive::Categorise(filepath) != zt_invalid) // if we're entering an archive,
|| (! stat.IsValid() && ! FindFirstArchiveinFilepath(filepath).IsEmpty())) // or if we're jumping deep into an archive,
{ MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); if (active->fileview == ISRIGHT) active = active->partner;
WasOriginallyFulltree = active->fulltree; active->fulltree = false; // Turn off fulltree mode if it's on, after storing the current state
}
}
if (stat.IsValid() && filepath != OriginalArchive) // If this is an ordinary filepath, escape from any archive(s) and return for normal processing
{ while (Pop()) // The only other reason for stat being valid is if it's the original archive; in which case no point exiting here
;
return OutsideArc;
}
enum OCA ans;
do ans = OpenCorrectArchive(filepath); // Navigate either in, out or shake it all about
while (ans == OCA_retry); // We'll need to retry if we *were* in an archive, and now have to come out to enter a different one
return (ans==OCA_true ? FoundInArchive : Snafu);
}
wxString ArchiveStreamMan::ExtractToTempfile() // Called by FiletypeManager::Openfunction to provide a extracted tempfile
{
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); if (active==NULL) return wxEmptyString;
wxString filepath = active->GetFilePath(); if (filepath.IsEmpty()) return filepath; // Find the filepath to open
wxArrayString filepaths; filepaths.Add(filepath); // Although there's only 1 filepath, the real ExtractToTempfile() needs an array
wxArrayString resultingfilepaths = ExtractToTempfile(filepaths);
if (resultingfilepaths.IsEmpty()) return wxEmptyString;
return resultingfilepaths[0]; // The resulting filepaths are returned in an array. We know there'll only be one of them
}
wxArrayString ArchiveStreamMan::ExtractToTempfile(wxArrayString& filepaths, bool dirs_only/*=false*/, bool files_only/*=false*/) // Called by e.g. EditorBitmapButton::OnEndDrag etc, to provide extracted tempfile(s)
{
wxArrayString tempfilepaths;
if (!IsArchive() || arc==NULL || filepaths.IsEmpty()) return tempfilepaths;
wxFileName tempdirbase;
wxString temppath;
while (true) // Do in a loop in case there's already one there ?!?
{ if (!DirectoryForDeletions::GetUptothemomentDirname(tempdirbase, tempfilecan)) return tempfilepaths; // Make a temporary dir to hold the files
temppath = tempdirbase.GetFullPath();
FileData stat(temppath); if (stat.IsValid()) break;
}
if (!arc->Extract(filepaths, temppath, tempfilepaths, dirs_only, files_only)) // Extract, deleting the temp dir if it fails
{ tempfilepaths.Clear(); tempdirbase.Rmdir(); }
return tempfilepaths; // Return the extracted tempfilepaths
}
4pane-5.0/Redo.cpp 0000644 0001750 0001750 00000217522 13130150240 010701 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Redo.cpp
// Purpose: Undo-redo and manager
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/app.h"
#include "wx/frame.h"
#include "wx/scrolwin.h"
#include "wx/menu.h"
#include "wx/dirctrl.h"
#include "wx/stdpaths.h"
#include "Externs.h"
#include "MyDirs.h"
#include "MyGenericDirCtrl.h"
#include "Devices.h"
#include "MyFrame.h"
#include "Filetypes.h"
#include "Archive.h"
#include "Redo.h"
#include "Misc.h"
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
// This is the pop-down menu used for Previously-Visited Directories
MyPopupMenu::MyPopupMenu(DirGenericDirCtrl* dad, wxPoint& startpt, bool backwards, bool right)
: wxWindow((wxWindow*)dad, -1, wxDefaultPosition, wxSize(0,0)), location(startpt), previous(backwards), isright(right), parent(dad), FIRST_ID(6000)
{
arrayno = parent->GetNavigationManager().GetCount();
count = parent->GetNavigationManager().GetCurrentIndex();
// The dir-control font-size may have been changed eg in gtk2. We need to use the standard size here, as the pop-up menu certainly will, & otherwise GetTextExtent will be wrong
SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
ShowMenu();
}
void MyPopupMenu::ShowMenu() // Prepares & displays a pop-up menu
{
int x,y, extent=0;
int fiddlefactor=15; // Guesstimate the width of the menu border
if (!LoadArray()) return; // If loading array fails, depart forthwith
wxMenu menu;
size_t no = entries.GetCount(); // How many items made it to the local array?
for (size_t c = 0; c < no; ++c) // Load each into the menu, together with a unique id
{ menu.Append(FIRST_ID + c, entries[c]);
if (isright) // If this is the righthand dirview, we want the menu to be to the left of the button, not the right
{ GetTextExtent(entries[c], &x, &y); // So make a valiant attempt to estimate the relevant offset by measuring the string
extent = wxMax(extent, x);
}
}
if (isright) extent += fiddlefactor; // Add the guesstimated border width
PopupMenu(&menu,location.x - extent, location.y); // Now show the menu. If a lefthand dirview, extent will be 0
}
void MyPopupMenu::GetAnswer(wxCommandEvent& event) // Gets the selection from the selection event and returns it
{
int id = event.GetId() - FIRST_ID; // Find which entry was selected
if (id < 0 || (size_t)id >= entries.GetCount()) return; // In case of rubbish, bail out
parent->RetrieveEntry(idarray[ id ]); // Decode selection's index within calling array, & pass this to RetrieveEntry to do the work
}
bool MyPopupMenu::LoadArray() // Facilitates display of revisitable dirs by copying them into member array
{
if (previous && !count) return false; // Not a lot to do, as going backwards & count is already 0
if (!previous && (count+1)>=arrayno) return false; // Not a lot to do, as going forwards & count is already indexing end of array
size_t items;
if (previous)
{ items = (count > MAX_DROPDOWN_DISPLAY ? MAX_DROPDOWN_DISPLAY : count); // Don't display more than max permitted no of dirs
for (size_t c = count-1, n=0; n < items; --c, ++n)
{ entries.Add(parent->GetNavigationManager().GetDir(c)); // Copy dir into our array. Note reverse order
idarray.Add(-(1 + n)); // & save it's displacement from count. This is a LOT easier than decoding it later
}
}
else
{ items = (arrayno - (count+1) > MAX_DROPDOWN_DISPLAY ? MAX_DROPDOWN_DISPLAY : arrayno - (count+1)); // Ditto for forward
for (size_t c = count+1, n=0; n < items; ++c, ++n)
{ entries.Add(parent->GetNavigationManager().GetDir(c));
idarray.Add(n+1);
}
}
return true;
}
BEGIN_EVENT_TABLE(MyPopupMenu,wxWindow)
EVT_MENU(-1, MyPopupMenu::GetAnswer)
END_EVENT_TABLE()
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
SidebarPopupMenu::SidebarPopupMenu(wxWindow* dad, wxPoint& startpt, wxArrayString& names, int& ans)
: wxWindow(dad, -1, wxDefaultPosition, wxSize(0,0)), location(startpt), answer(ans), unredonames(names), parent(dad), FIRST_ID(6000)
{
arrayno = unredonames.GetCount();
count = 0;
ShowMenu();
}
void SidebarPopupMenu::ShowMenu() // Prepares & displays a pop-up menu
{
wxMenu menu;
for (size_t c = 0; c < arrayno; ++c) // Load each item into the menu, together with a unique id
menu.Append(FIRST_ID + c, unredonames[c]);
PopupMenu(&menu,location.x, location.y); // Now show the menu. The event macro will make us resume in GetAnswer
}
void SidebarPopupMenu::GetAnswer(wxCommandEvent& event) // Gets the selection from the selection event and returns it
{
int id = event.GetId() - FIRST_ID; // Find which entry was selected
if (id < 0 || (size_t)id >= arrayno) return ;
answer = id; // answer is a reference, so doing this makes result available to caller
}
BEGIN_EVENT_TABLE(SidebarPopupMenu,wxWindow)
EVT_MENU(-1, SidebarPopupMenu::GetAnswer)
END_EVENT_TABLE()
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
ArrayOfUnRedos UnRedoManager::UnRedoArray; // Initialise static data members
size_t UnRedoManager::m_count=0;
size_t UnRedoManager::cluster=0;
size_t UnRedoManager::currentcluster=0;
bool UnRedoManager::ClusterIsOpen=false;
bool UnRedoManager::Supercluster=false;
size_t UnRedoManager::currentSupercluster = (uint)-1;
UnRedoImplementer UnRedoManager::m_implementer;
MyFrame* UnRedoManager::frame;
//static
void UnRedoManager::ClearUnRedoArray()
{
int arrcount = (int)UnRedoArray.GetCount(); // Get the real size of array (can't use count, as that is altered by undos)
for (int n = arrcount; n > 0; --n) // Delete all outstanding unredo objects pointed to by array
{ UnRedo* item = UnRedoArray[n-1]; delete item;
UnRedoArray.RemoveAt(n-1);
}
m_count = 0;
}
//static
bool UnRedoManager::StartClusterIfNeeded() // Start a new UnRedoManager cluster if none was open. Returns whether it was needed
{
if (ClusterIsOpen) return false;
StartCluster();
return true;
}
//static
void UnRedoManager::StartCluster() // Start a new UnRedoManager cluster. The cluster will autoincrement with each AddEntry
{
/*if (ClusterIsOpen)
{ wxLogError(_("Oops, we're trying to open a new cluster when one is already open!?")); } // which should never ever happen*/
currentcluster = cluster++; // Get next available cluster-code. Inc cluster: if this cluster aborts, who cares --- there are plenty more ints where this came from!
ClusterIsOpen = true;
MyGenericDirCtrl::Clustering = true;
}
//static
void UnRedoManager::EndCluster() // Closes the currently-open cluster
{
/*if (!ClusterIsOpen)
{ wxLogError(_("Oops, we're trying to close a cluster when none is open!?")); } // which should never ever happen either*/
ClusterIsOpen = false; // There isn't really anything to do, except reset the flag
frame->UpdateTrees(); // and release the Updating of the trees
}
//static
int UnRedoManager::StartSuperCluster() // Start a Supercluster. Used eg for Cut/Paste combo, where we want undo to do both at once
{
StartCluster();
if (ClusterIsOpen == true) Supercluster=true; // Assuming that worked (& it's difficult for it not to!), set the Supercluster flag
currentSupercluster = currentcluster;
return currentSupercluster;
}
//static
void UnRedoManager::ContinueSuperCluster() // Continue a Supercluster. eg 1 or subsequent Pastes following a cut
{ // The next line is currently the ONLY check on whether we should continue. This may change in future, if there are >1 sort of super-pairs & they get confused.
if (Supercluster==true && currentSupercluster==currentcluster) // Check we're within a supercluster, & there've been no intervening entries
ClusterIsOpen = true; // If that's the case, reopen ClusterIsOpen without inc.ing currentcluster
else
{ Supercluster=false; StartCluster(); } // If it's not, close any open Supercluster & make a standard start
}
//static
void UnRedoManager::CloseSuperCluster() // Close a Supercluster. Called eg by Copy, so that a Cut, then an Copy, then a Paste, won't be aggregated
{
Supercluster=false;
}
//static
bool UnRedoManager::AddEntry(UnRedo *newentry) // Adds a new undoable action to the array
{
if (!ClusterIsOpen) { //wxLogError(_("Oops, we're trying to add to a cluster when none is open!?")); // which also should never ever happen
StartCluster(); // Start one anyway, otherwise we'll always get the wxLogError
}
if (newentry==NULL) return false; // Some implausible problem occurred
if (m_count == MAX_NUMBER_OF_UNDOS) // Check to see if too many entries. It doesn't matter if count < arraysize, as then we'd be deleting later entries anyway
{ size_t oldcluster = UnRedoArray[0]->clusterno; // Oops. Do a FIFO by removing oldest cluster of entries
do
{ UnRedo* item = UnRedoArray[0];
UnRedoArray.RemoveAt(0); --m_count; // Remove its pointer from the bottom of the array, so shifting the others down
delete item; // Delete the item
}
while (m_count && UnRedoArray[0]->clusterno==oldcluster); // Carry on deleting until we've removed the whole cluster (but check count 1st in case there IS only 1 big cluster!)
}
// Check that there haven't already been some undos. If so, adding another undo invalidates any redos, so delete them
size_t arrno = UnRedoArray.GetCount(); // Get the real size of array
if (m_count < arrno) // If it's bigger than count, there must be redundant entries
{ for (int n = (int)arrno-1; n >= (int)m_count; --n)
{ UnRedo* item = UnRedoArray[n]; delete item; UnRedoArray.RemoveAt(n); } // Delete any entries >= count
} // This time we don't care about clusters: we must've been at a cluster start anyway, & we're deleting the rest
UnRedoArray.Add(newentry); // Append new entry. NB: Pointer. It will need to be deleted in destructor when the app exits
UnRedoArray[m_count]->clusterno = currentcluster; // Tell the entry to which cluster it belongs
UnRedoArray[m_count]->UndoPossible = true; // Set the flag to say there's valid data for a future undo
++m_count; // Finally inc the count
return true;
}
//static
void UnRedoManager::LoadArray(wxArrayString& namearray, int& index, bool redo) // From Sidebars, loads a clutch of clusters from main array into temp one
{
wxString prefix;
if (redo) prefix = _(" Redo: "); else prefix = _(" Undo: ");
int IncDec = (redo? 1 : -1); // If redoing, IncDec is 1 so increments. Otherwise decs
int arrno = UnRedoArray.GetCount(); // Get the size of the real array
// We start with index indexing the beginning of the 1st cluster to deal with
for (size_t n=0; n < MAX_DROPDOWN_DISPLAY; n++)
{ if ((redo && (index >=arrno))
|| (!redo && (index < 0))) return; // No more to do
UnRedo* ptr = UnRedoArray[index]; // Get ptr to the first undo of this cluster
namearray.Add(prefix + ptr->clustername + wxT(" ")); // Add its name to the array
// Now we skip over the rest of the cluster
size_t thiscluster = ptr->clusterno; // Get the id of the cluster
size_t no=0; wxString extra;
while (UnRedoArray[index]->clusterno == thiscluster) // While clusterno matches (& it must at least once!)
{ if (UnRedoArray[index]->clustername == ptr->clustername) // Only do this if the name matches, so that we don't double-count eg Cut & Paste
{ if (++no > 1)
{ extra.Printf(_(" (%zu Items) "), no); // If 2nd item or more, add to standard label the no of cluster items
// If we're Undoing, use the 1st clustername we came to, plus the itemno-to-date. That will be the important one, eg "Paste" in a series of "Paste/Delete" twins
if (!redo) namearray.Last() = prefix + ptr->clustername + extra;
}
}
if (redo) // If Redoing, use the current clustername, +/- the itemno-to-date. The last time we do this, we'll catch the important one, eg "Paste" in a series of "Paste/Delete" twins
{ if (no > 1) namearray.Last() = prefix + UnRedoArray[index]->clustername + extra;
else namearray.Last() = prefix + UnRedoArray[index]->clustername + wxT(" ");
}
index += IncDec; // Inc or Dec index, depending on whether we're undoing or redoing
// Being neurotic, again check for out of bounds, though we should be safe unless the cluster system has broken
if ((redo && (index >=arrno)) || (!redo && (index < 0))) return;
}
}
}
//static
void UnRedoManager::OnUndoSidebar() // Implements Undoing of multiple clusters
{
if (!m_count) return;
wxString more(_(" ---- MORE ---- ")), previous(_(" -- PREVIOUS -- "));
wxArrayString undonames; // Hold the strings to be listed on the pop-up menu
int index = m_count-1, NumberLoaded; // index->count-1 as count points to vacant slot or next redo
int offset = 0; // This copes with displays of >1 page. answer is returned mod current page, so offset stores the extra
// We need to pop-up the sidebar menu below the Undo button. WxWidgets doesn't let us locate this, & the mouse pos could be anywhere within the button.
wxPoint pt; // The solution is to cheat, & place it where calcs say it ought to be. This may fail on future resizes etc
int ht = MyFrame::mainframe->toolbar->GetSize().GetHeight() + 2;
pt.y = ht; // The y pos could be anywhere within the button, so replace with the known toolbar-height, plus a fiddle-factor
pt.x = (MyFrame::mainframe->buttonsbeforesidebar * ht) + (MyFrame::mainframe->separatorsbeforesidebar * 7); // ht is a good proxy for the width; & we counted the tools on insertion
do
{
undonames.Empty(); // In case this isn't the 1st iteration
if (offset > 0) // If there's a previous batch, add something to click on to get to it
undonames.Add(previous);
NumberLoaded = undonames.GetCount(); // May be used in Previous below. Currently 0 or 1
LoadArray(undonames, index, false); // This loads a batch of display-names into the array. Note that index is passed as a reference, so will be altered
NumberLoaded = undonames.GetCount() - NumberLoaded; // Will now hold the no loaded this loop
if (index >= 0) // If there're more to come, add something to click on to get to them
undonames.Add(more);
int answer = -1; // This is where the answer will appear. Give it a daft value so that we'll recognise a true entry
SidebarPopupMenu popup(MyFrame::mainframe, pt, undonames, answer); // Now do the pop-up menu
if (answer == -1) return; // Now let's try & make sense of the answer. If it hasn't changed, ESC was pressed so go home
if (undonames[ answer ] == previous) // Go into reverse
{ index += (NumberLoaded + MAX_DROPDOWN_DISPLAY); // Remove the number just loaded, plus another page-worth
index = wxMin(index, ((int)m_count)-1); // but ensure we don't overdo it
offset -= MAX_DROPDOWN_DISPLAY; // Similarly deal with offset
offset = wxMax(offset, 0);
continue;
}
if (undonames[ answer ] == more) // If more requested, just loop again
{ offset += MAX_DROPDOWN_DISPLAY; continue; } // after incrementing offset so that we'll know what page we're on
if (answer > (int)MAX_DROPDOWN_DISPLAY) return; // Just to avoid rubbish
// If we're here, congratulations: there's a valid answer
if (undonames[0] == previous) --answer; // If the "Previous" string was displayed, this will occupy slot 1 in the menu, so dec answer to compensate
UndoEntry(offset + answer+1); // Do the Undo. The +1 is because undonames[0] is the first undo, represented by answer==1
return;
} while (1); // The only escape is by returning
}
//static
void UnRedoManager::UndoEntry(int clusters) // Undoes 'clusters' of clusters of stored actions
{
if (m_implementer.IsActive()) return;
// We need to pass the unredos of each cluster separately to UnRedoImplementer as we must unredo a Move of foo, bar and baz together
// otherwise a Redo of the move followed by e.g. a rename of foo is likely to break when foo is large: foo won't have finshed moving when the rename happens
wxArrayInt clusterarr;
size_t first = m_count -1;
for (int n=0; n < clusters; ++n) // For every cluster-to-be-undone
{ if (!m_count) break;
size_t count(0);
UnRedo* ptr = UnRedoArray[m_count-1]; // Retrieve ptr to the first undo of this cluster
size_t thisclusterno = ptr->clusterno;
wxString thisclustername = ptr->clustername;
while (ptr->clusterno == thisclusterno) // While clusterno matches (& it must at least once!) dec the counts
{ if (!ptr->clustername.IsSameAs(thisclustername)) // But don't if the name changed; that would mean a Cut/Paste move, which must be redone separately & it costs nothing to Undo it separately too, just in case
{ --n; break; } // so break the while loop, but dec the counter so this clusterno will be continued without causing the last cluster to be missed
--m_count; ++count;
if (!m_count) break; // Check we haven't come to the end of the first cluster in the array
ptr = UnRedoArray[m_count-1];
}
clusterarr.Add(count); // Store the number of items in this cluster
}
if (clusterarr.GetCount())
{ MyGenericDirCtrl::Clustering = true;
m_implementer.DoUnredos(UnRedoArray, first, clusterarr, true);
}
}
//static
void UnRedoManager::OnRedoSidebar() // Implements Redoing of multiple clusters
{
size_t arrno = UnRedoArray.GetCount(); // Get the size of the array
if (arrno==m_count) return; // None to redo
wxString more(_(" ---- MORE ---- ")), previous(_(" -- PREVIOUS -- "));
wxArrayString redonames; // Hold the strings to be listed on the pop-up menu
int index = m_count, NumberLoaded; // count points to the 1st item to be redone
int offset = 0; // This copes with displays of >1 page. answer is returned mod current page, so offset stores the extra
// We need to pop-up the sidebar menu below the Redo button. WxWidgets doesn't let us locate this, & the mouse pos could be anywhere within the button.
wxPoint pt; // The solution is to cheat, & place it where calcs say it ought to be. This may fail on future resizes etc
int ht = MyFrame::mainframe->toolbar->GetSize().GetHeight() + 2;
pt.y = ht; // The y pos could be anywhere within the button, so replace with the known toolbar-height, plus a fiddle-factor
pt.x = (MyFrame::mainframe->buttonsbeforesidebar * ht) + ht + 13 // (The extra 'ht' is for the Undo button, the 13 for the Undo sidebar buttton)
+ (MyFrame::mainframe->separatorsbeforesidebar* 7); // ht is a good proxy for the width; & we counted the other tools on insertion
do
{
redonames.Empty(); // In case this isn't the 1st iteration
if (offset > 0) // If there's a previous batch, add something to click on to get to it
redonames.Add(previous);
NumberLoaded = redonames.GetCount(); // May be used in Previous below. Currently 0 or 1
LoadArray(redonames, index, true); // This loads a batch of display-names into the array. Note that index is passed as a reference, so will be altered
NumberLoaded = redonames.GetCount() - NumberLoaded; // Will now hold the no loaded this loop
if (index < (int)arrno) // If there're more to come, add something to click on to get to them
redonames.Add(more);
int answer = -1; // This is where the answer will appear. Give it a daft value so that we'll recognise a true entry
SidebarPopupMenu popup(MyFrame::mainframe, pt, redonames, answer); // Now do the pop-up menu
if (answer == -1) return; // Now let's try & make sense of the answer. If it hasn't changed, ESC was pressed so go home
if (redonames[ answer ] == previous) // Go into reverse
{ index -= (NumberLoaded + MAX_DROPDOWN_DISPLAY); // Remove the no last displayed, plus another page-worth
index = wxMax(index, (int)m_count); // but ensure we don't overdo it
offset -= MAX_DROPDOWN_DISPLAY; // Similarly deal with offset
offset = wxMax(offset, 0);
continue;
}
if (redonames[ answer ] == more) // If more requested, just loop again
{ offset += MAX_DROPDOWN_DISPLAY; continue; } // after incrementing offset so that we'll know what page we're on
if (answer > (int)MAX_DROPDOWN_DISPLAY) return; // Just to avoid rubbish
// If we're here, congratulations: there's a valid answer
if (redonames[0] == previous) --answer; // If the "Previous" string was displayed, this will occupy slot 1 in the menu, so dec answer to compensate
RedoEntry(offset + answer+1); // Do the Redo. The +1 is because redonames[0] is the first redo, represented by answer==1
return;
} while (1); // The only escape is by returning
}
//static
void UnRedoManager::RedoEntry(int clusters) // Redoes 'clusters' of clusters of stored actions
{
if (m_implementer.IsActive()) return;
size_t arraysize = UnRedoArray.GetCount();
if (m_count >= arraysize) return; // If count < array size, there are items available to be redone.
size_t first = m_count;
wxArrayInt clusterarr;
for (int n=0; n < clusters; ++n)
{ if (m_count == arraysize) break; // No more to redo
size_t count(0);
UnRedo* ptr = UnRedoArray[m_count]; // Retrieve ptr to the highest redoable item
size_t thisclusterno = ptr->clusterno;
wxString thisclustername = ptr->clustername;
while (ptr->clusterno == thisclusterno) // While clusterno matches, inc the counts
{ if (!ptr->clustername.IsSameAs(thisclustername)) // Except don't if the name has changed; that would mean a Cut/Paste move, which must be redone separately
{ --n; break; } // so break the while loop, but dec the counter so this clusterno will be continued without causing the last cluster to be missed
++count;
++m_count;
if (m_count == arraysize) break; // Check we haven't come to the end of the last cluster in the array
ptr = UnRedoArray[m_count];
}
clusterarr.Add(count);
}
if (clusterarr.GetCount())
{ MyGenericDirCtrl::Clustering = true;
m_implementer.DoUnredos(UnRedoArray, first, clusterarr, false);
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
bool UnRedoImplementer::DoUnredos(ArrayOfUnRedos& urarr, size_t first, const wxArrayInt& countarr, bool undoing)
{
wxCHECK_MSG(countarr.GetCount() > 0, false, wxT("Passed an empty count array"));
m_UnRedoArray = &urarr; m_NextItem = first; m_CountArray = countarr; m_CountarrayIndex = 0;
m_IsUndoing = undoing; m_IsActive = true;
m_Successcount = 0;
StartItems();
return true;
}
void UnRedoImplementer::StartItems()
{
wxCHECK_RET(IsActive(), wxT("Trying to unredo when we're not active"));
wxCHECK_RET(m_NextItem < m_UnRedoArray->GetCount() && ((int)m_NextItem >= 0), wxT("Passed an invalid unredo index"));
// We are here to do a single UnRedo cluster e.g. if 3 selected items were deleted, m_CountArray[m_CountarrayIndex] will be 3; if 1 item was renamed, 1
// These can all safely be UnRedone at once, even in a thread situation (whereas 2 clusters containing e.g. a Move followed by a rename can't be threaded together safely for timing reasons
size_t count = m_CountArray[m_CountarrayIndex];
wxCHECK_RET(count > 0, wxT("Passed an unredo with a zero count of items"));
bool ThreadUsed(false); // This will be set if we actually use a thread below. It lets us start threads if any exist, or clean up if none was needed
// Before we start the loop, do a one-off sort out of the PasteThreadSuperBlock if this is a Move or Paste
PasteThreadSuperBlock* tsb = NULL;
UnRedo* ptr = (*m_UnRedoArray)[m_NextItem];
if (dynamic_cast(ptr))
{ tsb = (PasteThreadSuperBlock*)ThreadsManager::Get().StartSuperblock(wxT("paste"));
dynamic_cast(ptr)->SetThreadSuperblock(tsb);
}
else if (dynamic_cast(ptr))
{ tsb = (PasteThreadSuperBlock*)ThreadsManager::Get().StartSuperblock(wxT("move"));
dynamic_cast(ptr)->SetThreadSuperblock(tsb);
}
if (tsb)
tsb->SetFromUnRedo(ptr->IsUndoing() ? URT_undo : URT_redo);
// Now go through all of this cluster's items (often that'll only be 1)
for (size_t n=0; n < count; ++n)
{ wxCHECK_RET(m_NextItem != size_t(-1), wxT("Probably overran the count"));
UnRedo* ptr = (*m_UnRedoArray)[m_NextItem];
wxCHECK_RET(ptr, wxT("Passed an invalid unredo"));
if (dynamic_cast(ptr))
{ dynamic_cast(ptr)->SetThreadSuperblock(tsb);
if (!m_IsUndoing) ThreadUsed = true; // Redo paste should start a thread
}
else if (dynamic_cast(ptr))
{ dynamic_cast(ptr)->SetThreadSuperblock(tsb);
ThreadUsed = true; // Move always starts a thread
}
bool result;
if (m_IsUndoing)
result = ptr->Undo();
else
result = ptr->Redo();
if (!result)
{ OnAllItemsCompleted(false);
return;
}
ptr->ToggleFlags();
// The following line sets ThreadUsed for a paste-undo that doesn't have to retrieve a previously-overwritten file
if (tsb && !ThreadUsed && !dynamic_cast(ptr)->GetOverwrittenFile().empty())
ThreadUsed = true;
GetNextItem();
}
if (tsb)
{ tsb->SetMessageType(m_IsUndoing ? _("undone") : _("redone"));
tsb->SetUnRedoId(m_CountarrayIndex);
tsb->StartThreads();
if (!ThreadUsed)
ThreadsManager::Get().AbortThreadSuperblock(tsb); // None of the unredos needed a thread so abort; otherwise it'll never be removed
}
else
OnItemCompleted(m_CountarrayIndex); // If we're not using threads the unredo will already have completed
}
void UnRedoImplementer::OnItemCompleted(size_t item)
{
wxASSERT(item == m_CountarrayIndex);
++m_Successcount;
++m_CountarrayIndex;
if (!IsCompleted())
StartItems();
else
OnAllItemsCompleted();
}
bool UnRedoImplementer::IsCompleted() const
{
if (!IsActive() || !m_UnRedoArray || m_CountArray.IsEmpty()) return true;
return (m_CountarrayIndex >= m_CountArray.GetCount());
}
size_t UnRedoImplementer::GetNextItem()
{
if (m_IsUndoing)
{ if ((int)m_NextItem <= 0)
return size_t(-1);
return --m_NextItem;
}
if (m_NextItem+1 >= m_UnRedoArray->GetCount())
return size_t(-1);
return ++m_NextItem;
}
void UnRedoImplementer::OnAllItemsCompleted(bool successfully/*=true*/)
{
m_IsActive = false; m_UnRedoArray = NULL;
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
MyFrame::mainframe->UpdateTrees();
wxString msg = m_Successcount > 1 ? _(" actions ") : _(" action ");
wxString type = m_IsUndoing ? _("undone") : _("redone");
if (!successfully || (m_Successcount < m_CountArray.GetCount()))
type << wxT(", ") << (m_CountArray.GetCount()-m_Successcount) << wxT(" failed");
DoBriefLogStatus(m_Successcount, msg, type);
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
// A global helper for the archive UnRedos
MyGenericDirCtrl* ReopenArchiveIfNeeded(MyGenericDirCtrl* pane, wxString filepath, MyGenericDirCtrl* anotherpane) // Ensures the pane is (still) open to the archive containing filepath
{
if (filepath.IsEmpty()) return NULL;
if (pane==NULL || pane->arcman==NULL)
{ pane = MyFrame::mainframe->GetActivePane(); if (pane==NULL || pane->arcman==NULL) return NULL; // In case the tab has been shut!
if (anotherpane != NULL && (pane == anotherpane || pane == anotherpane->partner)) // anotherpane will be NULL for callers like Rename, where only 1 pane is relevant
pane = pane->GetOppositeDirview(); // If we're interested in *both* dirctrls, and we've just grabbed the wrong one, swap to the other
else
if (pane!=NULL && pane->arcman!=NULL && pane->arcman->IsArchive())
pane = pane->GetOppositeDirview(); // For moving between archives, we don't want both to be on the same pane!
}
if (pane==NULL || pane->arcman==NULL) return NULL;
if (!pane->arcman->IsArchive() || !pane->arcman->GetArc()->IsWithin(filepath))
{ while (Archive::Categorise(filepath) == zt_invalid) // If that archive is no longer open, we need to find the distal archive in path and open it
{ if (filepath.IsEmpty()) return NULL;
filepath = filepath.BeforeLast(wxFILE_SEP_PATH); // Amputate until we find an archive
}
pane->OnOutsideSelect(filepath); // Open it
if (!pane->arcman->IsArchive() || !pane->arcman->GetArc()->IsWithin(filepath)) return NULL; // Just a check: shouldn't happen
}
return pane; // Returning a non-null ptr signifies success. It will be the pane that's used by the caller
}
bool UnRedoMove::Undo() // Undoing a Move means Moving in reverse
{
if (!UndoPossible) return false;
wxString originalpath = original.GetPath(); // We use this pre-Move version for UpdateTrees after
bool result = MyGenericDirCtrl::Move(&final, &original, originalfinalbit, m_tsb, GetOverwrittenFile()); // Do the Undo. NB we pass any overwritten file too
if (result) // Assuming it worked, we need to remove what was undone from 'final', ready for any redo
{ if (!ItsADir) // If we've just unmoved a file
{ if (!FromDelete) // Don't Update the trashcan: unnecessary, and also leaves the dirview showing it in FullTree mode
MyFrame::mainframe->OnUpdateTrees(final.GetPath(), IDs);
MyFrame::mainframe->OnUpdateTrees(originalpath, IDs);
if (USE_FSWATCHER && GetNeedsYield()) // No need if !USE_FSWATCHER, or we're not undoing an overwrite
{ PasteThreadEvent event(PasteThreadType, -1); // The ID of -1 flags that this is a fake theadevent
wxArrayString paths; paths.Add(originalpath);
event.SetRefreshesArrayString(paths);
wxPostEvent(MyFrame::mainframe, event);
}
wxString ToName(finalbit);
if (!ToName.IsEmpty() && ToName.Last() == wxFILE_SEP_PATH) ToName = ToName.BeforeLast(wxFILE_SEP_PATH); // Sanity-check, but this *shouldn't* happen in a file
if (ToName.find(wxFILE_SEP_PATH) != wxString::npos) // All this is to defend against the case where finalbit is foo/bar instead of just bar
{ wxFileName temp(ToName); // So make a wxFileName, then count the dirs
for (size_t n=0; n < temp.GetDirCount(); ++n) final.RemoveDir(final.GetDirCount() - 1);
}
final.SetFullName(wxEmptyString); // then remove filename from 'final'
}
else
{ wxString ToName(finalbit); if (!ToName.IsEmpty() && ToName.Last() != wxFILE_SEP_PATH) ToName << wxFILE_SEP_PATH;
wxFileName temp(ToName);
for (size_t n=0; n < temp.GetDirCount(); ++n) // Again defend against the case where finalbit is foo/bar/ instead of just bar/
final.RemoveDir(final.GetDirCount() - 1); // It's a dir, so remove each subdirname from 'final'
if (!FromDelete) MyFrame::mainframe->OnUpdateTrees(final.GetPath(), IDs); // & Refresh. See above comment re FromDelete
MyFrame::mainframe->OnUpdateTrees(originalpath, IDs); // NB use original original-path
}
}
return result;
}
bool UnRedoMove::Redo() // Re-doing a Move means re-Moving
{
if (!RedoPossible) return false;
wxString finalpath = final.GetPath(); // We'll need to use this pre-Move version for UpdateTrees in a moment
bool result = MyGenericDirCtrl::Move(&original, &final, finalbit, m_tsb);
if (result) // Assuming it worked, we need to remove what was redone from 'original', ready for any re-undo
{ if (!ItsADir) // If we've just ReMoved a file
{ if (USE_FSWATCHER && GetNeedsYield()) // No need if !USE_FSWATCHER, or we're not redoing an overwrite
{ PasteThreadEvent event(PasteThreadType, -1); // The ID of -1 flags that this is a fake theadevent
wxArrayString paths; paths.Add(original.GetPath());
event.SetRefreshesArrayString(paths);
wxPostEvent(MyFrame::mainframe, event);
}
original.SetFullName(wxEmptyString); // Remove its name from 'original'
}
else
original.RemoveDir(original.GetDirCount() - 1); // Otherwise it's a dir. Remove this dirname from 'original'
MyFrame::mainframe->OnUpdateTrees(original.GetPath(), IDs);
if (!FromDelete) // Don't Update the trashcan: unnecessary, and also leaves the dirview showing it in FullTree mode
MyFrame::mainframe->OnUpdateTrees(finalpath, IDs);
}
return result;
}
bool UnRedoPaste::Undo() // Undoing a Paste means deleting the copy
{
if (!UndoPossible) return false;
bool result = MyGenericDirCtrl::ReallyDelete(&final);
if (result && !GetOverwrittenFile().empty()) // We also have to replace any would-have-been-overwritten file. It was stored in the trashcan
{ wxSafeYield(); // For some reason, if we don't do this the FSWatcher delete events are processed _after_ the create ones, so the pane thinks the file is gone
wxFileName overwritten(GetOverwrittenFile());
result = MyGenericDirCtrl::Paste(&overwritten, &final, GetOverwrittenFile().AfterLast(wxFILE_SEP_PATH), false, false, false, m_tsb);
}
if (result) // Assuming it worked, we need to remove what was undone from 'final', ready for any redo
{ if (!ItsADir) // If we've just uncopied a file
{ MyFrame::mainframe->OnUpdateTrees(final.GetPath(), IDs);
wxString ToName(finalbit);
if (!ToName.IsEmpty() && ToName.Last() == wxFILE_SEP_PATH) ToName = ToName.BeforeLast(wxFILE_SEP_PATH); // Sanity-check, but this *shouldn't* happen in a file
if (ToName.find(wxFILE_SEP_PATH) != wxString::npos) // All this is to defend against the case where finalbit is foo/bar instead of just bar
{ wxFileName temp(ToName); // So make a wxFileName, then count the dirs
for (size_t n=0; n < temp.GetDirCount(); ++n) final.RemoveDir(final.GetDirCount() - 1);
}
final.SetFullName(wxEmptyString); // Remove filename from 'final'
}
else
{ wxString ToName(finalbit); if (!ToName.IsEmpty() && ToName.Last() != wxFILE_SEP_PATH) ToName << wxFILE_SEP_PATH;
wxFileName temp(ToName);
for (size_t n=0; n < temp.GetDirCount(); ++n) // Again defend against the case where finalbit is foo/bar/ instead of just bar/
final.RemoveDir(final.GetDirCount() - 1); // It's a dir, so remove each subdirname from 'final'
MyFrame::mainframe->OnUpdateTrees(final.GetPath(), IDs); // & Update what's left
}
}
return result;
}
bool UnRedoPaste::Redo()
{
if (!RedoPossible) return false;
wxString finalpath = final.GetPath(); // We'll need to use this pre-Paste version for UpdateTrees in a moment
bool result = MyGenericDirCtrl::Paste(&original, &final, finalbit, ItsADir, m_dirs_only, false, m_tsb); // Do the Redo
if (result)
MyFrame::mainframe->OnUpdateTrees(finalpath, IDs); // If successful, Update the stubpath, as any new file/subdir won't yet be in the treectrl
return result;
}
bool UnRedoLink::Undo() // Undoing a Link means ReallyDeleting the link
{
if (!UndoPossible) return false;
wxFileName fp(linkfilepath); // ReallyDelete needs a wxFileName, so make one
bool result = MyGenericDirCtrl::ReallyDelete(&fp);
if (result)
MyFrame::mainframe->OnUpdateTrees(linkfilepath.BeforeLast(wxFILE_SEP_PATH), IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" undone"));
return result;
}
bool UnRedoLink::Redo()
{
if (!RedoPossible) return false;
bool result;
if (linkage) result = CreateSymlinkWithParameter(originfilepath, linkfilepath, relativity); // Create a new symlink. relativity may be absolute, relative or no change
else result = CreateHardlink(originfilepath, linkfilepath); // or hard-link
if (result)
MyFrame::mainframe->OnUpdateTrees(linkfilepath.BeforeLast(wxFILE_SEP_PATH), IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" redone"));
return result;
}
bool UnRedoChangeLinkTarget::Undo() // Undoing a ChangeLinkTarget means changing in reverse
{
if (!UndoPossible) return false;
bool result = CheckDupRen::ChangeLinkTarget(linkname, oldtarget);
if (result)
MyFrame::mainframe->OnUpdateTrees(linkname.BeforeLast(wxFILE_SEP_PATH), IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" undone"));
return result;
}
bool UnRedoChangeLinkTarget::Redo()
{
if (!RedoPossible) return false;
bool result = CheckDupRen::ChangeLinkTarget(linkname, newtarget);
if (result)
MyFrame::mainframe->OnUpdateTrees(linkname.BeforeLast(wxFILE_SEP_PATH), IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" redone"));
return result;
}
bool UnRedoChangeAttributes::Undo() // Undoing an attribute change means changing in reverse
{
if (!UndoPossible) return false;
size_t successes=0, failures=0; // We don't actually use these, but they're needed for the next function
int result = RecursivelyChangeAttributes(filepath, IDs, OriginalAttribute, successes, failures, whichattribute, -1);
if (result > 0) // 0==failure, 1==unqualified success, 2==partial success, though this is an unlikely result in an unredo
MyFrame::mainframe->OnUpdateTrees(filepath.BeforeLast(wxFILE_SEP_PATH), IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" undone"));
return (result > 0);
}
bool UnRedoChangeAttributes::Redo()
{
if (!RedoPossible) return false;
size_t successes=0, failures=0; // We don't actually use these, but they're needed for the next function
int result = RecursivelyChangeAttributes(filepath, IDs, NewAttribute, successes, failures, whichattribute, -1);
if (result > 0)
MyFrame::mainframe->OnUpdateTrees(filepath.BeforeLast(wxFILE_SEP_PATH), IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" redone"));
return (result > 0);
}
bool UnRedoNewDirFile::Undo() // Undoing a New means ReallyDeleting it
{
if (!UndoPossible) return false;
wxString name = filename; // Make a local copy of filename, in case we amend it below
if (ItsADir)
{ // We need to check if we're undoing a multiple NewDir, e.g. adding bar/baz on to ~/foo. If so we just delete bar/
wxString bar(name); // However we must protect against someone undoing the creation of /bar/baz/, or //bar/baz/, or...; otherwise we'd end up deleting foo/ instead
size_t pos = bar.find_first_not_of(wxFILE_SEP_PATH);
if (pos && pos != wxString::npos)
{ bar = bar.Mid(pos); // Skip over the initial '/'s before doing BeforeFirst()
bar = bar.BeforeFirst(wxFILE_SEP_PATH);
name = wxFILE_SEP_PATH + bar; // Replace the initial '/', just in case it really is necessary for some reason
}
else name = name.BeforeFirst(wxFILE_SEP_PATH); // No initial '/' so it's easy
name += wxFILE_SEP_PATH; // Add a terminal '/' for the usual reason!
}
wxFileName fp(path + name); // ReallyDelete needs a wxFileName, so make one
bool result = MyGenericDirCtrl::ReallyDelete(&fp);
if (result) // Assuming it worked, we just need to UpdateTrees
MyFrame::mainframe->OnUpdateTrees(path, IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" undone"));
return result;
}
bool UnRedoNewDirFile::Redo()
{
if (!RedoPossible) return false;
int result = 0; // Set to false in case Active==NULL below
MyGenericDirCtrl* Active = MyFrame::mainframe->GetActivePane(); // We need a pane ptr. May as well use the active one
if (Active != NULL) result = Active->OnNewItem(filename, path, ItsADir); // Redo the "New"
if (result) // Assuming it worked, we just need to UpdateTrees
MyFrame::mainframe->OnUpdateTrees(path, IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" redone"));
return result;
}
bool UnRedoDup::Undo() // Undoing a Dup means ReallyDeleting the duplicate
{ // (Of course, for a file we could have used wxRemoveFile, but what if it's a dir?)
if (!UndoPossible) return false;
wxFileName fp; // ReallyDelete needs a wxFileName
if (ItsADir) fp.Assign(newpath + newname);
else fp.Assign(destpath, newname);
bool result = MyGenericDirCtrl::ReallyDelete(&fp);
if (result) // Assuming it worked, we just need to UpdateTrees
MyFrame::mainframe->OnUpdateTrees(destpath, IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" undone"));
return result;
}
bool UnRedoDup::Redo()
{
int result; // CheckDupRen::RenameDir* returns an int, may be 0, 1, 2
if (!RedoPossible) return false;
if (ItsADir)
{ wxString originalfilepath = destpath + originalname, finalfilepath = newpath + newname;
result = CheckDupRen::RenameDir(originalfilepath, finalfilepath, true);
}
else
result = CheckDupRen::RenameFile(destpath, originalname, newname, true);
if (result > 0) // Assuming it worked, we just need to UpdateTrees
MyFrame::mainframe->OnUpdateTrees(destpath, IDs);
if (result) DoBriefLogStatus(1, _("action"), _(" redone"));
return (result > 0);
}
bool UnRedoRen::Undo() // Undoing a Rename means ReRenaming
{
int result; // CheckDupRen::RenameDir* returns an int, may be 0, 1, 2
if (!UndoPossible) return false;
if (ItsADir)
{ result = CheckDupRen::RenameDir(newpath, destpath, false); // Note the reversal of newname/originalname
if (result > 0)
{ if (newname.IsEmpty()) // For a dir, newname should be empty. If so, update the standard way
MyFrame::mainframe->OnUpdateTrees(newpath.BeforeLast(wxFILE_SEP_PATH), IDs);
else // If not, it flags that we renamed startdir, so tell UpdateTrees that
MyFrame::mainframe->OnUpdateTrees(newpath, IDs, destpath);// Note here we use newpath, not its parent
}
}
else
{ result = CheckDupRen::RenameFile(destpath, newname, originalname, false);
if (result > 0) MyFrame::mainframe->OnUpdateTrees(destpath, IDs); // Assuming it worked, we just need to UpdateTrees
}
if (result) DoBriefLogStatus(1, _("action"), _(" undone"));
return (result > 0);
}
bool UnRedoRen::Redo()
{
int result; // CheckDupRen::RenameDir* returns an int, may be 0, 1, 2
if (!RedoPossible) return false;
if (ItsADir)
{ result = CheckDupRen::RenameDir(destpath, newpath, false);
if (result > 0)
{ if (newname.IsEmpty()) // For a dir, newname should be empty. If so, update the standard way
MyFrame::mainframe->OnUpdateTrees(destpath.BeforeLast(wxFILE_SEP_PATH), IDs);
else // If not, it flags that we renamed startdir, so tell UpdateTrees that
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, newname);// Note here we use destpath, not its parent
}
}
else
{ result = CheckDupRen::RenameFile(destpath, originalname, newname, false);
if (result > 0) MyFrame::mainframe->OnUpdateTrees(destpath, IDs); // Assuming it worked, we just need to UpdateTrees
}
if (result) DoBriefLogStatus(1, _("action"), _(" redone"));
return (result > 0);
}
bool UnRedoArchiveRen::Undo() // Undoing a Rename or Move means ReRenaming. Undoing a Paste means Removing
{
if (!UndoPossible) return false;
wxString filepath(newfilepaths[0]);
// Though this is UnRedoArchiveREN it's used for Moving/Pasting within an archive too.
// Here we're trying to cope with Moving within an archive that is/was open in both fileviews. If one was subsequently closed, we don't want to reopen it to unredo
if (!other) // First overcome the small hurdle that none of the functions that create this UnRedo actually _set_ other!
{ other = active->GetOppositeDirview();
if (other // other will still be null if the panes are unsplit!
&& active->isright != other->isright) other = other->partner;
}
bool activeOK = (active!=NULL && active->arcman!=NULL && active->arcman->IsArchive() && active->arcman->GetArc()->IsWithin(filepath));
bool otherOK = (other!=NULL && other->arcman!=NULL && other->arcman->IsArchive() && other->arcman->GetArc()->IsWithin(filepath));
if (!activeOK && !otherOK) { active = ReopenArchiveIfNeeded(active, filepath, NULL); if (active==NULL) return false; }
else if (!activeOK && otherOK) { active = other; otherOK = false; } // If only the opposite pane has the archive open, swap
if (!active->arcman->GetArc()->Alter(newfilepaths, dup ? arc_remove : arc_rename, originalfilepaths)) return false; // Remove duplicate, or replace new with original
if (otherOK) other->arcman->GetArc()->Alter(newfilepaths, dup ? arc_remove : arc_rename, originalfilepaths); // If appropriate, do this in the other pane too
MyFrame::mainframe->OnUpdateTrees(filepath.BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(originalfilepaths[0].BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
DoBriefLogStatus(1, _("action"), _(" undone"));
return true;
}
bool UnRedoArchiveRen::Redo()
{
if (!RedoPossible) return false;
wxString filepath(originalfilepaths[0]);
// Though this is UnRedoArchiveREN it's used for Moving/Pasting within an archive too.
// Here we're trying to cope with Moving within an archive that is/was open in both fileviews. If one was subsequently closed, we don't want to reopen it to unredo
if (!other) // First overcome the small hurdle that none of the functions that create this UnRedo actually _set_ other!
{ other = active->GetOppositeDirview();
if (other // other will still be null if the panes are unsplit!
&& active->isright != other->isright) other = other->partner;
}
bool activeOK = (active!=NULL && active->arcman!=NULL && active->arcman->IsArchive() && active->arcman->GetArc()->IsWithin(filepath));
bool otherOK = (other!=NULL && other->arcman!=NULL && other->arcman->IsArchive() && other->arcman->GetArc()->IsWithin(filepath));
if (!activeOK && !otherOK) { active = ReopenArchiveIfNeeded(active, filepath, NULL); if (active==NULL) return false; }
else if (!activeOK && otherOK) { active = other; otherOK = false; } // If only the opposite pane has the archive open, swap
if (!active->arcman->GetArc()->Alter(originalfilepaths, dup ? arc_dup : arc_rename, newfilepaths, m_dirs_only)) return false;
if (otherOK) other->arcman->GetArc()->Alter(originalfilepaths, dup ? arc_dup : arc_rename, newfilepaths, m_dirs_only);
MyFrame::mainframe->OnUpdateTrees(filepath.BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(newfilepaths[0].BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
DoBriefLogStatus(1, _("action"), _(" redone"));
return true;
}
bool UnRedoExtract::Undo() // Undoing an Extract means deleting it i.e. Moving to the Deleted bin
{
if (!UndoPossible || filepaths.IsEmpty() || path.IsEmpty()) return false;
if (trashpath.IsEmpty() || !wxDirExists(trashpath)) // If there's already a deleted subdir from a previous undo, use it
{ wxFileName trash;
if (!DirectoryForDeletions::GetUptothemomentDirname(trash, delcan)) return false; // Create a unique subdir in Deleted bin, using current date/time
trashpath = trash.GetPath(); if (trashpath.Last() != wxFILE_SEP_PATH) trashpath << wxFILE_SEP_PATH;
}
if (path.Last() != wxFILE_SEP_PATH) path << wxFILE_SEP_PATH;
for (size_t n=0; n < filepaths.GetCount(); ++n)
{ wxFileName ToTrash(trashpath);
wxString finalbit(filepaths[n]); FileData fd(finalbit);
if (fd.IsDir())
{ if (finalbit.Last() == wxFILE_SEP_PATH) finalbit = finalbit.BeforeLast(wxFILE_SEP_PATH);
wxString LastSeg = finalbit.AfterLast(wxFILE_SEP_PATH);
wxFileName fn(finalbit+wxFILE_SEP_PATH); // If finalbit is multiple, this will Move it plus all descendants at once
if (!MyGenericDirCtrl::Move(&fn, &ToTrash, LastSeg, NULL)) return false; // LastSeg *mustn't* have a terminal '/' here!
while ((n+1) < filepaths.GetCount() && filepaths[n+1].StartsWith(finalbit)) ++n; // Since we've just undone a dir, skip over any of its contents (as they'll no longer be there!)
}
else
{ wxString finalbitpath = finalbit.BeforeLast(wxFILE_SEP_PATH); // These 3 lines cater for the deep-within filepaths: we can't assign /foo/bar/fubar directly in wxFileName
if (!finalbitpath.IsEmpty())
{ finalbitpath << wxFILE_SEP_PATH; finalbit = finalbit.AfterLast(wxFILE_SEP_PATH); }
wxFileName fn(finalbitpath + finalbit);
if (!MyGenericDirCtrl::Move(&fn, &ToTrash, finalbit, NULL)) return false;
}
}
MyFrame::mainframe->OnUpdateTrees(path, IDs);
DoBriefLogStatus(1, _("action"), _(" undone"));
return true;
}
bool UnRedoExtract::Redo() // Re-doing an Extract means undeleting it
{
if (!RedoPossible || trashpath.IsEmpty()) return false;
for (size_t n=0; n < filepaths.GetCount(); ++n)
{ wxFileName fn(path);
wxString finalbit; if (!filepaths[n].StartsWith(path, &finalbit)) return false;
FileData fd(trashpath+finalbit);
if (fd.IsDir())
{ finalbit = finalbit.BeforeFirst(wxFILE_SEP_PATH); // If finalbit is multiple, this will Move it plus all descendants at once
wxFileName FromTrash(trashpath+finalbit);
if (!MyGenericDirCtrl::Move(&FromTrash, &fn, finalbit, NULL)) return false;
while ((n+1) < filepaths.GetCount() && filepaths[n+1].StartsWith(path+finalbit)) ++n; // See the Undo comment
}
else
{ wxFileName FromTrash(trashpath, finalbit);
if (!MyGenericDirCtrl::Move(&FromTrash, &fn, finalbit, NULL)) return false;
}
}
MyFrame::mainframe->OnUpdateTrees(path, IDs);
DoBriefLogStatus(1, _("action"), _(" redone"));
return true;
}
bool UnRedoArchivePaste::Undo() // Undoing a Paste means Removing
{
if (!UndoPossible || newfilepaths.IsEmpty()) return false; // newfilepaths is what's in the archive
destctrl = ReopenArchiveIfNeeded(destctrl, destpath, NULL); if (destctrl == NULL) return false;
wxArrayString unused; destctrl->arcman->GetArc()->Alter(newfilepaths, arc_remove, unused, m_dirs_only);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
DoBriefLogStatus(1, _("action"), _(" undone"));
return true;
}
bool UnRedoArchivePaste::Redo() // Re-doing a Paste means, er, redoing the paste
{
if (!RedoPossible || destpath.IsEmpty()) return false;
destctrl = ReopenArchiveIfNeeded(destctrl, destpath, NULL); if (destctrl == NULL) return false;
wxArrayString Path; Path.Add(destpath); Path.Add(originpath); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the paths
if (!destctrl->arcman->GetArc()->Alter(originalfilepaths, arc_add, Path, m_dirs_only)) return false;
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
DoBriefLogStatus(1, _("action"), _(" redone"));
return true;
}
bool UnRedoArchiveDelete::Undo() // Undoing a Delete means reloading from trashcan
{
if (!UndoPossible || newfilepaths.IsEmpty()) return false; // newfilepaths is what's in the trashpath
originctrl = ReopenArchiveIfNeeded(originctrl, originpath, NULL); if (originctrl==NULL) return false;
wxArrayString Path; Path.Add(originpath); Path.Add(destpath); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the paths
if (!originctrl->arcman->GetArc()->Alter(newfilepaths, arc_add, Path)) return false;
MyFrame::mainframe->OnUpdateTrees(originpath, IDs, wxT(""), true);
DoBriefLogStatus(1, _("action"), _(" undone"));
return true;
}
bool UnRedoArchiveDelete::Redo() // Re-doing a Delete means Removing from archive
{
if (!RedoPossible || originpath.IsEmpty()) return false;
originctrl = ReopenArchiveIfNeeded(originctrl, originpath, NULL); if (originctrl==NULL) return false;
wxArrayString unused; originctrl->arcman->GetArc()->Alter(originalfilepaths, arc_remove, unused);
MyFrame::mainframe->OnUpdateTrees(originpath, IDs, wxT(""), true);
DoBriefLogStatus(1, _("action"), _(" redone"));
return true;
}
bool UnRedoCutPasteToFromArchive::Undo() // Undoing a Move means Un-Moving it
{
if (!UndoPossible || newfilepaths.IsEmpty()) return false;
if (which == amt_from) // If the original Move was From an archive to outside
{ originctrl = ReopenArchiveIfNeeded(originctrl, originpath, destctrl); if (originctrl == NULL) return false;
wxArrayString Path; Path.Add(originpath); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the path
Path.Add(destpath); // and this one
if (!originctrl->arcman->GetArc()->Alter(newfilepaths, arc_add, Path)) return false; // Undo the Paste bit, but leave the item in the trashcan ready for a redo
if (originctrl->fileview == ISLEFT) originctrl->SetPath(originpath.BeforeLast(wxFILE_SEP_PATH));
else originctrl->partner->SetPath(originpath.BeforeLast(wxFILE_SEP_PATH));
MyFrame::mainframe->OnUpdateTrees(originpath.BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
}
if (which == amt_to) // If the original Move was To an archive from outside
{ destctrl = ReopenArchiveIfNeeded(destctrl, destpath, originctrl); if (destctrl==NULL) return false;
wxArrayString unused;
if (!destctrl->arcman->GetArc()->Extract(newfilepaths, originpath, unused)) return false; // Do the Paste bit of the Move
unused.Clear();
if (!destctrl->arcman->GetArc()->Alter(newfilepaths, arc_remove, unused)) return false; // Now the delete bit
MyFrame::mainframe->OnUpdateTrees(originpath, IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
}
DoBriefLogStatus(1, _("action"), _(" undone"));
return true;
}
bool UnRedoCutPasteToFromArchive::Redo() // Re-doing a Move means Re-Moving it
{
if (!RedoPossible || originalfilepaths.IsEmpty()) return false;
if (which == amt_from) // If the original Move was From an archive to outside
{ originctrl = ReopenArchiveIfNeeded(originctrl, originpath, destctrl); if (originctrl==NULL) return false;
wxArrayString unused;
if (!originctrl->arcman->GetArc()->Alter(originalfilepaths, arc_remove, unused)) return false; // The RemoveFromArchive bit of the Move. The Paste happens elsewhere in the supercluster
MyFrame::mainframe->OnUpdateTrees(originpath.BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
}
if (which == amt_to) // If the original Move was To an archive from outside
{ destctrl = ReopenArchiveIfNeeded(destctrl, destpath, originctrl); if (destctrl==NULL) return false;
wxArrayString fpaths, Path; Path.Add(destpath); Path.Add(originpath); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the paths
for (size_t n=0; n < originalfilepaths.GetCount(); ++n) // We need to go thru the filepaths to add the children of any dirs
{ fpaths.Add(originalfilepaths.Item(n));
RecursivelyGetFilepaths(originalfilepaths.Item(n), fpaths);
}
if (!destctrl->arcman->GetArc()->Alter(fpaths, arc_add, Path)) return false; // Do the Paste bit of the Move
bool needsyield(false);
for (size_t n=0; n < originalfilepaths.GetCount(); ++n) // Now the delete bit
{ wxFileName From(originalfilepaths[n]);
originctrl->ReallyDelete(&From);
#if wxVERSION_NUMBER > 2812 && (wxVERSION_NUMBER < 3003 || wxVERSION_NUMBER == 3100)
// Earlier wx3 version have a bug (http://trac.wxwidgets.org/ticket/17122) that can cause segfaults if we SetPath() on returning from here
if (From.IsDir()) needsyield = true; // Yielding works around the problem by altering the timing of incoming fswatcher events
#endif
}
if (needsyield) wxSafeYield();
MyFrame::mainframe->OnUpdateTrees(originpath, IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
}
DoBriefLogStatus(1, _("action"), _(" redone"));
return true;
}
bool UnRedoMoveToFromArchive::Undo() // Undoing a Move means Un-Moving it
{
if (!UndoPossible || newfilepaths.IsEmpty()) return false;
if (which == amt_from) // If the original Move was From an archive to outside
{ originctrl = ReopenArchiveIfNeeded(originctrl, originpath, destctrl); if (originctrl == NULL) return false;
wxArrayString Path; Path.Add(originpath); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the path
Path.Add(destpath); // and this one
if (!originctrl->arcman->GetArc()->Alter(newfilepaths, arc_add, Path)) return false; // Do the Paste bit of the Move, back into the archive
bool needsyield(false);
for (size_t n=0; n < newfilepaths.GetCount(); ++n) // And now delete the outside one
{ FileData fd(newfilepaths[n]);
if (!fd.IsValid()) continue;
wxFileName From(newfilepaths[n]);
originctrl->ReallyDelete(&From);
#if wxVERSION_NUMBER > 2812 && (wxVERSION_NUMBER < 3003 || wxVERSION_NUMBER == 3100)
// Earlier wx3 version have a bug (http://trac.wxwidgets.org/ticket/17122) that can cause segfaults if we SetPath() on returning from here
if (From.IsDir()) needsyield = true; // Yielding works around the problem by altering the timing of incoming fswatcher events
#endif
}
if (needsyield) wxSafeYield();
if (originctrl->fileview == ISLEFT) originctrl->SetPath(originpath.BeforeLast(wxFILE_SEP_PATH));
else originctrl->partner->SetPath(originpath.BeforeLast(wxFILE_SEP_PATH));
MyFrame::mainframe->OnUpdateTrees(originpath.BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
}
if (which == amt_to) // If the original Move was To an archive from outside
{ destctrl = ReopenArchiveIfNeeded(destctrl, destpath, originctrl); if (destctrl==NULL) return false;
wxArrayString unused;
if (!destctrl->arcman->GetArc()->Extract(newfilepaths, originpath, unused)) return false; // Do the Paste bit of the Move
unused.Clear();
if (!destctrl->arcman->GetArc()->Alter(newfilepaths, arc_remove, unused)) return false; // Now the delete bit
MyFrame::mainframe->OnUpdateTrees(originpath, IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
}
DoBriefLogStatus(1, _("action"), _(" undone"));
return true;
}
bool UnRedoMoveToFromArchive::Redo() // Re-doing a Move means Re-Moving it
{
if (!RedoPossible || originalfilepaths.IsEmpty()) return false;
if (which == amt_from) // If the original Move was From an archive to outside
{ originctrl = ReopenArchiveIfNeeded(originctrl, originpath, destctrl); if (originctrl==NULL) return false;
wxArrayString unused;
originctrl->arcman->GetArc()->DoExtract(originalfilepaths, destpath, unused, true); // Do the Paste bit of the Move
unused.Clear();
if (!originctrl->arcman->GetArc()->Alter(originalfilepaths, arc_remove, unused)) return false; // The RemoveFromArchive bit of the Move
MyFrame::mainframe->OnUpdateTrees(originpath.BeforeLast(wxFILE_SEP_PATH), IDs, wxT(""), true);
}
if (which == amt_to) // If the original Move was To an archive from outside
{ destctrl = ReopenArchiveIfNeeded(destctrl, destpath, originctrl); if (destctrl==NULL) return false;
wxArrayString fpaths, Path; Path.Add(destpath); Path.Add(originpath); // We have to provide a 2nd arraystring anyway due to the Alter API, so use it to transport the paths
for (size_t n=0; n < originalfilepaths.GetCount(); ++n) // We need to go thru the filepaths to add the children of any dirs
{ fpaths.Add(originalfilepaths.Item(n));
RecursivelyGetFilepaths(originalfilepaths.Item(n), fpaths);
}
if (!destctrl->arcman->GetArc()->Alter(fpaths, arc_add, Path)) return false; // Do the Paste bit of the Move
bool needsyield(false);
for (size_t n=0; n < originalfilepaths.GetCount(); ++n) // Now the delete bit
{ wxFileName From(originalfilepaths[n]);
originctrl->ReallyDelete(&From);
#if wxVERSION_NUMBER > 2812 && (wxVERSION_NUMBER < 3003 || wxVERSION_NUMBER == 3100)
// Earlier wx3 version have a bug (http://trac.wxwidgets.org/ticket/17122) that can cause segfaults if we SetPath() on returning from here
if (From.IsDir()) needsyield = true; // Yielding works around the problem by altering the timing of incoming fswatcher events
#endif
}
if (needsyield) wxSafeYield();
MyFrame::mainframe->OnUpdateTrees(originpath, IDs, wxT(""), true);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), true);
}
DoBriefLogStatus(1, _("action"), _(" redone"));
return true;
}
DirectoryForDeletions::DirectoryForDeletions() // Sets up appropriately named dirs to receive files/dirs that have been deleted/trashed
{
if (TRASHCAN.IsEmpty())
{ wxString cachedir = StrWithSep(wxGetApp().GetXDGcachedir()) + wxT("4Pane/.Trash/");
if (!wxFileName::Mkdir(cachedir, 0777, wxPATH_MKDIR_FULL))
{ cachedir = StrWithSep(wxGetApp().GetHOME()) + wxT(".cache/4Pane/.Trash/"); // Try again with any user-provided 'home'
if (!wxFileName::Mkdir(cachedir, 0777, wxPATH_MKDIR_FULL))
{ cachedir = StrWithSep(wxGetHomeDir()) + wxT(".cache/4Pane/.Trash/");
if (!wxFileName::Mkdir(cachedir, 0777, wxPATH_MKDIR_FULL))
{ cachedir = StrWithSep(wxStandardPaths::Get().GetTempDir()) + wxT("4Pane/.Trash/");
if (!wxFileName::Mkdir(cachedir, 0777, wxPATH_MKDIR_FULL))
{ wxLogWarning(_("Failed to create a directory to store deletions")); return; }
}
}
}
TRASHCAN = StrWithSep(cachedir);
wxConfigBase::Get()->Write(wxT("/Misc/Display/TRASHCAN"), TRASHCAN);
}
TRASHCAN = StrWithSep(TRASHCAN);
wxString refuse(TRASHCAN);
if (refuse.GetChar(0) == wxT('~'))
refuse = StripSep(wxGetHomeDir()) + refuse.Mid(1);
DeletedName = refuse + wxT("DeletedBy4Pane/"); CreateCan(delcan); // Deletes
TrashedName = refuse + wxT("TrashedBy4Pane/"); CreateCan(trashcan); // Trashed
TempfileDir = refuse + wxT("Tempfiles/"); CreateCan(tempfilecan); // And a location for tempfiles
}
DirectoryForDeletions::~DirectoryForDeletions()
{
wxFileName deleted(DeletedName); // Deletes the files/dirs that have been deleted into DeletedBy4Pane
ReallyDelete(&deleted);
wxFileName tmp(wxStandardPaths::Get().GetTempDir() + wxT("/4Pane/")); // Ditto for any temp files in /tmp/
ReallyDelete(&tmp);
wxFileName temps(TempfileDir); // and any temp files put in the old-fashioned place
ReallyDelete(&temps);
// Don't do the Trashed dir, it's supposed to stay
}
//static
void DirectoryForDeletions::CreateCan(enum whichcan can) // Create a trash-can or deleted-can, depending on bool
{
if (can == trashcan)
{ if (!wxDirExists(TrashedName))
{ if (!wxFileName::Mkdir(TrashedName, 0777, wxPATH_MKDIR_FULL))
wxLogError(_("Sorry, can't create your selected Trashed subdirectory. A permissions problem perhaps?\nI suggest you use Configure to choose another location"));
else
{ FileData tn(TrashedName); tn.DoChmod(0777); }
}
}
else if (can == delcan)
{ if (!wxDirExists(DeletedName)) // Check it doesn't already exist, perhaps because of a previous crash-before-exit
{ if (!wxFileName::Mkdir(DeletedName, 0777, wxPATH_MKDIR_FULL)) // and create it
wxLogError(_("Sorry, can't create your selected Deleted subdirectory. A permissions problem perhaps?\nI suggest you use Configure to choose another location."));
else
{ FileData dn(DeletedName); dn.DoChmod(0777); } // Yes, I know we just tried to create it with these permissions, but umask probably interfered.
}
}
else if (can == tempfilecan)
{ if (!wxDirExists(TempfileDir))
{ if (!wxFileName::Mkdir(TempfileDir, 0777, wxPATH_MKDIR_FULL))
wxLogError(_("Sorry, can't create your selected temporary file subdirectory. A permissions problem perhaps?\nI suggest you use Configure to choose another location."));
else
{ FileData dn(TempfileDir); dn.DoChmod(0777); }
}
}
}
void DirectoryForDeletions::EmptyTrash(bool trash) // Empties trash-can or 'deleted'-can, depending on the bool
{
if (trash)
{ wxString msg(_("Emptying 4Pane's Trash-can will permanently delete any files that have been saved there!\n\n Continue?"));
wxMessageDialog ask(MyFrame::mainframe->GetActivePane(), msg, wxString(_("Are you SURE?")), wxYES_NO | wxICON_QUESTION);
if (ask.ShowModal() != wxID_YES) return; // 2nd thoughts
wxFileName deleted(TrashedName); // Make DeletedName into a wxFileName
ReallyDelete(&deleted); // and delete it & contents
CreateCan(trashcan); // Recreate an empty dir
BriefLogStatus bls(_("Trashcan emptied"));
}
else
{ wxString msg(_("Emptying 4Pane's Deleted-can happens automatically when 4Pane is closed\nDoing it prematurely will delete any files stored there. All Undo-Redo data will be lost!\n\n Continue?"));
wxMessageDialog ask(MyFrame::mainframe->GetActivePane(), msg, wxString(_("Are you SURE?")), wxYES_NO | wxICON_QUESTION);
if (ask.ShowModal() != wxID_YES) return; // 2nd thoughts
wxFileName deleted(DeletedName); // Make DeletedName into a wxFileName
ReallyDelete(&deleted); // and delete it & contents
CreateCan(delcan); // Recreate an empty dir
UnRedoManager::ClearUnRedoArray(); // Safer to get rid of any Undo/Redo, as most of them would no longer work
BriefLogStatus bls(_("Stored files permanently deleted"));
}
}
bool DirectoryForDeletions::ReallyDelete(wxFileName *PathName) // Really deletes the files/dirs that have been 'deleted' during this session
{ // An amended version of DirGenericDirCtrl::ReallyDelete. Can't easily use the original: it'll be out of scope
class FileData stat(PathName->GetFullPath());
if (stat.IsDir()) // If it's really a dir
{ if (!PathName->GetFullName().IsEmpty()) // and providing there IS a "filename"
PathName->AppendDir(PathName->GetFullName()); PathName->SetFullName(wxEmptyString); // make it into the real path
}
else
{ if (stat.IsSymlink())
{ if (!wxRemoveFile(stat.GetFilepath()))
return false; // Shouldn't fail, but exit ungracefully if somehow it does eg due to permissions
}
else // It must be a file, which we're really-deleting by recursion
{ if (!stat.IsValid()) // Check it exists as a file (or pipe or . . .). If not, exit ungracefully
return false;
if (!wxRemoveFile(PathName->GetFullPath())) // It's alive, so kill it
return false; // Shouldn't fail, but exit ungracefully if somehow it does eg due to permissions
}
return true;
}
// If we're here, it's a dir
wxDir dir(PathName->GetPath()); // Use helper class to deal sequentially with each child file & subdir
if (!dir.IsOpened()) return false;
wxString filename;
while (dir.GetFirst(&filename)) // Go thru the dir, committing infanticide 1 child @ a time
{
wxFileName child(PathName->GetPath(), filename); // Make a new wxFileName for child
if (!ReallyDelete(&child)) // Slaughter it by recursion, whether it's a dir or file
return false; // If this fails, bug out
}
if (!PathName->Rmdir()) return false; // Finally, kill the dir itself
return true;
}
//static
bool DirectoryForDeletions::GetUptothemomentDirname(wxFileName& trashdir, enum whichcan can_type) // Create unique subdir
{
wxString dirname;
if (can_type == tempfilecan) // For true tempfiles, create a temporary dir
dirname = MakeTempDir(TempfileDir);
if (!dirname.empty())
{ trashdir.AssignDir(dirname);
return true;
}
// For other cans, or if mkdtemp somehow failed, do it the original way
if (can_type == trashcan) dirname = TrashedName; // Get correct base location
else
if (can_type == tempfilecan)
{ dirname = TempfileDir; // If it's TempfileDir, recheck that the directory exists.
if (!wxDirExists(TempfileDir)) // This is because if we run an instance of the program, then another, then kill the 1st,
CreateCan(tempfilecan); // this leaves the 2nd instance without its dir, & no tempfiles can be made
}
else
{ dirname = DeletedName; // If it's Delete, recheck that the directory exists.
if (!wxDirExists(DeletedName)) // See above for reason
CreateCan(delcan);
}
wxDateTime now = wxDateTime::Now();
dirname += now.Format(wxT("%d-%m-%y__%H-%M-%S"));
if (wxDirExists(dirname)) // Check that this unique path doesn't already exist! Maybe we're doing >1 delete per sec
{ int n=0;
wxString addon;
do // If it DOES exist, add to the dirname until we find a novelty
addon.Printf(wxT("%i"), n++); // Create an add-on for filename, itoa(n)
while (wxDirExists(dirname + addon));
dirname += addon; // Once we're here, the name IS unique
}
trashdir.AssignDir(dirname + wxFILE_SEP_PATH); // We have a unique dirname, so make the wxFileName
trashdir.Mkdir();
return trashdir.DirExists();
}
wxString DirectoryForDeletions::DeletedName; // Initialise names
wxString DirectoryForDeletions::TrashedName;
wxString DirectoryForDeletions::TempfileDir;
4pane-5.0/Otherstreams.cpp 0000644 0001750 0001750 00000022412 12675313657 012512 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Otherstreams.cpp
// Purpose: xz and lmza1 archive streams
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef NO_LZMA_ARCHIVE_STREAMS
#include "wx/wxprec.h"
#include "wx/wx.h"
#include "wx/utils.h"
#include "wx/intl.h"
#include "wx/log.h"
#if wxUSE_STREAMS
#include "Externs.h"
#include "MyFrame.h"
#include "Otherstreams.h"
XzInputStream::XzInputStream(wxInputStream& Stream, bool use_lzma1 /*= false*/) : wxFilterInputStream(Stream), m_nBufferPos(0)
{
wxCHECK_RET(LIBLZMA_LOADED, wxT("We shouldn't be here if liblzma isn't loaded!"));
lzma_stream_decoder = (dl_lzma_stream_decoder)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_stream_decoder")));
if (!lzma_stream_decoder) { wxLogWarning(wxT("Failed to load symbol 'lzma_stream_decoder'")); return; }
lzma_alone_decoder = (dl_lzma_alone_decoder)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_alone_decoder")));
if (!lzma_alone_decoder) { wxLogWarning(wxT("Failed to load symbol 'lzma_alone_decoder'")); return; }
lzma_code = (dl_lzma_code)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_code")));
if (!lzma_code) { wxLogWarning(wxT("Failed to load symbol 'lzma_code'")); return; }
lzma_end = (dl_lzma_end)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_end")));
if (!lzma_end) { wxLogWarning(wxT("Failed to load symbol 'lzma_end'")); return; }
m_lzStream = (void*) new lzma_stream;
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
memset(lzstr, 0, sizeof(lzma_stream)); // This is the recommended way of initialising a dynamically allocated lzma_stream
/* initialize xz (or lzma1) decoder */
lzma_ret ret_xz;
if (!use_lzma1)
ret_xz = lzma_stream_decoder(lzstr, UINT64_MAX, LZMA_TELL_UNSUPPORTED_CHECK /*| LZMA_CONCATENATED*/); // The LZMA_CONCATENATED doesn't seem to be needed
else
ret_xz = lzma_alone_decoder(lzstr, UINT64_MAX);
if (ret_xz != LZMA_OK)
{ delete lzstr;
wxLogSysError(wxT("Could not initialize %s decompression engine!"), use_lzma1 ? wxString(wxT("lzma1")).c_str():wxString(wxT("xz")).c_str());
}
}
XzInputStream::~XzInputStream()
{
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
lzma_end(lzstr);
delete lzstr;
}
wxInputStream& XzInputStream::ReadRaw(void* pBuffer, size_t size)
{
return m_parent_i_stream->Read(pBuffer, size);
}
off_t XzInputStream::TellRawI()
{
return m_parent_i_stream->TellI();
}
off_t XzInputStream::SeekRawI(off_t pos, wxSeekMode sm)
{
return 0;
}
size_t XzInputStream::OnSysRead(void* buffer, size_t bufsize)
{
// This is a clone of wxZlibInputStream::OnSysRead, adjusted for xz
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
if (!lzstr)
m_lasterror = wxSTREAM_READ_ERROR;
if (!IsOk() || !bufsize)
return 0;
lzma_ret ret_xz = LZMA_OK;
lzstr->next_out = (uint8_t*)buffer;
lzstr->avail_out = bufsize;
while (ret_xz == LZMA_OK && lzstr->avail_out > 0)
{ if (lzstr->avail_in == 0 && m_parent_i_stream->IsOk())
{ m_parent_i_stream->Read(m_pBuffer, IN_BUF_MAX);
lzstr->next_in = m_pBuffer;
lzstr->avail_in = m_parent_i_stream->LastRead();
}
ret_xz = lzma_code(lzstr, LZMA_RUN);
}
switch (ret_xz)
{ case LZMA_OK: break;
case LZMA_FINISH:
if (lzstr->avail_out) {
// 'Inflate' comment was: "Unread any data taken from past the end of the deflate stream, so that
// any additional data can be read from the underlying stream (the crc in a gzip for example)"
// I don't know if this is still relevant in xz, but it doesn't seem to do any harm; perhaps because it's not called
if (lzstr->avail_in) {
m_parent_i_stream->Reset();
m_parent_i_stream->Ungetch(lzstr->next_in, lzstr->avail_in);
lzstr->avail_in = 0;
}
m_lasterror = wxSTREAM_EOF;
}
break;
default:
wxLogError(_("Decompressing a lzma stream failed"));
m_lasterror = wxSTREAM_READ_ERROR;
}
bufsize -= lzstr->avail_out;
m_nBufferPos += bufsize;
return bufsize;
}
XzOutputStream::XzOutputStream(wxOutputStream& Stream, bool use_lzma1 /*= false*/) : wxFilterOutputStream(Stream)
{
wxCHECK_RET(LIBLZMA_LOADED, wxT("We shouldn't be here if liblzma isn't loaded!"));
lzma_easy_encoder = (dl_lzma_easy_encoder)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_easy_encoder")));
if (!lzma_easy_encoder) { wxLogWarning(wxT("Failed to load symbol 'lzma_easy_encoder'")); return; }
lzma_alone_encoder = (dl_lzma_alone_encoder)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_alone_encoder")));
if (!lzma_alone_encoder) { wxLogWarning(wxT("Failed to load symbol 'lzma_alone_encoder'")); return; }
lzma_lzma_preset = (dl_lzma_lzma_preset)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_lzma_preset")));
if (!lzma_lzma_preset) { wxLogWarning(wxT("Failed to load symbol 'lzma_lzma_preset'")); return; }
lzma_code = (dl_lzma_code)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_code")));
if (!lzma_code) { wxLogWarning(wxT("Failed to load symbol 'lzma_code'")); return; }
lzma_end = (dl_lzma_end)(wxGetApp().GetLiblzma()->GetSymbol(wxT("lzma_end")));
if (!lzma_end) { wxLogWarning(wxT("Failed to load symbol 'lzma_end'")); return; }
m_lzStream = (void*) new lzma_stream;
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
memset(lzstr, 0, sizeof(lzma_stream)); // This is the recommended way of initialising a dynamically allocated lzma_stream
lzma_ret ret_xz;
if (!use_lzma1)
ret_xz = lzma_easy_encoder(lzstr, 6, LZMA_CHECK_CRC64);
else
{ lzma_options_lzma options;
lzma_lzma_preset(&options, 7);
ret_xz = lzma_alone_encoder(lzstr, &options);
}
if (ret_xz != LZMA_OK)
{ delete lzstr;
wxLogSysError(wxT("Could not initialize %s compression engine!"), use_lzma1 ? wxString(wxT("lzma1")).c_str():wxString(wxT("xz")).c_str());
}
}
XzOutputStream::~XzOutputStream()
{
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
lzma_end(lzstr);
delete lzstr;
}
wxOutputStream& XzOutputStream::WriteRaw(void* pBuffer, size_t size)
{
return m_parent_o_stream->Write(pBuffer, size);
}
off_t XzOutputStream::TellRawO()
{
return m_parent_o_stream->TellO();
}
off_t XzOutputStream::SeekRawO(off_t pos, wxSeekMode sm)
{
return 0;
}
size_t XzOutputStream::OnSysWrite(const void* buffer, size_t bufsize)
{
// This is a clone of the xz compression example, xz_pipe_comp.c, adjusted for a wxOutputStream
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
if (!lzstr)
m_lasterror = wxSTREAM_WRITE_ERROR;
if (!IsOk() || !bufsize)
return 0;
lzma_ret ret_xz = LZMA_OK;
lzstr->next_in = (uint8_t*)buffer;
lzstr->avail_in = bufsize;
do
{
lzstr->next_out = (uint8_t*)m_pBuffer;
lzstr->avail_out = OUT_BUF_MAX;
ret_xz = lzma_code(lzstr, LZMA_RUN);
if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END))
{ m_lasterror = wxSTREAM_WRITE_ERROR;
wxLogError(_("xz compression failure"));
return false;
}
size_t out_len = OUT_BUF_MAX - lzstr->avail_out;
m_parent_o_stream->Write(m_pBuffer, out_len);
if (m_parent_o_stream->LastWrite() != out_len)
{ m_lasterror = wxSTREAM_WRITE_ERROR;
wxLogDebug(wxT("XzOutputStream: Error writing to underlying stream"));
break;
}
}
while (lzstr->avail_out == 0);
bufsize -= lzstr->avail_in;
m_nBufferPos += bufsize;
return bufsize;
}
bool XzOutputStream::Close() // Flushes any remaining compressed data
{
lzma_stream* lzstr = (lzma_stream*)m_lzStream;
if (!lzstr)
m_lasterror = wxSTREAM_WRITE_ERROR;
if (!IsOk())
return 0;
lzma_ret ret_xz = LZMA_OK;
lzstr->avail_in = 0;
do
{
lzstr->next_out = (uint8_t*)m_pBuffer;
lzstr->avail_out = OUT_BUF_MAX;
ret_xz = lzma_code(lzstr, LZMA_FINISH);
if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END))
{ m_lasterror = wxSTREAM_WRITE_ERROR;
wxLogError(_("xz compression failure"));
return false;
}
size_t out_len = OUT_BUF_MAX - lzstr->avail_out;
m_parent_o_stream->Write(m_pBuffer, out_len);
if (m_parent_o_stream->LastWrite() != out_len)
{ m_lasterror = wxSTREAM_WRITE_ERROR;
wxLogDebug(wxT("XzOutputStream: Error writing to underlying stream"));
break;
}
}
while (lzstr->avail_out == 0);
return wxFilterOutputStream::Close() && IsOk();
}
//-----------------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(XzClassFactory, wxFilterClassFactory)
static XzClassFactory g_XzClassFactory;
XzClassFactory::XzClassFactory()
{
if (this == &g_XzClassFactory)
PushFront();
}
const wxChar * const *
XzClassFactory::GetProtocols(wxStreamProtocolType type) const
{
static const wxChar *protos[] =
{ wxT("xz"), NULL };
static const wxChar *mimes[] =
{ wxT("a\application/x-xz"),
wxT("application/x-xz-compressed-tar"),
NULL };
static const wxChar *encs[] =
{ wxT("xz"), NULL };
static const wxChar *exts[] =
{ wxT(".xz"), NULL };
static const wxChar *empty[] =
{ NULL };
switch (type) {
case wxSTREAM_PROTOCOL: return protos;
case wxSTREAM_MIMETYPE: return mimes;
case wxSTREAM_ENCODING: return encs;
case wxSTREAM_FILEEXT: return exts;
default: return empty;
}
}
#endif // wxUSE_STREAMS
#endif // ndef NO_LZMA_ARCHIVE_STREAMS
4pane-5.0/bzipstream.h 0000644 0001750 0001750 00000006764 12120710621 011644 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: bzipstream.h
// Purpose: BZip streams
// Author: Ryan Norton
// Modified by:
// Created: 09/05/03
// RCS-ID: $Id: bzipstream.h,v 1.3 2006/12/13 18:53:39 ryannpcs Exp $
// Copyright: (c) Ryan Norton
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WXBZSTREAM_H__
#define _WX_WXBZSTREAM_H__
#include "wx/defs.h"
#if wxUSE_STREAMS
#include "wx/stream.h"
#ifndef WXBZBS //WXBZBS == BZip buffer size
#define WXBZBS 5000
#endif
//---------------------------------------------------------------------------
// wxBZipInputStream
//---------------------------------------------------------------------------
class wxBZipInputStream : public wxFilterInputStream
{
public:
// if bLessMemory is true, uses decompression algorithm
// which uses less memory, but is also slower
wxBZipInputStream(wxInputStream& stream, bool bLessMemory = false);
virtual ~wxBZipInputStream();
wxInputStream& ReadRaw(void* pBuffer, size_t size);
off_t TellRawI();
off_t SeekRawI(off_t pos, wxSeekMode sm = wxFromStart);
void* GetHandleI() {return m_hZip;}
protected:
virtual size_t OnSysRead(void *buffer, size_t size);
void* m_hZip;
char m_pBuffer[WXBZBS];
int m_nBufferPos;
};
//---------------------------------------------------------------------------
// wxBZipOutputStream
//---------------------------------------------------------------------------
class wxBZipOutputStream : public wxFilterOutputStream
{
public:
// nCompressionFactor is from 1-9; compression is higher but slower
// at higher numbers
wxBZipOutputStream(wxOutputStream& stream,
wxInt32 nCompressionFactor = 4);
virtual ~wxBZipOutputStream();
wxOutputStream& WriteRaw(void* pBuffer, size_t size);
off_t TellRawO();
off_t SeekRawO(off_t pos, wxSeekMode sm = wxFromStart);
void* GetHandleO() {return m_hZip;}
virtual bool Close();
protected:
virtual size_t OnSysWrite(const void *buffer, size_t bufsize);
void* m_hZip;
char m_pBuffer[WXBZBS];
};
//---------------------------------------------------------------------------
// wxBZipStream
//---------------------------------------------------------------------------
class wxBZipStream : public wxBZipInputStream, wxBZipOutputStream
{
public:
wxBZipStream(wxInputStream& istream, wxOutputStream& ostream);
virtual ~wxBZipStream();
};
//---------------------------------------------------------------------------
// wxBZipClassFactory - wxArchive integration
//---------------------------------------------------------------------------
class WXEXPORT wxBZipClassFactory: public wxFilterClassFactory
{
public:
wxBZipClassFactory();
wxFilterInputStream *NewStream(wxInputStream& stream) const
{ return new wxBZipInputStream(stream); }
wxFilterOutputStream *NewStream(wxOutputStream& stream) const
{ return new wxBZipOutputStream(stream); }
wxFilterInputStream *NewStream(wxInputStream *stream) const
{ return new wxBZipInputStream(*stream); }
wxFilterOutputStream *NewStream(wxOutputStream *stream) const
{ return new wxBZipOutputStream(*stream); }
const wxChar * const *GetProtocols(wxStreamProtocolType type
= wxSTREAM_PROTOCOL) const;
private:
DECLARE_DYNAMIC_CLASS(wxBZipClassFactory)
};
#endif // wxUSE_STREAMS
#endif // _WX_WXBZSTREAM_H__
4pane-5.0/Dup.cpp 0000644 0001750 0001750 00000145573 13076423023 010561 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Dup.cpp
// Purpose: Checks/manages Duplication & Renaming
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/app.h"
#include "wx/frame.h"
#include "wx/scrolwin.h"
#include "wx/menu.h"
#include "wx/dirctrl.h"
#include "wx/dragimag.h"
#include "wx/spinbutt.h"
#include "wx/filename.h"
#include "wx/dir.h"
#include "wx/regex.h"
#include "Externs.h"
#include "MyDirs.h"
#include "MyGenericDirCtrl.h"
#include "MyFrame.h"
#include "Filetypes.h"
#include "Redo.h"
#include "Accelerators.h"
#include "Configure.h"
#include "Misc.h"
#include "Dup.h"
bool CheckDupRen::CheckForAccess(bool recurse /*=true*/) // Check for read permission when in a Moving/Pasting loop, or Dup/Rename
{
FileData stat(incomingpath);
if (!stat.IsValid()) return false;
if (!stat.CanTHISUserRead())
{ if (WhattodoifCantRead == DR_SkipAll) return false; // See if we've a stored choice for when there's a clash ie SkipAll
if (!IsMultiple) // Single file so simple dialog
{ wxString fp(incomingpath); if (fp.Len() > 100) fp = wxT("...") + fp.Right(100);
wxString msg; msg.Printf(wxT("%s\n%s"), _("I'm afraid you don't have Read permission for the file"), fp.c_str());
wxMessageBox(msg); return false;
}
MyButtonDialog dlg; // If multiple & no stored choice, ask
wxXmlResource::Get()->LoadDialog(&dlg, parent, wxT("CantReadMultipleDlg"));
wxStaticText* stt = (wxStaticText*)dlg.FindWindow(wxT("Filename"));
stt->SetLabel(TruncatePathtoFitBox(incomingpath, stt));
int answer = dlg.ShowModal(); // Call the dialog to announce read-permission failure, & if multiple allows the user to skip all such
if (answer == XRCID("SkipAll")) WhattodoifCantRead = DR_SkipAll; // If the result is SkipAll (must have been a multiple dlg), store for the future
return false;
}
if (!stat.IsDir() || !recurse) return true; // If we're not dealing with a dir, or if we're renaming & so don't care about contents, we're done
// Since this IS a dir, we need to check its contents, by recursion
wxDir dir(incomingpath);
if (!dir.IsOpened()) return false;
wxString filename; bool AtLeastOneSuccess = false;
bool cont = dir.GetFirst(&filename); if (!cont) return true; // If the dir has no contents, we're OK
while (cont)
{ wxString filepath = incomingpath + wxFILE_SEP_PATH + filename; // Make filename into filepath
CheckDupRen RecursingCheckIt(parent, filepath, wxT("")); // Make another instance of this class
RecursingCheckIt.IsMultiple = IsMultiple; // Duplicate the flags
RecursingCheckIt.WhattodoifCantRead = WhattodoifCantRead;
bool ans = RecursingCheckIt.CheckForAccess(); // Recursively investigate
WhattodoifCantRead = RecursingCheckIt.WhattodoifCantRead; // Save any new SkipAll. This may have happened even if ans==true, since there may have been some failures too
if (ans) AtLeastOneSuccess = true; // Record the lack of total failure, so that we don't return false
cont = dir.GetNext(&filename); // and try for another file
}
return AtLeastOneSuccess; // which will be true if there has been >0 successes. For the failures, the calling function will have to rely on wxCopyFile (or whatever) silently failing
}
bool CheckDupRen::CheckForIncest() // Ensure we don't try to move a dir onto a descendant --- which would cause an indef loop
{
FileData fdin(incomingpath);
if (!fdin.IsDir()) return false; // Pasting a FILE etc onto a descendant dir is not a problem
// Make into wxFileNames to allow relative paths 2b made absolute
wxFileName dest;
wxFileName in(incomingpath + wxFILE_SEP_PATH); // The '/' will do no harm, & may do good
FileData fddest(destpath);
if (!fddest.IsDir())
dest.Assign(destpath); // If it's a file, the filename will be separated from the path, so we can use GetPath correctly below
else dest.Assign(destpath + wxFILE_SEP_PATH);
in.MakeAbsolute(); dest.MakeAbsolute();
if (dest.GetPath().Find(in.GetPath()) == wxNOT_FOUND) return false; // See if there's any overlap. Note use of GetPath rather than GetFULLPath
// Hmm, it's not looking good. But check that we're not trying to paste /path/to/foo/ onto /path/to/foobar/ (which is OK but would have failed above)
wxArrayString indirs(in.GetDirs()); wxArrayString destdirs(dest.GetDirs());
wxString inlastseg = indirs.Item(indirs.GetCount()-1); wxString destlastseg = destdirs.Item(indirs.GetCount()-1);
if (destlastseg.Len() > inlastseg.Len()) return false; // If the last segment of in is shorter than the equivalent segment of dest, we're OK
if (dest.GetPath() == in.GetPath()) return false; // The dirs are identical. This will be sorted by CheckForPreExistence(), so let it go here
// If we're here, there's a problem
wxDialog dlg; // Tell the user he's immoral
wxXmlResource::Get()->LoadDialog(&dlg, parent, _T("IncestDlg"));
((wxStaticText*)dlg.FindWindow(wxT("frompath")))->SetLabel(incomingpath);
((wxStaticText*)dlg.FindWindow(wxT("topath")))->SetLabel(dest.GetPath());
dlg.GetSizer()->Fit(&dlg);
dlg.ShowModal();
return true; // True tells the calling method to abort
}
CDR_Result CheckDupRen::CheckForPreExistence() // Ensure we don't accidentally overwrite
{
wxString inpath, destination;
FileData deststat(destpath); // We need to use FileData, as wxFileExists() can't (currently) cope with symlinks, esp broken ones
if (!deststat.IsDir()) // If destination is a path/file, split it.
{ destination = destpath.Left(destpath.Find(wxFILE_SEP_PATH, true)+1);
destname = finalbit = destpath.Right(destpath.Len() - (destpath.Find(wxFILE_SEP_PATH, true)+1));
}
else
{ if (destpath.Last() != wxFILE_SEP_PATH) destpath += wxFILE_SEP_PATH; // To avoid problems comparing '/home/' with '/home'
destination = destpath;
if (!wxDirExists(destination)) // Otherwise check it IS a valid dir
{ wxLogError(_("There seems to be a problem: the destination directory doesn't exist! Sorry.")); return CDR_skip; }
}
if (!FromArchive) // If origin is an archive, ItsADir is already set
{ FileData incomingstat(incomingpath); ItsADir = incomingstat.IsDir(); }
if (!ItsADir) // Ditto incomingpath
{ inpath = incomingpath.Left(incomingpath.Find(wxFILE_SEP_PATH, true)+1);
inname = incomingpath.Right(incomingpath.Len() - (incomingpath.Find(wxFILE_SEP_PATH, true)+1));
}
else
{ if (incomingpath.Last() != wxFILE_SEP_PATH) incomingpath += wxFILE_SEP_PATH;
inpath = incomingpath;
if (!FromArchive && !wxDirExists(inpath)) { wxLogError(_("There seems to be a problem: the incoming directory doesn't exist! Sorry.")); return CDR_skip; }
}
dup = (destination==inpath); // Flags whether the user is being stupid/trying to duplicate
bool clash = false;
if (ItsADir)
{ // First fill finalbit & finalpath ready for Paste. If there's a clash they may be amended later
stubpath = inpath.BeforeLast(wxFILE_SEP_PATH); // Borrow the wxString stubpath to chop off the terminal /
finalbit = stubpath.AfterLast(wxFILE_SEP_PATH); // Then find the terminal bit
finalpath = destpath; // This is the path to paste to
// A clash occurs if a) We try to paste onto ourself, or b) onto our parent dir, or c) If we try to paste /x/y/foo/ into /a/b/foo/
if (destination==inpath) // If it's a direct dup, ie /a/b/foo -> a/b/foo
{ stubpath = destpath.BeforeLast(wxFILE_SEP_PATH); // Take the opportunity to remove the last segment from the destpath: /a/b/foo/ -> /a/b/
lastseg = stubpath.AfterLast(wxFILE_SEP_PATH); // Save the foo bit
stubpath = stubpath.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // We'll need both of these later
finalpath = stubpath; // As this is a dup (if it isn't cancelled), we need to paste onto the stub, not the full destpath
clash = true;
}
else if (wxDirExists(destination + (inpath.BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH)))
{ stubpath = destination; // This is already the bit before the last segment from the inpath: /a/b/
lastseg = (inpath.BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH); // Save the foo bit
if (destpath==destination)
{ destpath = destpath + lastseg+ wxFILE_SEP_PATH; // & also add it the destpath if necessary ie if trying to paste /a/b/foo to /a/b
if (inpath==destpath) dup = true; // If so, we ARE dup.ing after all
}
clash = true;
}
// We've checked for the clash, now do something if there is one.
if (clash)
return DirAdjustForPreExistence();
else
return CDR_ok; // This is for when there wasn't a clash anyway
}
else // It's a file
{
destpath = finalpath = destination; // This changes destpath from path/file to path/ Grab provisional finalpath at the same time
finalbit = inname; // Similarly, grab provisional finalbit. If there isn't a nameclash, these will be the new dest filepath
FileData destfilepath(destpath + inname);
if (destfilepath.IsValid()) // We need to use FileData here as wxFileExists can't cope with broken symlinks
return FileAdjustForPreExistence();
return CDR_ok; // This is for when there wasn't a clash anyway
}
}
int CheckDupRen::CheckForPreExistenceInArchive() // If there's a clash, do we duplicate, overwrite or skip?
{
int result;
wxString inpath, destination(destpath);
FakeFilesystem* destffs = parent->arcman->GetArc()->Getffs();
bool ItsADir = false;
// First, find if destination is a dir. If not, make it so
FakeFiledata* fd = destffs->GetRootDir()->FindSubdirByFilepath(destpath); // Dirs aren't '/'-terminated, so just try it and see
if (!fd) // It's not a dir, let's hope it's a file
{ fd = destffs->GetRootDir()->FindFileByName(destpath);
if (fd==NULL) { result=false; return false; } // If we're in a rubbish situation, bail out
destination = destpath.Left(destpath.Find(wxFILE_SEP_PATH, true)+1);
}
if (destination.Right(1) != wxFILE_SEP_PATH) { destination << wxFILE_SEP_PATH; }
if (!FromArchive) // If origin is an archive, ItsADir is already set
{ FileData incomingstat(incomingpath); ItsADir = incomingstat.IsDir(); }
if (!ItsADir) // Ditto incomingpath
{ inpath = incomingpath.Left(incomingpath.Find(wxFILE_SEP_PATH, true)+1);
inname = incomingpath.Right(incomingpath.Len() - (incomingpath.Find(wxFILE_SEP_PATH, true)+1));
}
else
{ if (incomingpath.Last() != wxFILE_SEP_PATH) incomingpath += wxFILE_SEP_PATH;
inpath = incomingpath;
if (!FromArchive && !wxDirExists(inpath)) { wxLogError(_("There seems to be a problem: the incoming directory doesn't exist! Sorry.")); return false; }
}
dup = (destination==inpath); // Flags whether the user is being stupid/trying to duplicate
bool clash = false;
if (ItsADir)
{ // First fill finalbit & finalpath ready for Paste. If there's a clash they may be amended later
stubpath = inpath.BeforeLast(wxFILE_SEP_PATH); // Borrow the wxString stubpath to chop off the terminal /
finalbit = stubpath.AfterLast(wxFILE_SEP_PATH); // Then find the terminal bit
finalpath = destpath; // This is the path to paste to
// A clash occurs if a) We try to paste onto ourself, or b) onto our parent dir, or c) If we try to paste /x/y/foo/ into /a/b/foo/
if (destination==inpath) // If it's a direct dup, ie /a/b/foo -> a/b/foo
{ stubpath = destpath.BeforeLast(wxFILE_SEP_PATH); // Take the opportunity to remove the last segment from the destpath: /a/b/foo/ -> /a/b/
lastseg = stubpath.AfterLast(wxFILE_SEP_PATH); // Save the foo bit
stubpath = stubpath.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // We'll need both of these later
finalpath = stubpath; // As this is a dup (if it isn't cancelled), we need to paste onto the stub, not the full destpath
clash = true;
}
else if (destffs->GetRootDir()->FindSubdirByFilepath(destination + (inpath.BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH)))
{ stubpath = destination; // This is already the bit before the last segment from the inpath: /a/b/
lastseg = (inpath.BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH); // Save the foo bit
if (destpath==destination)
{ destpath = destpath + lastseg+ wxFILE_SEP_PATH; // & also add it the destpath if necessary ie if trying to paste /a/b/foo to /a/b
if (inpath==destpath) dup = true; // If so, we ARE dup.ing after all
}
clash = true;
}
// We've checked for the clash, now do something if there is one.
if (clash)
{ // We can't store 2 dirs in an archive (it's too complex) or rename the incoming one (it's far too complex) so abort
wxString msg1 = _("There's already a directory in the archive with the name ");
wxString msg2 = _("\nI suggest you rename either it, or the incoming directory");
wxMessageBox(msg1 + lastseg + msg2, wxT(""), wxICON_INFORMATION | wxOK);
return false;
}
else
return 1; // This is for when there wasn't a clash anyway
}
else // It's a file
{
destpath = finalpath = destination; // This changes destpath from path/file to path/ Grab finalpath at the same time
finalbit = inname; // Similarly, grab provisional finalbit: going into an archive it won't change, so together these will be the new dest filepath
fd = destffs->GetRootDir()->FindFileByName(destpath + inname);
if (fd)
{ result = FileAdjustForPreExistence(true, fd->ModificationTime());
return result; // !result means skip, result==2 means "OK, go ahead with the paste (or whatever)"
}
return true; // This is for when there wasn't a clash anyway
}
}
CDR_Result CheckDupRen::DirAdjustForPreExistence(bool intoArchive/*=false*/ , time_t modtime /*= 0*/)
{
enum DupRen Whattodo = WhattodoifClash;
if (Whattodo == DR_Unknown) // See if we've a stored choice for when there's a clash eg SkipAll
Whattodo = OfferToRename(2 + dup, intoArchive, modtime); // If origin==dest, use the QueryIdiot dialog, otherwise be more polite. +2 flags Dir
switch(Whattodo) // NB For Dirs, 'Overwrite' isn't a valid answer: it's only for files
{ case DR_Cancel: WhattodoifClash = DR_Cancel; return CDR_skip;// To abort the rest of the items
case DR_SkipAll: WhattodoifClash = DR_SkipAll; // Store this in variable, then fall thru into:
case DR_Skip: return CDR_skip;
case DR_RenameAll: WhattodoifClash = DR_RenameAll; // Store this in variable, then fall thru into:
case DR_Rename: if (!GetNewName(stubpath, lastseg)) return CDR_skip; // Ask for a new name for the terminal segment of path
if (dup) // If we're duping, we don't actually want to rename the original dir, just dup it
{ wxString origfilepath = stubpath + lastseg, newfilepath = stubpath + newname;
int answer = RenameDir(origfilepath, newfilepath, true);
if (answer) // If the dup worked, make a new UnRedoDup
{ wxArrayInt IDs; IDs.Add(parent->GetId());
UnRedoDup* UnRedoptr = new UnRedoDup(stubpath, stubpath, lastseg, newname, true, IDs);
UnRedoManager::AddEntry(UnRedoptr);
MyFrame::mainframe->OnUpdateTrees(stubpath, IDs);
return CDR_renamed; // which signifies nothing else needs to be done
}
else return CDR_skip;
}
// Otherwise we really are renaming
finalbit = newname; // Replace the original subdir-name in finalbit with the new version
return CDR_ok; // return OK here; it's a dir not a file, so we won't save-into-deletecan in a thread
default: ;
}
return CDR_skip; // This will catch any invalid values of 'Whattodo'
}
CDR_Result CheckDupRen::FileAdjustForPreExistence(bool intoArchive/*=false*/, time_t modtime /*= 0*/)
{
if (destname.IsEmpty()) destname = inname; // Lest we're copying from a fileview to a dirview
enum DupRen Whattodo = WhattodoifClash;
if (Whattodo == DR_Unknown) // See if we've a stored choice for when there's a clash eg OverwriteAll
Whattodo = OfferToRename(dup, intoArchive, modtime); // If not, ask. If origin==dest, use the QueryIdiot dialog, otherwise be more polite
switch(Whattodo)
{ case DR_Cancel: WhattodoifClash = DR_Cancel; return CDR_skip;// To abort the rest of the items
case DR_SkipAll: WhattodoifClash = DR_SkipAll; // Store this in variable, then fall thru into:
case DR_Skip: return CDR_skip;
case DR_StoreAll: WhattodoifClash = DR_StoreAll; // (Store is only for archives)
case DR_Store: return CDR_ok;
case DR_OverwriteAll: WhattodoifClash = DR_OverwriteAll; // Store this in variable, then fall thru into:
case DR_Overwrite: if (intoArchive) // For archives, the per-item what2do is cached, then all operations done at once, elsewhere
{ WhattodoifClash = Whattodo; return CDR_ok; } // (Use Whattodo again here,as it might be either Overwrite or OverwriteAll
{ // We need to cache the current dest file in a can, for a future undo. Do it here if it's easy
wxString trashbindir;
if (!m_tsb || m_tsb->GetTrashdir().empty()) // m_tsb may be empty in an archive situation
{ wxFileName trashdir; // Start by creating a unique subdir in trashdir, using current date/time
if (!DirectoryForDeletions::GetUptothemomentDirname(trashdir, delcan))
{ wxMessageBox(_("For some reason, trying to create a dir to temporarily-save the overwritten file failed. Sorry!")); return CDR_skip; }
trashbindir = StrWithSep(trashdir.GetFullPath());
if (m_tsb) m_tsb->SetTrashdir(trashbindir);
}
else trashbindir = m_tsb->GetTrashdir(); // Reuse m_tsb->GetTrashdir() if poss as we want the same trashdir for each item, not hundreds of different ones
wxString clashingfile(StrWithSep(destpath) + destname);
FileData fd(clashingfile);
if (fd.IsRegularFile())
m_overwrittenfilepath = StrWithSep(trashbindir) + destname; // For regular files this will be needed for undoing
if (fd.IsRegularFile() && !IsThreadlessMovePossible(clashingfile, DirectoryForDeletions::GetDeletedName()))
return CDR_overwrite; // It's a file & we can't do it the easy way, so flag we need to use threads
// Otherwise it's a symlink or a misc (we won't get here if it's a dir) so we should be able to do a simple non-thread Move
wxFileName fn(destpath, destname);
wxFileName trashdir(trashbindir, wxT(""));
if (!parent->Move(&fn, &trashdir, destname, NULL))
return CDR_overwrite; // Despite checking, the simple method failed. So fall back to the thread way
else wxSafeYield(); // We must yield now, otherwise FSWatcher delete events from the Move() will clobber subsequent create ones
wxArrayInt IDs; IDs.Add(parent->GetId());
if (!fd.IsRegularFile()) // For files, unredoing will be dealt with differently
{ UnRedoMove* UnRedoptr = new UnRedoMove(destpath, IDs, trashdir.GetFullPath(), destname, destname, false, true); // Make a new unredoMove. NB we don't need to worry about refreshing trashdir
UnRedoptr->SetNeedsYield(true); // We need a wxSafeYield() here, otherwise the display updates wrongly
UnRedoManager::AddEntry(UnRedoptr); // and store it for Undoing (The 'true' in the line above signifies "From Delete", so UnRedo knows not to UpdateTrees for the Destination)
}
MyFrame::mainframe->OnUpdateTrees(destpath, IDs); // Finally we have to sort out the treectrl
return CDR_ok; // Return CDR_ok to signify that the paste (or whatever) can go ahead
}
case DR_RenameAll: WhattodoifClash = DR_RenameAll; // Store this in variable, then fall thru into:
case DR_Rename: if (!GetNewName(destpath, destname)) return CDR_skip;
if (dup) // If we're duping, we don't actually want to rename the original file, just dup it
{ int answer = RenameFile(destpath, destname, newname, true);
if (answer) // If the dup worked, make a new UnRedoDup
{ wxArrayInt IDs; IDs.Add(parent->GetId());
UnRedoDup* UnRedoptr = new UnRedoDup(destpath, destpath, destname, newname, false, IDs);
UnRedoManager::AddEntry(UnRedoptr);
MyFrame::mainframe->OnUpdateTrees(destpath, IDs, wxT(""), intoArchive);
return CDR_ok;
}
else return CDR_skip;
}
// Otherwise we really are renaming
finalbit = newname; // Replace the original name in finalbit with the new version
return CDR_ok;
default: ;
}
return CDR_skip; // This will catch any invalid values of Whattodo
}
enum DupRen CheckDupRen::OfferToRename(int dialogversion, bool intoArchive/*=false*/ , time_t intomodtime /*= 0*/)
{
MyButtonDialog mydlg;
switch(dialogversion) // If dialogversion==0 or 2, use polite dialog as copying same-name file/dir, but different paths
{
case 0: if (IsMultiple) // Load polite FILE dlg from xrc: Rename, overwrite or cancel; multiple or otherwise
{ if (intoArchive)
wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryArchiveAddMultipleDlg"));
else
wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryRenameMultipleDlg"));
}
else
{ if (intoArchive)
wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryArchiveAddDlg"));
else
wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryRenameDlg"));
}
{ wxStaticText* NameStatic = (wxStaticText*)mydlg.FindWindow(wxT("NameStatic"));
wxStaticText* CurrentStatic = (wxStaticText*)mydlg.FindWindow(wxT("Current"));
wxStaticText* IncomingStatic = (wxStaticText*)mydlg.FindWindow(wxT("Incoming"));
wxStaticText* fn = (wxStaticText*)mydlg.FindWindow(wxT("Filename"));
if (fn) fn->Hide();
wxString namestr = NameStatic->GetLabel() + wxT(" ") + destname;
NameStatic->SetLabel(namestr);
time_t fromtime; // If we're Pasting from an archive, we can't use a FileData to find the mod-time, so it was passed to the ctor
if (FromArchive) fromtime = FromModTime;
else
{ FileData in(incomingpath); fromtime = in.ModificationTime(); }
wxDateTime intime(fromtime);
time_t totime; // Ditto to an archive
if (intoArchive) totime = intomodtime;
else
{ FileData dest(destpath+destname); totime = dest.ModificationTime(); }
wxDateTime desttime(totime);
if (intime.IsSameTime(desttime))
CurrentStatic->SetLabel(_("Both files have the same Modification time"));
else
{ wxString desttimestr, intimestr;
if (intime.IsEqualUpTo(desttime, wxTimeSpan::Day()))
{ intimestr = intime.Format(wxT("%x %R")); desttimestr = desttime.Format(wxT("%x %R")); }
else { intimestr = intime.Format(wxT("%x")); desttimestr = desttime.Format(wxT("%x")); }
wxString str(_("The current file was modified on ")); CurrentStatic->SetLabel(str + desttimestr);
str = _("The incoming file was modified on "); IncomingStatic->SetLabel(str + intimestr);
}
mydlg.GetSizer()->Fit(&mydlg);
mydlg.GetSizer()->Layout(); // Needed from 2.9, otherwise the statics don't recentre
}
break;
case 1: if (!intoArchive) { wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryIdiotDlg")); } // Load ?Idiot dlg: Dup or cancel FILE
else { wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryArchiveDupDlg")); }
break;
case 2: if (IsMultiple) // Load the polite DIR version: Rename or cancel; multiple or otherwise
{ wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryRenameMultipleDirDlg"));
wxStaticText* NameStatic = (wxStaticText*)mydlg.FindWindow(wxT("Filename"));
NameStatic->SetLabel(lastseg);
mydlg.GetSizer()->Layout(); // Needed from 2.9, otherwise the statics don't recentre
}
else
wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryRenameDirDlg"));
break;
case 3: { wxXmlResource::Get()->LoadDialog(&mydlg, parent, wxT("QueryIdiotDlg")); // Load ?Idiot dlg: Dup or cancel DIR
wxString msg(_("You seem to want to overwrite this directory with itself")); // Message for the dir version. The original says 'file'
((wxStaticText*)mydlg.FindWindow(wxT("QueryIdiot_message")))->SetLabel(msg);
}
break;
default: return DR_Unknown;
}
if (FromArchive) // If we're Pasting from an archive, disable rename: we can't conveniently rename if there's a clash
{ wxWindow* rename = mydlg.FindWindow(wxT("Rename")); if (rename) rename->Disable();
rename = mydlg.FindWindow(wxT("RenameAll")); if (rename) rename->Disable();
}
int answer = mydlg.ShowModal(); // Call the dialog that allows the user to (overwrite) rename or cancel
if (answer == XRCID("Rename")) return DR_Rename;
if (answer == XRCID("RenameAll")) return DR_RenameAll;
if (answer == XRCID("Store")) return DR_Store;
if (answer == XRCID("StoreAll")) return DR_StoreAll;
if (answer == XRCID("Overwrite")) return DR_Overwrite;
if (answer == XRCID("OverwriteAll")) return DR_OverwriteAll;
if (answer == XRCID("Skip")) return DR_Skip;
if (answer == XRCID("SkipAll")) return DR_SkipAll;
if (answer == XRCID("Cancel") || answer == wxID_CANCEL) return DR_Cancel;
return DR_Unknown;
}
bool CheckDupRen::GetNewName(wxString& destpath, wxString& oldname)
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, parent, wxT("RenameDlg"));
do
{ wxTextCtrl* text = (wxTextCtrl*)dlg.FindWindow(wxT("newfilename"));
text->ChangeValue(oldname); text->SetSelection(-1, -1); text->SetFocus(); // Insert the original name & highlight it
if (dlg.ShowModal() == wxID_CANCEL) return false;
newname = text->GetValue(); // Get the desired name
if (newname.IsEmpty()) return false;
if (newname != oldname)
{ FileData newfpath(destpath+newname);
if (newfpath.IsValid())
{ wxMessageBox(_("Sorry, that name is already taken. Please try again.")); continue; }
else return true; // Return success. Newname is stored as class variable
}
wxMessageBox(_("No, the idea is that you CHANGE the name"));
} while (1);
return false; // Just to avoid compiler warnings
}
//static
int CheckDupRen::RenameFile(wxString& originpath, wxString& originname, wxString& newname, bool dup) // Renames or Duplicates
{
wxString oldpath = originpath; if (oldpath.Last() != wxFILE_SEP_PATH) oldpath += wxFILE_SEP_PATH; // We need the '/' to make the filepaths below
if (!dup) return (wxRenameFile(oldpath+originname, oldpath+newname) ? 2 : false); // If success, return 2 to tell caller it's a rename, not a dup
// If we're here, we're duplicating
FileData stat(oldpath+originname); // Stat the file, to make sure it's not something else eg a symlink
if (stat.IsSymlink()) // If it's a symlink, make a new one
{ if (!stat.IsBrokenSymlink())
{ if (!CreateSymlink(stat.GetSymlinkDestination(true), oldpath+newname)) return false; }
else
return SafelyCloneSymlink(oldpath+originname, oldpath+newname, stat);
}
else
if (stat.IsRegularFile()) // If it's a normal file, use built-in wxCopyFile
{ wxBusyCursor busy;
if (!wxCopyFile(oldpath+originname, oldpath+newname)) // Copy it, with the new instance having a different name
{ wxMessageBox(_("Sorry, I couldn't duplicate the file. A permissions problem maybe?")); return false; }
}
else
{ wxBusyCursor busy; // Otherwise it's an oddity like a fifo, which makes wxCopyFile hang, so do it the linux way
mode_t oldUmask = umask(0); // Temporarily change umask so that permissions are copied exactly
bool ans = mknod((oldpath+newname).mb_str(wxConvUTF8), stat.GetStatstruct()->st_mode, stat.GetStatstruct()->st_rdev); // Technically this works. Goodness knows if it achieves anything useful!
umask(oldUmask); return ans==0;
}
return 1; // to flag a successful dup (as opposed to rename)
}
//static
int CheckDupRen::RenameDir(wxString& destpath, wxString& newpth, bool dup) // Renames or Duplicates
{
if (!dup) // If we're renaming rather than duplicating, just do it
return (wxRenameFile(destpath, newpth) ? 2 : false); // If success, return 2 to tell caller it's a rename, not a dup
// If we're here, we're duplicating
wxString origpath = destpath, newpath = newpth; // Copy strings: we' re using references, & they'll probably be altered in sub-method
if (origpath.Last() != wxFILE_SEP_PATH) origpath += wxFILE_SEP_PATH; // Seem to be needed
if (newpath.Last() != wxFILE_SEP_PATH) newpath += wxFILE_SEP_PATH;
if (!CheckDupRen::DoDup(origpath, newpath)) // Now do the dup in sub-method
return false;
return true; // Return 1 to flag a successful Dup
}
bool CheckDupRen::DoDup(wxString& originalpath, wxString& newpath) // Used by DoRename to duplicate dirs
{
if (!wxFileName::Mkdir(newpath, 0777, wxPATH_MKDIR_FULL)) // Make the new dir. wxPATH_MKDIR_FULL means intermediate dirs are created too
{ wxLogError(_("Sorry, I couldn't make room for the incoming directory. A permissions problem maybe?")); return false; }
wxDir dir(originalpath); // Use helper class to deal sequentially with each child file & subdir
if (!dir.IsOpened()) { wxLogError(_("Sorry, an implausible filesystem error occurred :-(")); return false; } // Oops
wxBusyCursor busy;
wxString filename; // Go thru the dir, dealing first with files. NB we don't return false in the event of failure: there's already been SOME success (the parent dir) & there may be others to come
bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_FILES | wxDIR_HIDDEN);
while (cont)
{ wxString file = wxFILE_SEP_PATH + filename;
class FileData stat(originalpath + file);
if (stat.IsSymlink())
SafelyCloneSymlink(originalpath + file, newpath + file, stat);
else
if (stat.IsRegularFile()) // If it's a normal file, use built-in wxCopyFile
{ wxBusyCursor busy;
wxCopyFile(originalpath + file, newpath + file, false);
}
else
{ wxBusyCursor busy; // Otherwise it's an oddity like a fifo, which makes wxCopyFile hang, so do it the linux way
mode_t oldUmask = umask(0); // Temporarily change umask so that permissions are copied exactly
mknod((newpath + file).mb_str(wxConvUTF8), stat.GetStatstruct()->st_mode, stat.GetStatstruct()->st_rdev); // Technically this works. Goodness knows if it achieves anything useful!
umask(oldUmask);
}
cont = dir.GetNext(&filename); // and try for another file
}
// and now with any subdirs
cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_DIRS | wxDIR_HIDDEN);
while (cont)
{ wxString file = wxFILE_SEP_PATH + filename; // Make filename into /filename
class FileData stat(originalpath + file); // Stat the filepath, to make sure it's not a symlink pointing to a dir!
if (stat.IsSymlink())
SafelyCloneSymlink(originalpath + file, newpath + file, stat);
else
{ wxString from(originalpath + filename + wxFILE_SEP_PATH), to(newpath + filename + wxFILE_SEP_PATH); // Make the new paths
DoDup(from, to); // Do the subdir by recursion
}
cont = dir.GetNext(&filename);
}
return true;
}
//static
bool CheckDupRen::ChangeLinkTarget(wxString& linkfilepath, wxString& destfilepath) // Here for convenience: change the target of a symlink
{
if (linkfilepath.IsEmpty() || destfilepath.IsEmpty()) return false;
if (!wxRemoveFile(linkfilepath)) // Delete the old link
{ wxMessageBox(_("Symlink Deletion Failed!?!")); return false; } // Shouldn't fail, but exit ungracefully if somehow it does eg due to permissions
if (!CreateSymlink(destfilepath, linkfilepath)) return false; // Create a new symlink, to the new target
return true;
}
//--------------------------------------------------------------------------------------------------------------------------------------
wxArrayString MultipleRename::DoRename()
{
if (OldFilepaths.IsEmpty()) return OldFilepaths;
wxXmlResource::Get()->LoadDialog(&dlg, parent, wxT("MultipleRenameDlg")); // This is the dialog that gets the user input
dlg.Init();
if (dup) dlg.SetTitle(_("Multiple Duplicate"));
LoadHistory();
HelpContext = HCmultiplerename;
int confirm;
wxCheckBox* inmChk = (wxCheckBox*)dlg.FindWindow(wxT("IgnoreNonMatchesChk"));
wxArrayString tempOldFilepaths;
do
{ NewFilepaths.Clear(); tempOldFilepaths.Clear(); // In case this is >1st time thru
int ans = dlg.ShowModal();
if (ans != wxID_OK) return NewFilepaths;
bool IgnoreNonMatches = inmChk && inmChk->IsChecked(); // If checked, we'll skip any non-matching files in the non-regex sections below
bool body = !((wxRadioBox*)dlg.FindWindow(wxT("BodyExtRadio")))->GetSelection();
bool alwaysinc = !((wxCheckBox*)dlg.FindWindow(wxT("OnlyIfNeededChk")))->IsChecked();
if (((wxCheckBox*)dlg.FindWindow(wxT("UseRegexChk")))->IsChecked())
{ size_t matches;
wxString ReplaceThis = ((wxComboBox*)dlg.ReplaceCombo)->GetValue();
wxString WithThis = ((wxComboBox*)dlg.WithCombo)->GetValue();
if (dlg.ReplaceAllRadio->GetValue()) matches = 0;
else matches = dlg.MatchSpin->GetValue();
for (size_t n=0; n < OldFilepaths.GetCount(); ++n)
{ wxFileName fn(OldFilepaths[n]); wxString name = fn.GetFullName();
if (DoRegEx(name, ReplaceThis, WithThis, matches))
{ fn.SetFullName(name); NewFilepaths.Add(fn.GetFullPath());
tempOldFilepaths.Add(OldFilepaths[n]);
}
else
if (!IgnoreNonMatches)
{ NewFilepaths.Add(OldFilepaths[n]); // Only add the unchanged, non-matching files if the user wants to process them later
tempOldFilepaths.Add(OldFilepaths[n]); // in which case, add OldFilepaths[n] to keep the old/new in sync
}
}
}
else
{ NewFilepaths = OldFilepaths; tempOldFilepaths = OldFilepaths; } // If we're not going to copy in the above if statement, do it here
wxString Prepend = ((wxComboBox*)dlg.PrependCombo)->GetValue();
wxString Append = ((wxComboBox*)dlg.AppendCombo)->GetValue();
DoPrependAppend(body, Prepend, Append);
DoInc(body, dlg.Inc, dlg.IncWith, alwaysinc);
MyButtonDialog confirmdlg; // Give the user a chance to reconsider
wxXmlResource::Get()->LoadDialog(&confirmdlg, MyFrame::mainframe->GetActivePane(), wxT("ConfirmMultiRenameDlg"));
if (dup) confirmdlg.SetTitle(_("Confirm Duplication"));
LoadPreviousSize(&confirmdlg, wxT("ConfirmMultiRenameDlg"));
wxListBox* BeforeList = (wxListBox*)confirmdlg.FindWindow(wxT("BeforeList"));
wxListBox* AfterList = (wxListBox*)confirmdlg.FindWindow(wxT("AfterList"));
wxCHECK_MSG(tempOldFilepaths.GetCount() == NewFilepaths.GetCount(), wxArrayString(), wxT("Mismatch in numbers of old/new names"));
for (size_t n=0; n < NewFilepaths.GetCount(); ++n)
{ BeforeList->Append(tempOldFilepaths[n].AfterLast(wxFILE_SEP_PATH)); AfterList->Append(NewFilepaths[n].AfterLast(wxFILE_SEP_PATH)); }
confirm = confirmdlg.ShowModal();
SaveCurrentSize(&confirmdlg, wxT("ConfirmMultiRenameDlg"));
if (confirm == wxID_CANCEL) { NewFilepaths.Clear(); return NewFilepaths; }
}
while (confirm != wxID_OK); // Loop if user clicked "Try Again"
SaveHistory();
HelpContext = HCunknown;
OldFilepaths = tempOldFilepaths; // OldFilepaths is a reference, so this keeps the caller in register when ignoring non-matching files in the selection
return NewFilepaths;
}
bool MultipleRename::DoRegEx(wxString& String, wxString& ReplaceThis, wxString& WithThis, size_t matches)
{
if (String.IsEmpty() || (ReplaceThis.IsEmpty() && WithThis.IsEmpty())) return false;
wxString Repl(ReplaceThis); // Switch to a local wxString because:
if (Repl.IsEmpty()) Repl = String; // Assume that an empty Replace & non-empty With means replace whole String
// I'm not sure if it's a bug, or a bug in my regex understanding, but
// trying to replace ".*" or ".?" will cause an infinite loop if match==0
if ((matches==0) && (Repl==wxT(".*") || Repl==wxT(".?")))
matches = 1;
wxLogNull WeDontWantwxRegExErrorMessages;
wxRegEx Expr(Repl);
if (Expr.IsValid() && Expr.Matches(String))
{ Expr.Replace(&String, WithThis, matches);
return true;
}
return false; // Not a match
}
bool MultipleRename::DoInc(bool body, int InitialValue, int type, bool AlwaysInc)
{
for (size_t n=0; n < NewFilepaths.GetCount(); ++n)
{ wxString name; wxFileName fn; int start = InitialValue;
if (AlwaysInc || CheckForClash(NewFilepaths[n], n)) // If we're always to inc, or if there's a clash
{ do
{ fn.Assign(NewFilepaths[n]);
if (body | fn.GetExt().IsEmpty())
{ name = fn.GetName() + IncText(type, start++); fn.SetName(name); }
else { name = fn.GetExt() + IncText(type, start++); fn.SetExt(name); }
}
while (CheckForClash(fn.GetFullPath(), n)); // If there's (still) a clash, re-Inc
NewFilepaths[n] = fn.GetFullPath(); // Write the altered string back to the array
}
}
return true;
}
bool MultipleRename::DoPrependAppend(bool body, wxString& Prepend, wxString& Append)
{
if (Prepend.IsEmpty() && Append.IsEmpty()) return false;
for (size_t n=0; n < NewFilepaths.GetCount(); ++n)
{ wxString name; wxFileName fn(NewFilepaths[n]);
if (body | fn.GetExt().IsEmpty()) // If we've been told to use the body, or there isn't an ext anyway
{ name = Prepend + fn.GetName() + Append; fn.SetName(name); } // pre/append to the body.
else { name = Prepend + fn.GetExt() + Append; fn.SetExt(name); } // Otherwise to the ext
NewFilepaths[n] = fn.GetFullPath(); // Write the altered string back to the array
}
return true;
}
bool MultipleRename::CheckForClash(wxString Filepath, size_t index) // See if there's already a 'file' with this filepath
{
FileData fd(Filepath);
if (fd.IsValid()) return true; // Yes, there is
for (size_t n=0; n < index; ++n) // Now check that a prior (potential) rename won't clash
if (NewFilepaths[n] == Filepath) return true;
return false;
}
//static
wxString MultipleRename::IncText(int type, int start) // Increments "start", returning the result as a string. Used also by MultipleRenameDlg
{
wxString value;
if (type == digit) { value = (wxString::Format(wxT("%d"), start)); return value; }
if (start < 26) value = wxString::Format(wxT("%c"), start + wxT('a'));
else value = CreateSubgroupName(start-26, start); // Recycle CreateSubgroupName to make "a" or "aa" or "aaa" or...
if (type == upper) value.MakeUpper();
return value;
}
void MultipleRename::LoadHistory() // Load the comboboxes history
{
wxConfigBase* config = wxConfigBase::Get(); if (config==NULL) return;
wxString item, key; size_t count;
config->SetPath(wxT("/History/MultRename/Replace/"));
count = config->GetNumberOfEntries();
dlg.ReplaceCombo->Clear(); //if (count) dlg.ReplaceCombo->Append(wxT(""));
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Read(key, &item);
if (!item.IsEmpty() && (dlg.ReplaceCombo->FindString(item) == wxNOT_FOUND))
dlg.ReplaceCombo->Append(item);
}
dlg.ReplaceCombo->SetValue(wxT("")); // We don't want an immediate selection
config->SetPath(wxT("/History/MultRename/With/"));
count = config->GetNumberOfEntries();
dlg.WithCombo->Clear();
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Read(key, &item);
if (!item.IsEmpty() && (dlg.WithCombo->FindString(item) == wxNOT_FOUND))
dlg.WithCombo->Append(item);
}
dlg.WithCombo->SetValue(wxT(""));
config->SetPath(wxT("/History/MultRename/Prepend/"));
count = config->GetNumberOfEntries();
dlg.PrependCombo->Clear();
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Read(key, &item);
if (!item.IsEmpty() && (dlg.PrependCombo->FindString(item) == wxNOT_FOUND))
dlg.PrependCombo->Append(item);
}
dlg.PrependCombo->SetValue(wxT(""));
config->SetPath(wxT("/History/MultRename/Append/"));
count = config->GetNumberOfEntries();
dlg.AppendCombo->Clear();
for (size_t n=0; n < count; ++n)
{ key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Read(key, &item);
if (!item.IsEmpty() && (dlg.AppendCombo->FindString(item) == wxNOT_FOUND))
dlg.AppendCombo->Append(item);
}
dlg.AppendCombo->SetValue(wxT(""));
config->SetPath(wxT("/"));
}
void MultipleRename::SaveHistory() // Save the comboboxes history
{
wxConfigBase* config = wxConfigBase::Get(); if (config==NULL) return;
wxString item, key; wxArrayString array;
item = dlg.ReplaceCombo->GetValue(); // See if there's a new entry
if (!item.IsEmpty()) // If not, there's nothing to change
{ array.Add(item); // Store the new item
size_t count = wxMin((size_t)dlg.ReplaceCombo->GetCount(), MAX_COMMAND_HISTORY); // Count the entries to be saved: not TOO many
for (size_t n=0; n < count; ++n) { item = dlg.ReplaceCombo->GetString(n); if (!item.IsEmpty()) array.Add(item); }
config->DeleteGroup(wxT("/History/MultRename/Replace"));
config->SetPath(wxT("/History/MultRename/Replace"));
for (size_t n=0; n < array.GetCount(); ++n)
{ item = array[n]; if (item.IsEmpty()) continue;
key.Printf(wxT("%c"), wxT('a') + (wxChar)n); // Make key hold a, b, c etc
config->Write(key, item);
}
}
item = dlg.WithCombo->GetValue();
if (!item.IsEmpty())
{ array.Clear(); array.Add(item);
size_t count = wxMin((size_t)dlg.WithCombo->GetCount(), MAX_COMMAND_HISTORY);
for (size_t n=0; n < count; ++n) { item = dlg.WithCombo->GetString(n); if (!item.IsEmpty()) array.Add(item); }
config->DeleteGroup(wxT("/History/MultRename/With"));
config->SetPath(wxT("/History/MultRename/With/"));
for (size_t n=0; n < array.GetCount(); ++n)
{ item = array[n]; if (item.IsEmpty()) continue;
key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Write(key, item);
}
}
item = dlg.PrependCombo->GetValue();
if (!item.IsEmpty())
{ array.Clear(); array.Add(item);
size_t count = wxMin((size_t)dlg.PrependCombo->GetCount(), MAX_COMMAND_HISTORY);
for (size_t n=0; n < count; ++n) { item = dlg.PrependCombo->GetString(n); if (!item.IsEmpty()) array.Add(item); }
config->DeleteGroup(wxT("/History/MultRename/Prepend"));
config->SetPath(wxT("/History/MultRename/Prepend/"));
for (size_t n=0; n < array.GetCount(); ++n)
{ item = array[n]; if (item.IsEmpty()) continue;
key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Write(key, item);
}
}
item = dlg.AppendCombo->GetValue();
if (!item.IsEmpty())
{ array.Clear(); array.Add(item);
size_t count = wxMin((size_t)dlg.AppendCombo->GetCount(), MAX_COMMAND_HISTORY);
for (size_t n=0; n < count; ++n) { item = dlg.AppendCombo->GetString(n); if (!item.IsEmpty()) array.Add(item); }
config->DeleteGroup(wxT("/History/MultRename/Append"));
config->SetPath(wxT("/History/MultRename/Append/"));
for (size_t n=0; n < array.GetCount(); ++n)
{ item = array[n]; if (item.IsEmpty()) continue;
key.Printf(wxT("%c"), wxT('a') + (wxChar)n);
config->Write(key, item);
}
}
config->Flush();
config->SetPath(wxT("/"));
}
//--------------------------------------------------------------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(MultipleRenameDlg,wxDialog)
void MultipleRenameDlg::Init()
{
IncText = (wxTextCtrl*)FindWindow(wxT("IncText"));
ReplaceAllRadio = (wxRadioButton*)FindWindow(wxT("ReplaceAllRadio")); ReplaceAllRadio->SetValue(true);
ReplaceOnlyRadio = (wxRadioButton*)FindWindow(wxT("ReplaceOnlyRadio"));
MatchSpin = (wxSpinCtrl*)FindWindow(wxT("MatchSpin")); MatchSpin->Enable(false);
DigitLetterRadio = (wxRadioBox*)FindWindow(wxT("DigitLetterRadio"));
CaseRadio = (wxRadioBox*)FindWindow(wxT("CaseRadio")); CaseRadio->Enable(false);
ReplaceCombo = (wxComboBox*)FindWindow(wxT("ReplaceCombo"));
WithCombo = (wxComboBox*)FindWindow(wxT("WithCombo"));
PrependCombo = (wxComboBox*)FindWindow(wxT("PrependCombo"));
AppendCombo = (wxComboBox*)FindWindow(wxT("AppendCombo"));
IncWith = digit; Inc = 0;
}
void MultipleRenameDlg::SetIncText()
{
wxString value = MultipleRename::IncText(IncWith, Inc);
IncText->SetValue(value);
}
void MultipleRenameDlg::OnRegexCrib(wxCommandEvent& event)
{
HtmlDialog(_("RegEx Help"), HELPDIR + wxT("/RegExpHelp.htm"), wxT("RegExpHelp"), this);
}
void MultipleRenameDlg::OnSpinUp(wxSpinEvent& WXUNUSED(event))
{
++Inc;
SetIncText();
}
void MultipleRenameDlg::OnSpinDown(wxSpinEvent& event)
{
if (Inc > 0) --Inc; // We don't want negative values
else Inc = ((wxSpinButton*)event.GetEventObject())->GetMax();
SetIncText();
}
void MultipleRenameDlg::OnRadioChanged(wxCommandEvent& WXUNUSED(event)) // Change whether the IncText box holds a digit or UC/UC letter
{
if (DigitLetterRadio->GetSelection()==0) IncWith = digit; // Work out what's now wanted
else IncWith = (CaseRadio->GetSelection()==0 ? upper : lower);
SetIncText();
CaseRadio->Enable(IncWith > digit); // A convenient place to do UpdateUI
}
void MultipleRenameDlg::PanelUpdateUI(wxUpdateUIEvent& event)
{
bool ischecked = ((wxCheckBox*)FindWindow(wxT("UseRegexChk")))->IsChecked();
((wxPanel*)event.GetEventObject())->Enable(ischecked);
// The (recently added) IgnoreNonMatches checkbox needs the same UpdateUI as the panel
wxWindow* inmChk = FindWindow(wxT("IgnoreNonMatchesChk"));
if (inmChk)
inmChk->Enable(ischecked);
}
void MultipleRenameDlg::ReplaceAllRadioClicked(wxCommandEvent& WXUNUSED(event))
{
bool all = ReplaceAllRadio->GetValue(); // Did the user just select this radio, or unselect?
ReplaceOnlyRadio->SetValue(!all); // Negate the other radio
MatchSpin->Enable(!all); // and appropriately enable the spinctrl
}
void MultipleRenameDlg::ReplaceOnlyRadioClicked(wxCommandEvent& WXUNUSED(event))
{
bool all = ReplaceOnlyRadio->GetValue();
ReplaceAllRadio->SetValue(!all);
MatchSpin->Enable(all);
}
BEGIN_EVENT_TABLE(MultipleRenameDlg, wxDialog)
EVT_BUTTON(XRCID("RegexCrib"), MultipleRenameDlg::OnRegexCrib)
EVT_RADIOBOX(XRCID("DigitLetterRadio"), MultipleRenameDlg::OnRadioChanged)
EVT_RADIOBOX(XRCID("CaseRadio"), MultipleRenameDlg::OnRadioChanged)
EVT_SPIN_UP(wxID_ANY, MultipleRenameDlg::OnSpinUp)
EVT_SPIN_DOWN(wxID_ANY, MultipleRenameDlg::OnSpinDown)
EVT_RADIOBUTTON(XRCID("ReplaceAllRadio"), MultipleRenameDlg::ReplaceAllRadioClicked)
EVT_RADIOBUTTON(XRCID("ReplaceOnlyRadio"), MultipleRenameDlg::ReplaceOnlyRadioClicked)
EVT_UPDATE_UI(XRCID("Panel"), MultipleRenameDlg::PanelUpdateUI)
END_EVENT_TABLE()
4pane-5.0/MyFrame.h 0000644 0001750 0001750 00000053477 13120031110 011015 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: MyFrame.h
// Purpose: App, Frame and Layout stuff
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef MYFRAMEH
#define MYFRAMEH
#include "wx/wx.h"
#include "wx/config.h"
#include "wx/splitter.h"
#include "wx/sizer.h"
#include "wx/xrc/xmlres.h"
#include "wx/toolbar.h"
#include "wx/html/helpctrl.h"
#include "wx/dynlib.h"
#include "MyNotebook.h"
#include "Externs.h"
#include "Tools.h"
#include "MyDragImage.h"
#include "MyDirs.h"
#if wxVERSION_NUMBER < 2900
DECLARE_EVENT_TYPE(myEVT_BriefMessageBox, wxID_ANY)
#else
wxDECLARE_EVENT(myEVT_BriefMessageBox, wxCommandEvent);
#endif
class MyFrame;
class wxGenericDirCtrl;
class MyGenericDirCtrl;
class DirGenericDirCtrl;
class FileGenericDirCtrl;
class Tools;
class MyTab;
class AcceleratorList;
class FocusController // Holds the current and last-focused windows, and most recently focused pane
{
public:
FocusController() { m_CurrentFocus = NULL; m_PreviousFocus = NULL; }
wxWindow* GetCurrentFocus() const { return m_CurrentFocus; }
wxWindow* GetPreviousFocus() const { return m_PreviousFocus; }
void SetCurrentFocus(wxWindow* win);
void SetPreviousFocus(wxWindow* win) { m_PreviousFocus = win; }
void Invalidate(wxWindow* win); // This wxWindow is no longer shown, so don't try to focus it
protected:
wxWindow* m_CurrentFocus;
wxWindow* m_PreviousFocus;
};
class MyApp : public wxApp
{
public:
MyApp() : wxApp(), frame(NULL), m_WaylandSession(false) {}
void RestartApplic();
const wxColour* GetBackgroundColourUnSelected() const { return &m_BackgroundColourUnSelected; }
const wxColour* GetBackgroundColourSelected(bool fileview = false) const;
void SetPaneHighlightColours(); // Set colours to denote selected/unselectness in the panes
wxColour AdjustColourFromOffset(const wxColour& col, int offset) const; // Utility function. Intelligently applies the given offset to col
wxImage CorrectForDarkTheme(const wxString& filepath) const; // Utility function. Loads an b/w image and inverts the cols if using a dark theme
wxDynamicLibrary* GetLiblzma() { return m_liblzma; }
FocusController& GetFocusController() { return m_FocusCtrlr; }
const wxString GetConfigFilepath() const { return m_ConfigFilepath; }
const wxString GetHOME() const { return m_home; }
const wxString GetXDGconfigdir() const { return m_XDGconfigdir; }
const wxString GetXDGcachedir() const { return m_XDGcachedir; }
const wxString GetXDGdatadir() const { return m_XDGdatadir; }
bool GetIsWaylandSession() const { return m_WaylandSession; }
wxString StdDataDir;
wxString StdDocsDir;
wxString startdir0, startdir1;
void SetEscapeKeycode(int code) { m_EscapeCode = code; }
void SetEscapeKeyFlags(int flags) { m_EscapeFlags = flags; }
int GetEscapeKeycode() const { return m_EscapeCode; }
int GetEscapeKeyFlags() const { return m_EscapeFlags; }
private:
virtual bool OnInit();
int OnExit();
bool ParseCmdline();
int FilterEvent(wxEvent& event);
void SetWaylandSession(bool session_type) { m_WaylandSession = session_type; }
#if defined(__WXX11__) && wxVERSION_NUMBER < 2800
bool ProcessXEvent(WXEvent* _event); // Grab selection XEvents
#endif
#if wxVERSION_NUMBER < 2600
wxString AbsoluteFilepath;
#endif
wxColour m_BackgroundColourUnSelected; // Holds the appropriate colour for when a pane has focus
wxColour m_DvBackgroundColourSelected; // and unfocused, dirview
wxColour m_FvBackgroundColourSelected; // and unfocused, fileview
MyFrame* frame;
wxLocale m_locale;
wxDynamicLibrary* m_liblzma;
FocusController m_FocusCtrlr;
wxString m_XDGconfigdir;
wxString m_XDGcachedir;
wxString m_XDGdatadir;
wxString m_ConfigFilepath;
wxString m_home; // In case we want to pass as a parameter an alternative $HOME, e.g. in a liveCD situation
int m_EscapeCode;
int m_EscapeFlags;
bool m_WaylandSession;
};
DECLARE_APP(MyApp)
class MyPanel : public wxPanel // This is mostly because it's good practice to put a panel into a splitter window; and we may need an event table there
{
public:
MyPanel( wxWindow* parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT(""))
: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, wxT("")) {}
};
class DirSplitterWindow : public wxSplitterWindow //Splitter-Window type specifically for the directories. Is inserted into a higher-level split
{
public:
DirSplitterWindow(wxSplitterWindow* parent, bool right);
MyPanel *DirPanel, *FilePanel;
wxBoxSizer *DirSizer, *FileSizer, *DirToolbarSizer;
DirGenericDirCtrl *m_left;
FileGenericDirCtrl *m_right;
bool isright; // Is this the left hand conjoint twins or the right
void Setup(MyTab* parent_tab, bool hasfocus, const wxString& start_dir = wxT(""), bool full_tree = false,
bool showfiles = false, bool showhiddendirs = true, bool showhiddenfiles = true, const wxString& path = wxT(""));
void SetDirviewFocus(wxFocusEvent& event); // (Un)Highlights the m_highlight_panel colour to indicate whether the dirview has focus
wxWindow* GetDirToolbarPanel() { return m_highlight_panel; } // Returns the panel to which to add the dirview's toolbar
protected:
void OnFullTree(wxCommandEvent& event); // Various toolbar methods, all passed to dirview
void OnDirUp(wxCommandEvent& event);
void OnDirBack(wxCommandEvent& event);
void OnDirForward(wxCommandEvent& event);
void OnDirDropdown(wxCommandEvent& event);
void OnDirCtrlTBButton(wxCommandEvent& event);
void DoToolbarUI(wxUpdateUIEvent& event);
void OnSashPosChanging(wxSplitterEvent& event);
void OnDClick(wxSplitterEvent& event){ event.Veto(); } // On sash DClick, to prevent the default unsplitting
void SetFocusOpposite(wxCommandEvent& event); // Key-navigate to opposite pane
wxSplitterWindow* m_parent;
wxPanel* m_highlight_panel;
DECLARE_EVENT_TABLE()
};
class MyTab;
class Tabdata // Class to manage the appearance of a tab
{
public:
wxString startdirleft; // Left(Top) pane starting dir and path
wxString pathleft;
wxString startdirright; // Ditto Right(Bottom)
wxString pathright;
bool fulltreeleft; // & their fulltree status
bool fulltreeright;
bool LeftTopIsActive; // Which twin-pane was selected at the time of a SaveDefaults() of an unsplit tab. Needed so that reloading gives the same unhidden pane
split_type splittype; // How is the pane split
int verticalsplitpos; // If it's vertical, this is the main sash pos
int horizontalsplitpos; // Horizontal ditto
bool TLFileonly; // Does this fileview display dirs & files, or just files?
bool BRFileonly;
bool showhiddenTLdir; // Does each pane show Hidden?
bool showhiddenTLfile;
bool showhiddenBRdir;
bool showhiddenBRfile;
int leftverticalsashpos; // If it's vertical, this is where to position the dirview/fileview sash
int tophorizontalsashpos; // etc
int rightverticalsashpos;
int bottomhorizontalsashpos;
int unsplitsashpos;
int Lwidthcol[8]; // How wide is each Fileview column?
bool LColShown[8]; // and is it to be initially visible?
int Rwidthcol[8]; // Ditto for RightBottom fileview
bool RColShown[8];
int Lselectedcol;
int Rselectedcol;
bool Lreversesort;
bool Rreversesort;
bool Ldecimalsort;
bool Rdecimalsort;
wxString tabname; // Label on the tab
Tabdata(MyTab* parent) : m_parent(parent) {}
Tabdata(const Tabdata& oldtabdata);
int Load(MyNotebook* NB, int tabno = 0, int TemplateNo = -1); // Load the current defaults for this tab, or those of the requested template
void Save(int tabno = 0, int TemplateNo = -1); // Save the data for this tab. If TemplateNo==-1, it's a normal save );
protected:
MyTab* m_parent;
};
class MyTab : public wxPanel // Represents each page of the notebook. Derived so as to parent the GenericDirCtrls
{
public:
MyTab(MyNotebook* parent, wxWindowID id = -1, int pageno = 0, int TemplateNo = -1, const wxString& name = wxT(""), const wxString& startdir0=wxT(""), const wxString& startdir1=wxT(""));
MyTab(Tabdata* tabdatatocopy, MyNotebook* dad, wxWindowID id = -1, int TemplateNo = -1, const wxString& name = wxT(""));
~MyTab(){ delete tabdata; }
void Create(const wxString& startdir0 = wxT(""), const wxString& startdir1 = wxT(""));
void PerformSplit(split_type splittype, bool newtab = false); // Splits a tab into left/right or top/bottom or unsplit. If newtab, initialises one pane
void StoreData(int tabno); // Refreshes the tabdata ready for saving
void SwitchOffHighlights();
bool LeftTopIsActive(){ return (LeftRightDirview == LeftorTopDirCtrl); } // Returns true if the active twinpane is the left (or top) one
void SetActivePaneFromConfig(); // On loading, sets which should become the active twinpane
split_type GetSplitStatus() { return splitstatus; }
void SetActivePane(MyGenericDirCtrl* active);
MyGenericDirCtrl* GetActivePane() const { return LastKnownActivePane; }
MyGenericDirCtrl* GetActiveDirview() const { return LeftRightDirview; }
class Tabdata* tabdata;
int tabdatanumber; // Stores the type of tabdata that this tab gets loaded with, so that notebook can save it later
DirSplitterWindow* m_splitterLeftTop, *m_splitterRightBottom;
MyGenericDirCtrl* LeftorTopDirCtrl; // These point to the actual Dirviews, for ease of extracting current rootdir, path etc
MyGenericDirCtrl* LeftorTopFileCtrl; // & Fileviews, for the column widths
MyGenericDirCtrl* RightorBottomDirCtrl;
MyGenericDirCtrl* RightorBottomFileCtrl;
protected:
wxSplitterWindow* m_splitterQuad;
MyGenericDirCtrl* LeftRightDirview; // Holds the dirview of which of the 2 ctrls was last 'active', Left/Top or Right/Bottom
MyGenericDirCtrl* LastKnownActivePane; // Holds which pane was last active
split_type splitstatus; // Vertical/Horiz/Unsplit status, just to simplify Viewmenu UpdateUI
void OnIdle(wxIdleEvent& event);
#if wxVERSION_NUMBER > 2603 && ! (defined(__WXGTK20__) || defined(__WXX11__))
bool NeedsLayout;
#endif
};
class TabTemplateOverwriteDlg : public wxDialog // Simple dialog to allow choice between Overwrite & SaveAs in MyNotebook::SaveAsTemplate()
{
protected:
void OnOverwriteButton(wxCommandEvent& WXUNUSED(event)){ EndModal(XRCID("Overwrite")); }
void OnSaveAsButton(wxCommandEvent& WXUNUSED(event)){ EndModal(XRCID("SaveAs")); }
DECLARE_EVENT_TABLE()
};
class LayoutWindows
{
public:
LayoutWindows(MyFrame* parent);
~LayoutWindows();
void Setup(); // Does the splitting work
void OnCommandLine();
void ShowHideCommandLine(); // If it's showing, hide it; & vice versa
void DoTool(enum toolchoice whichtool); // Invoke the requested tool in the bottom panel
void CloseBottom(); // Called to return from DoTool()
bool ShowBottom(); // If bottompanel isn't visible, show it
void UnShowBottom(); // If bottompanel is visible, unsplit it
void OnChangeDir(const wxString& newdir, bool ReusePrompt = true); // Change terminal/commandline prompt, and perhaps titlebar, when cd entered or the dirview selection changes
void OnUnsplit(wxSplitterEvent& event);
TerminalEm* GetTerminalEm() { if (tool) return tool->text; return NULL; }
wxSplitterWindow* m_splitterMain;
MyNotebook* m_notebook;
wxPanel* bottompanel; // The pane for the bottom section, for displaying grep etc
TerminalEm* commandline;
bool EmulatorShowing;
bool CommandlineShowing;
wxPanel* commandlinepane;
protected:
Tools* tool;
MyFrame* m_frame;
};
class MyFrame : public wxFrame
{
public:
MyFrame(wxSize size);
virtual ~MyFrame();
void OnActivate(wxActivateEvent& event);
// Menu commands
void OnUndo(wxCommandEvent& event);
void OnUndoSidebar(wxCommandEvent& event);
void OnRedo(wxCommandEvent& event);
void OnRedoSidebar(wxCommandEvent& event);
void OnArchiveAppend(wxCommandEvent& event);
void OnArchiveTest(wxCommandEvent& event);
void SplitHorizontal(wxCommandEvent& event);
void SplitVertical(wxCommandEvent& event);
void Unsplit(wxCommandEvent& event);
void OnTabTemplateLoadMenu(wxCommandEvent& event);
void OnQuit(wxCommandEvent& event);
void OnHelpF1(wxKeyEvent& event);
void OnHelpContents(wxCommandEvent& event);
void OnHelpFAQs(wxCommandEvent& event);
void OnHelpAbout(wxCommandEvent& event);
wxHtmlHelpController* Help;
AcceleratorList* AccelList;
wxBoxSizer* sizerMain;
wxBoxSizer* sizerControls; // The sizer within the 'toolbar' panelette main sizer. Holds the device bitmapbuttons, so DeviceAndMountManager needs to access it
wxBoxSizer* EditorsSizer;
wxBoxSizer* FixedDevicesSizer;
void OnUpdateTrees(const wxString& path, const wxArrayInt& IDs, const wxString& newstartdir = wxT(""), bool FromArcStream = false); // Tells all panes that branch needs updating. IDs hold which panes MUST be done
void UpdateTrees(); // At the end of a cluster of actions, tells all treectrls actually to do the updating they've stored
void OnUnmountDevice(wxString& path); // When we've successfully umounted eg a floppy, reset treectrl(s) displaying it to HOME
void SetSensibleFocus(); // Ensures that keyboard focus is held by a valid window, usually the active pane
MyGenericDirCtrl* GetActivePane(); // Returns the most-recently-active pane in the visible tab
MyTab* GetActiveTab(); // Returns the currently-active tab, if there is one
void RefreshAllTabs(wxFont* font, bool ReloadDirviewTBs=false); // Refreshes all panes on all tabs, optionally with a new font, or mini-toolbars
void LoadToolbarButtons(); // Encapsulates loading tools onto the toolbar
void TextFilepathEnter(); // The Filepath textctrl has the focus and Enter has been added, so GoTo its contents
void OnBeginDrag(wxWindow* dragorigin); // DnD
void DoMutex(wxMouseEvent& event);
void OnESC_Pressed(); // Cancel DnD if ESC pressed
void OnMouseMove(wxMouseEvent& event);
void OnEndDrag(wxMouseEvent& event);
void OnMouseWheel(wxMouseEvent& event); // If we use the mousewheel to scroll during DnD
void OnDnDRightclick(wxMouseEvent& event); // If we use the Rt mousebutton to scroll a page during DnD
bool m_dragMode;
bool SelectionAvailable; // Flags whether it's safe to ask m_notebook for active pane
bool m_CtrlPressed; // Stores the pattern of metakeys during DnD
bool m_ShPressed;
bool m_AltPressed;
enum myDragResult ParseMetakeys(); // & this deduces the intended result
bool ESC_Pressed; // Makes DnD abort
void DoOnProcessCancelled(); // Cancels any active thread
static MyFrame* mainframe; // To facilitate access to the frame from deep inside
wxToolBar *toolbar;
wxBitmapButton* largesidebar1; // The UnRedo buttons sidebars (those things that allow you to choose any of the previous entries)
wxBitmapButton* largesidebar2;
int buttonsbeforesidebar; // Used to help locate the position for the sidebar pop-up menus
int separatorsbeforesidebar;
wxPanel *panelette; // The 2nd half of the "toolbar"
TextCtrlBase *m_tbText; // The toolbar textctrl, for duplicating the selected filepath
void DisplayEditorsInToolbar(); // These are stored in a separate sizer within the panelette sizer, for ease of recreation
LayoutWindows* Layout;
int PropertiesPage; // When showing the Properties notebook, which page should we start with?
class Configure* configure; // Pointer to my configure class, not wxConfigBase
wxBoxSizer *sizerTB;
wxMutex m_TreeDragMutex;
wxCursor& GetStandardCursor() { return m_StandardCursor; }
wxCursor& GetTextCrlCursor() { return m_TextCrlCursor; }
wxCursor DnDStdCursor;
wxCursor DnDSelectedCursor;
protected:
void CreateAcceleratorTable();
void ReconfigureShortcuts(wxNotifyEvent& event); // Reconfigure all shortcuts after user has changed some
void CreateMenuBar( wxMenuBar* MenuBar );
void RecreateMenuBar();
void AddControls(); // Just to encapsulate adding textctrl & an editor button or 2 to the "toolbar", now actually a panel
void OnAppendTab(wxCommandEvent& event){ Layout->m_notebook->OnAppendTab(event); } // These are just switchboards for Menu & Toolbar events
void OnInsTab(wxCommandEvent& event){ Layout->m_notebook->OnInsTab(event); }
void OnDelTab(wxCommandEvent& event){ Layout->m_notebook->OnDelTab(event); }
void OnPreview(wxCommandEvent& event);
void OnPreviewUI(wxUpdateUIEvent& event);
void OnDuplicateTab(wxCommandEvent& event){ Layout->m_notebook->OnDuplicateTab(event); }
void OnRenTab(wxCommandEvent& event){ Layout->m_notebook->OnRenTab(event); }
#if defined __WXGTK__
void OnAlwaysShowTab(wxCommandEvent& event){ Layout->m_notebook->OnAlwaysShowTab(event); }
void OnSameTabSize(wxCommandEvent& event){ Layout->m_notebook->OnSameTabSize(event); }
#endif
void OnReplicate(wxCommandEvent& event); // Find the active MyGenericDirCtrl & pass request to it
void OnSwapPanes(wxCommandEvent& event); // Ditto
void OnSaveTabs(wxCommandEvent& event);
void OnSaveAsTemplate(wxCommandEvent& WXUNUSED(event)){ Layout->m_notebook->SaveAsTemplate(); }
void OnDeleteTemplate(wxCommandEvent& WXUNUSED(event)){ Layout->m_notebook->DeleteTemplate(); }
void OnCut(wxCommandEvent& event);
void OnCopy(wxCommandEvent& event);
void OnPaste(wxCommandEvent& event);
void OnProcessCancelled(wxCommandEvent& event);
void OnProcessCancelledUI(wxUpdateUIEvent& event);
void OnNew(wxCommandEvent& event);
void OnHardLink(wxCommandEvent& event);
void OnSoftLink(wxCommandEvent& event);
void OnTrash(wxCommandEvent& event);
void OnDelete(wxCommandEvent& event);
void OnReallyDelete(wxCommandEvent& event);
void OnRename(wxCommandEvent& event);
void OnRefresh(wxCommandEvent& event);
void OnDup(wxCommandEvent& event);
void OnProperties(wxCommandEvent& event);
void OnFilter(wxCommandEvent& event);
void OnToggleHidden(wxCommandEvent& event);
void OnViewColMenu(wxCommandEvent& event);
void OnArchiveExtract(wxCommandEvent& event);
void OnArchiveCreate(wxCommandEvent& event);
void OnArchiveCompress(wxCommandEvent& event);
void OnTermEm(wxCommandEvent& event);
void OnToolsLaunch(wxCommandEvent& event);
void OnToolsRepeat(wxCommandEvent& event);
void DoRepeatCommandUI(wxUpdateUIEvent& event); // UI for SHCUT_TOOLS_REPEAT menu entry
void OnEmptyTrash(wxCommandEvent& event);
void OnMountPartition(wxCommandEvent& event);
void OnUnMountPartition(wxCommandEvent& event);
void OnMountIso(wxCommandEvent& event);
void OnMountNfs(wxCommandEvent& event);
void OnMountSshfs(wxCommandEvent& event);
void OnMountSamba(wxCommandEvent& event);
void OnUnMountNetwork(wxCommandEvent& event);
void OnCommandLine(wxCommandEvent& event);
void OnLaunchTerminal(wxCommandEvent& event);
void OnLocate(wxCommandEvent& event);
void OnFind(wxCommandEvent& event);
void OnGrep(wxCommandEvent& event);
void OnAddToBookmarks(wxCommandEvent& event);
void OnManageBookmarks(wxCommandEvent& event);
void OnBookmark(wxCommandEvent& event);
void ToggleFileviewSizetype(wxCommandEvent& event);
void ToggleRetainRelSymlinkTarget(wxCommandEvent& event);
void OnConfigure(wxCommandEvent& event);
void OnConfigureShortcuts(wxCommandEvent& event);
void OnShowBriefMessageBox(wxCommandEvent& event);
void SetFocusViaKeyboard(wxCommandEvent& event);
void OnPasteThreadProgress(wxCommandEvent& event); // A PasteThread is reporting some bytes written
void OnPasteThreadFinished(PasteThreadEvent& event); // Called when a PasteThread completes
#ifdef __WXX11__
void OnIdle( wxIdleEvent& event ); // One-off to make the toolbar textctrl show the initial selection properly
#endif
#if wxVERSION_NUMBER >= 2800
void OnMouseCaptureLost(wxMouseCaptureLostEvent& event) {OnEndDrag((wxMouseEvent&)event); } // If the mouse escapes, try and do something sensible
#endif
void OnTextFilepathEnter(wxCommandEvent& WXUNUSED(event)){ TextFilepathEnter(); }
void DoMiscUI(wxUpdateUIEvent& event); // UpdateUI for misc items
void DoQueryEmptyUI(wxUpdateUIEvent& event); // This is for the items which are UIed depending on whether there's a selection
void DoNoPanesUI(wxUpdateUIEvent& event); // UI for when there aren't any tabs
void DoMiscTabUI(wxUpdateUIEvent& event); // UI for the tab-head items
void OnDirSkeletonUI(wxUpdateUIEvent& event); // UI for SHCUT_PASTE_DIR_SKELETON
void DoSplitPaneUI(wxUpdateUIEvent& event); // UI for the Split/Unsplit menu
void DoTabTemplateUI(wxUpdateUIEvent& event); // UI for Tab menu
void DoColViewUI(wxUpdateUIEvent& event);
// DnD
wxWindow* lastwin; // Stores the window we've just been dragging over (in case it's changed)
wxMutex m_DragMutex;
bool m_LeftUp; // If there's a LeftUp event but the mutex is locked
bool m_finished; // Flags that EndDrag has been done
MyDragImage *m_dragImage;
wxCursor m_StandardCursor; // Stores the cursor that 4Pane started with (in case of DnD accidents)
wxCursor m_TextCrlCursor; // Ditto for textctrls
wxCursor oldCursor; // Stores original version
private:
DECLARE_EVENT_TABLE()
};
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// ID for the menu commands
enum
{
SPLIT_QUIT,
SPLIT_HORIZONTAL,
SPLIT_VERTICAL,
SPLIT_UNSPLIT,
SPLIT_LIVE,
SPLIT_SETPOSITION,
SPLIT_SETMINSIZE
};
#endif
// MYFRAMEH
4pane-5.0/Bookmarks.h 0000644 0001750 0001750 00000021271 12675313657 011431 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: Bookmarks.h
// Purpose: Bookmarks
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef BOOKMARKSH
#define BOOKMARKSH
#include "MyTreeCtrl.h"
enum { TreeCtrlIcon_Folder, TreeCtrlIcon_BM, TreeCtrlIcon_Sep }; // Used by MyBmTree
struct Submenu; struct BookmarkStruct; // Advance declaration for:
WX_DEFINE_ARRAY(struct Submenu*, ArrayOfSubmenus); // Define the array of structs
WX_DEFINE_ARRAY(struct BookmarkStruct*, ArrayOfBookmarkStructs); // Define array of BookmarkStructs
struct BookmarkStruct
{ wxString Path; // Exactly
wxString Label; // Each bookmark's label eg /home/david/documents could be called Documents. These are what the menu displays
unsigned int ID; // This bookmark's event.Id
BookmarkStruct(){ Clear(); }
BookmarkStruct(const BookmarkStruct& bm){ *this = bm; }
BookmarkStruct& operator=(const BookmarkStruct& bs){ Path = bs.Path; Label = bs.Label; ID = bs.ID; return *this; }
void Clear(){ Path.Clear(); Label.Clear(); ID = 0; }
};
struct Submenu
{ wxString pathname; // Holds the (sub)menu "path" eg /Bookmarks/b/a. Used to store in config-file, which loads/stores alphabetically, so won't keep the same order if we use Label
wxString Label; // The name that the outside world will label the menu/folder eg Projects. See above comment
wxString FullLabel; // The "Path" of the menu/folder eg /Bookmarks/Programming/Projects. Needed for AddBookmark
unsigned int ID; // Makes it easier to identify a submenu in a BMTree
wxString displayorder; // Allows the menu to hold the user's choice of bookmark/subgroup order
wxMenu* thismenu; // The menu that this struct's bookmarks will be displayed in. This struct's children will append their menus to this
ArrayOfBookmarkStructs BMstruct; // Holds the path, label & id of each of this menu's bookmarks
ArrayOfSubmenus children; // Child subgroups go here
Submenu(){ ClearData(); }
~Submenu(){ ClearData(); }
Submenu(const Submenu& sm){ *this = sm; }
Submenu& operator=(const Submenu& sm){ pathname = sm.pathname; Label = sm.Label; FullLabel = sm.FullLabel; ID = sm.ID; displayorder = sm.displayorder; // Don't copy the menu: it'll leak
for (size_t n=0; n < sm.BMstruct.GetCount(); ++n) BMstruct.Add(new BookmarkStruct(*sm.BMstruct.Item(n)));
for (size_t n=0; n < sm.children.GetCount(); ++n) children.Add(new Submenu(*sm.children.Item(n)));
return *this;
}
void ClearData(); // Deletes everything
};
class MyTreeItemData : public wxTreeItemData
{
public:
MyTreeItemData(){}
MyTreeItemData(wxString Path, wxString Label, unsigned int ID) { data.Path = Path; data.Label = Label; data.ID = ID; }
MyTreeItemData(const struct BookmarkStruct& param) { data = param; }
MyTreeItemData& operator=(const MyTreeItemData& td) { data = td.data; return *this; }
void Clear(){ data.Clear(); }
wxString GetPath() { return data.Path; }
wxString GetLabel() { return data.Label; }
unsigned int GetID() { return data.ID; }
void SetPath(wxString Path) { data.Path = Path; }
void SetLabel(wxString Label) { data.Label = Label; }
protected:
struct BookmarkStruct data;
};
class BMClipboard // Stores the TreeItemData & structs for pasting
{
public:
BMClipboard(){}
~BMClipboard(){ Clear(); Menu.ClearData(); }
void Clear()
{ data.Clear(); HasData = false; FolderHasChildren = false;
for (int n = (int)BMarray.GetCount(); n > 0; --n ) { BookmarkStruct* item = BMarray.Item(n-1); delete item; BMarray.RemoveAt(n-1); }
}
MyTreeItemData data;
struct Submenu Menu;
ArrayOfBookmarkStructs BMarray;
bool IsFolder;
bool HasData;
bool FolderHasChildren;
};
class Bookmarks;
class MyBookmarkDialog : public wxDialog
{
public:
MyBookmarkDialog(Bookmarks* dad) : parent(dad){}
protected:
Bookmarks* parent;
void OnButtonPressed(wxCommandEvent& event);
void OnCut(wxCommandEvent& event);
void OnPaste(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
class MyBmTree : public wxTreeCtrl // Treectrl used in ManageBookmarks dialog. A much mutilated version of the treectrl sample
{
public:
MyBmTree() {}
virtual ~MyBmTree(){};
void Init(Bookmarks* dad);
int FindItemIndex(wxTreeItemId itemID); // Returns where within its folder the item is to be found
void LoadTree(struct Submenu& MenuStruct, bool LoadFoldersOnly = false);
bool AddFolder(struct Submenu& SubMenu, wxTreeItemId parent, bool LoadFoldersOnly=false, int pos = -1); // Recursively loads tree with folders from SubMenu
void RecreateTree(struct Submenu& MenuStruct);
void DeleteBookmark(wxTreeItemId id);
void OnBeginDrag(wxTreeEvent& event);
void OnEndDrag(wxTreeEvent& event);
protected:
wxTreeItemId m_draggedItem; // item being dragged right now
wxTreeItemId itemSrc;
wxTreeItemId itemDst;
wxTreeItemId itemParent;
void OnCopy();
void OnCut();
void OnPaste();
void ShowContextMenu(wxContextMenuEvent& event);
#ifdef __WXX11__
void OnRightUp(wxMouseEvent& event){ ShowContextMenu((wxContextMenuEvent&)event); } // EVT_CONTEXT_MENU doesn't seem to work in X11
#endif
void OnMenuEvent(wxCommandEvent& event);
void DoMenuUI(wxUpdateUIEvent& event);
#if !defined(__WXGTK3__)
void OnEraseBackground(wxEraseEvent& event);
#endif
void CreateAcceleratorTable();
Bookmarks* parent;
private:
DECLARE_DYNAMIC_CLASS(MyBmTree)
DECLARE_EVENT_TABLE()
};
class Bookmarks
{
public:
Bookmarks();
~Bookmarks(){ MenuStruct.ClearData(); }
void LoadBookmarks();
void SaveBookmarks();
void AddBookmark(wxString& newpath);
void OnChangeFolderButton();
void ManageBookmarks();
wxString RetrieveBookmark(unsigned int id);
bool OnDeleteBookmark(wxTreeItemId item);
void OnEditBookmark();
void OnNewSeparator();
void OnNewFolder();
void Move(wxTreeItemId itemSrc, wxTreeItemId itemDst);
bool Cut(wxTreeItemId item);
bool Paste(wxTreeItemId item, bool NoDupCheck=false, bool duplicating=false);
bool Copy(wxTreeItemId item);
static void SetMenuIndex(int index) { m_menuindex = index; }
wxDialog* adddlg; // These 2 ptrs are used to access their dialogs from other methods
MyBookmarkDialog* mydlg;
BMClipboard bmclip; // Stores the TreeItemData & structs for pasting
protected:
wxConfigBase* config;
MyBmTree* tree; // The treectrl used in ManageBookmarks
bool m_altered; // Do we have anything to save?
static int m_menuindex; // Passed to wxMenuBar::GetMenu so we can ID the menu without using its label
unsigned int bookmarkID; // Actually it ID.s folders & separators too
unsigned int GetNextID(){ if (bookmarkID == ID__LAST_BOOKMARK) bookmarkID=ID_FIRST_BOOKMARK; // Recycle
return bookmarkID++; } // Return next vacant bookmarkID
struct Submenu MenuStruct; // The top-level struct
wxString LastSubmenuAddedto; // This is where the last add-bookmark occurred, so this is the current default for next time
void SaveDefaultBookmarkDefault(); // Saves a stub of Bookmarks. Without, loading isn't right
void LoadSubgroup(struct Submenu& SubMenuStruct); // Does the recursive loading
void SaveSubgroup(struct Submenu& SubMenuStruct); // Does the recursive saving
struct Submenu* FindSubmenuStruct(Submenu& SubMenu, wxString& folder); // This one uses recursion to match a submenu to the passed folder-name
wxString FindPathForID(Submenu& SubMenu, unsigned int id); // & this to search each menu for a bookmark with the requested id
void AdjustFolderID(struct Submenu& SubMenu); // Used for folder within clipboard. If we don't adjust IDs, they'll be duplication & crashes
struct Submenu* FindBookmark(Submenu& SubMenu, unsigned int id, size_t& index); // Locates bmark id within SubMenu (or a child submenu)
struct Submenu* FindSubmenu(Submenu& SubMenu, unsigned int id, size_t& index); // Locates child submenu id within SubMenu (or a child of SubMenu)
void WhereToInsert(wxTreeItemId id, wxTreeItemId& folderID, Submenu** SubMenu, int& loc, int& pos, int& treepos, bool InsertingFolder, bool Duplicating=false); // Subfunction
};
#endif
// BOOKMARKSH
4pane-5.0/MyDirs.cpp 0000644 0001750 0001750 00000441416 13120031322 011216 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: MyDirs.cpp
// Purpose: Dir-view
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/app.h"
#include "wx/frame.h"
#include "wx/scrolwin.h"
#include "wx/menu.h"
#include "wx/dirctrl.h"
#include "wx/dcmemory.h"
#include "wx/dragimag.h"
#include "wx/config.h"
#include "wx/splitter.h"
#include "wx/file.h"
#include
#include "MyTreeCtrl.h"
#include "MyFiles.h"
#include "Filetypes.h"
#include "Accelerators.h"
#include "Redo.h"
#include "MyDirs.h"
#include "MyFrame.h"
#include "Configure.h"
#include "Misc.h"
#include "bitmaps/include/fulltree.xpm"
#include "bitmaps/include/up.xpm"
#if defined __WXGTK__
#include
#endif
class MakeLinkDlg : public wxDialog
{
public:
~MakeLinkDlg();
void init(bool multiple, bool dirsISQ);
wxStaticText* frompath;
wxStaticText* topath;
wxTextCtrl* LinkExt;
wxTextCtrl* LinkFilename;
wxCheckBox* MakeRelative;
wxCheckBox* ApplyToAll;
bool CanApply2All;
bool samedir;
long lastradiostation;
protected:
void OnLinkRadioButton(wxCommandEvent& event); // If choose-name radio clicked
void OnRelativeCheckUI(wxUpdateUIEvent& event);
void OnSkip(wxCommandEvent& WXUNUSED(event)){ EndModal(XRCID("Skip")); }
wxRadioBox* Linktype;
wxString lastext;
DECLARE_EVENT_TABLE()
};
void MakeLinkDlg::init(bool multiple, bool dirsISQ)
{
CanApply2All = multiple; samedir = dirsISQ;
frompath = (wxStaticText*)FindWindow(wxT("link_frompath"));
topath = (wxStaticText*)FindWindow(wxT("link_path"));
LinkExt = (wxTextCtrl*)FindWindow(wxT("link_ext"));
LinkFilename = (wxTextCtrl*)FindWindow(wxT("link_filename"));
Linktype = (wxRadioBox*)FindWindow(wxT("link_radiobox"));
MakeRelative = (wxCheckBox*)FindWindow(wxT("MakeRelCheck"));
ApplyToAll = (wxCheckBox*)FindWindow(wxT("ApplyToAllCheck")); ApplyToAll->Enable(CanApply2All);
wxConfigBase::Get()->Read(wxT("History/MakeLinkDlg/Ext"), &lastext, wxString(wxT(""))); LinkExt->SetValue(lastext);
if (CanApply2All)
{ bool b(true); wxConfigBase::Get()->Read(wxT("History/MakeLinkDlg/ApplyToAll"), &b);
ApplyToAll->SetValue(b);
}
lastradiostation = wxConfigBase::Get()->Read(wxT("History/MakeLinkDlg/Filename"), 0l);
if (samedir && lastradiostation==0) lastradiostation = 1; // If source & dest dirs are the same, we can't retain the same name
bool rel; wxConfigBase::Get()->Read(wxT("History/MakeLinkDlg/MakeRelative"), &rel, false); MakeRelative->SetValue(rel);
wxButton* skip = (wxButton*)FindWindow(wxT("Skip"));
if (skip) skip->Show(multiple); // Show the Skip button only if there are multiple targets
int ID;
switch(lastradiostation) // How did we last make a name for the link: reuse the original, add an ext, or bespoke?
{ case 0: ((wxRadioButton*)FindWindow(wxT("NameSame")))->SetValue(true); ID=XRCID("NameSame"); break;
case 1: ((wxRadioButton*)FindWindow(wxT("NameExt")))->SetValue(true); ID=XRCID("NameExt"); break;
default: ((wxRadioButton*)FindWindow(wxT("NameName")))->SetValue(true); ID=XRCID("NameName");
}
wxCommandEvent event; event.SetId(ID); OnLinkRadioButton(event); // Fake an event to get the UpdateUI right
}
MakeLinkDlg::~MakeLinkDlg()
{
wxConfigBase::Get()->Write(wxT("History/MakeLinkDlg/Filename"), lastradiostation);
if (!LinkExt->GetValue().IsEmpty()) wxConfigBase::Get()->Write(wxT("History/MakeLinkDlg/Ext"), LinkExt->GetValue());
if (MakeRelative->IsEnabled()) wxConfigBase::Get()->Write(wxT("History/MakeLinkDlg/MakeRelative"), MakeRelative->IsChecked());
if (ApplyToAll->IsEnabled()) wxConfigBase::Get()->Write(wxT("History/MakeLinkDlg/ApplyToAll"), ApplyToAll->IsChecked());
}
void MakeLinkDlg::OnLinkRadioButton(wxCommandEvent& event) // UI if name-type radiobuttons clicked in Make Link dialog
{
if (event.GetId() != XRCID("NameName")) // Do buttons 1 & 2 first
{ bool Ext = (event.GetId() == XRCID("NameExt"));
if (samedir && !Ext)
{ BriefMessageBox msg(_("You can't link within a directory unless you alter the link's name."), AUTOCLOSE_FAILTIMEOUT / 1000, _("Not possible"));
((wxRadioButton*)FindWindow(wxT("NameName")))->SetValue(true); return;
}
LinkFilename->Disable(); LinkExt->Enable(Ext); lastradiostation = Ext;
ApplyToAll->Enable(CanApply2All); return; // Can ApplyToAll, providing there are >1 items
}
LinkFilename->Enable(); LinkExt->Disable(); lastradiostation = 2; // OK, button 3 was selected
if (LinkFilename->GetValue().IsEmpty()) LinkFilename->SetValue(frompath->GetLabel().AfterLast(wxFILE_SEP_PATH)); // Use the original name as template for the new one
ApplyToAll->Disable(); // Can't ApplyToAll, even if there are >1 items
}
void MakeLinkDlg::OnRelativeCheckUI(wxUpdateUIEvent& event)
{
if (Linktype) MakeRelative->Enable(Linktype->GetSelection()); // This enables the button only if it's a symlink that is going to be made
}
BEGIN_EVENT_TABLE(MakeLinkDlg,wxDialog)
EVT_RADIOBUTTON(wxID_ANY, MakeLinkDlg::OnLinkRadioButton)
EVT_BUTTON(XRCID("Skip"), MakeLinkDlg::OnSkip)
EVT_UPDATE_UI(XRCID("MakeRelCheck"), MakeLinkDlg::OnRelativeCheckUI)
END_EVENT_TABLE()
//-----------------------------------------------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(MyDropdownButton, wxBitmapButton)
void MyDropdownButton::OnButtonClick(wxCommandEvent& event)
{
int width, height;
GetClientSize(&width, &height); // How big are we?
wxPoint clientpt, screenpt = wxGetMousePosition(); // Get screen position
clientpt = ScreenToClient(screenpt); // & from that get the position within the button
screenpt = ((wxToolBar*)GetParent())->ScreenToClient(screenpt); // & from that get the position within the button
left = screenpt.x - clientpt.x; // The left of the button is screen_pos - position_within_button
right = left + width; // The right is left + width
left -= partnerwidth; // For left dirviews, we actually want the left edge of the PREVIOUS button
event.Skip();
}
BEGIN_EVENT_TABLE(MyDropdownButton, wxBitmapButton)
EVT_BUTTON(-1, MyDropdownButton::OnButtonClick)
END_EVENT_TABLE()
#if wxVERSION_NUMBER < 2900
DEFINE_EVENT_TYPE(PasteThreadType)
DEFINE_EVENT_TYPE(PasteProgressEventType)
#else
wxDEFINE_EVENT(PasteThreadType, PasteThreadEvent);
wxDEFINE_EVENT(PasteProgressEventType, wxCommandEvent);
#endif
void PastesCollector::Add(const wxString& origin, const wxString& dest, const wxString& originaldest, bool precreated/*=false*/)
{
wxString fordeletion;
if (GetIsMoves())
fordeletion = origin; // For successful moves, we need to store this separately; it'll be the filepath to delete when the thead completes
wxString trash;
PasteThreadSuperBlock* tsb = dynamic_cast(m_tsb); wxCHECK_RET(tsb, wxT("Wrong sort of threadblock"));
if (!tsb->GetTrashdir().empty())
{ if (tsb->GetUnRedoType() == URT_notunredo) // For an original Paste, a non-empty trashdir flags an overwriting situation & dest must be moved to trash before it's clobbered
{ wxString trashdir = tsb->GetTrashdir();
trash = trashdir + dest.AfterLast(wxFILE_SEP_PATH);
}
}
if (tsb->GetUnRedoType() == URT_undo)
trash = originaldest; // Or, if we're undoing, originaldest will hold any filepath that was originally moved to trash. It needs 2b retrieved after the undo
m_PasteData.push_back( PasteData(origin, dest, fordeletion, trash, precreated) );
}
void PastesCollector::StartThreads()
{
wxCHECK_RET(m_tsb, wxT("Passed a NULL superblock"));
wxCHECK_RET(!ThreadsManager::Get().PasteIsActive(), wxT("Trying to start a paste thread when there's already one active"));
if (!GetCount()) // We must be here just to cause the 'success' message to display in a non-thread situation
{ m_tsb->OnCompleted(); return; }
size_t ThreadsToUse = wxMin(ThreadsManager::GetCPUCount(), GetCount()); // How widely can/should we spread the load?
size_t count = GetCount() / ThreadsToUse;
bool overflow = (GetCount() % ThreadsToUse) > 0;
size_t fullcount = ThreadsToUse - overflow; // The no of threads that will have 'count' items passed to them
wxCriticalSectionLocker locker(ThreadsManager::Get().GetPasteCriticalSection());
int threadID(wxNOT_FOUND);
ThreadBlock* block = ThreadsManager::Get().AddBlock(ThreadsToUse, wxT("paste"), threadID, m_tsb);
wxCHECK_RET(block, wxT("Failed to create a ThreadBlock"));
wxCHECK_RET(threadID != wxNOT_FOUND, wxT("Invalid threadID"));
// Now's a good time to start the PasteThreadStatuswriter timer. Much earlier and any hold-up e.g. ?overwrite, results in the throbber showing '..*... 0 bytes'
static_cast(m_tsb)->StartThreadTimer();
// If the itemcount is exactly divisible by the cpu count, that's fine. Otherwise the last thread gets its normal quota plus the extras
size_t p=0;
for (size_t n=0; n < fullcount; ++n)
{ std::vector pastedata;
for (size_t c=0; c < count; ++c, ++p)
pastedata.push_back(m_PasteData.at(p));
DoStartThread(pastedata, block, threadID++);
}
if (overflow)
{ std::vector pastedata;
for (; p < m_PasteData.size(); ++p)
pastedata.push_back(m_PasteData.at(p));
DoStartThread(pastedata, block, threadID++);
}
}
void PastesCollector::DoStartThread(const std::vector& pastedata, ThreadBlock* block, int threadID)
{
enum wxThreadError error(wxTHREAD_NO_ERROR);
PasteThread* thread = new PasteThread(MyFrame::mainframe, threadID, pastedata, GetIsMoves());
thread->SetUnRedoType(m_tsb->GetUnRedoType());
#if wxVERSION_NUMBER < 2905
error = thread->Create();
if (error != wxTHREAD_NO_ERROR) wxLogDebug(wxT("Can't create thread!"));
else
error = thread->Run();
#else
error = thread->Run(); // >2.9.5 Run() calls Create() itself
#endif //wxVERSION_NUMBER < 2905
if (error == wxTHREAD_NO_ERROR)
block->SetThreadPointer(threadID, thread); // All is well, so store the thread, in case it needs to be interrupted
else
{ wxLogDebug(wxT("Can't create thread!")); // So do it the original, non-thread way
size_t successes(0), failures(0);
for (size_t n=0; n < pastedata.size(); ++n)
if (wxCopyFile(pastedata.at(n).origin, pastedata.at(n).dest, false))
{ if (!pastedata.at(n).del.empty())
{ wxFileName fn(StripSep(pastedata.at(n).del)); // If we're here this is a Move, so delete the original
MyGenericDirCtrl::ReallyDelete(&fn);
}
UnexecuteImages(pastedata.at(n).dest); ++successes;
}
else ++failures;
m_tsb->AddSuccesses(successes); m_tsb->AddFailures(failures);
}
}
void* PasteThread::Entry()
{
wxCHECK_MSG(m_caller && m_PasteData.size(), NULL, wxT("Passed dud parameters"));
for (size_t n=0; n < m_PasteData.size(); ++n)
{ if (ProcessEntry(m_PasteData.at(n)))
m_successfulpastes.Add(m_PasteData.at(n).origin);
}
return NULL;
}
bool PasteThread::ProcessEntry(const PasteData& data)
{
if (data.precreated)
return true;
wxString origin = data.origin, dest = data.dest, trash = data.overwrite;
FileData orig(origin); // Check the origin filepath still exists i.e. nothing deleted it before we got here
if (!orig.IsValid()) return false;
// Start by doing anything needed before the real Paste
if (m_fromunredo == URT_notunredo)
{ if (!trash.empty()) // If we're overwriting a file, save it to the trashcan first, then delete it before the paste happens
{ // First check if we _need_ to do this; it will usually have happened outside the thread, in CheckDupRen::FileAdjustForPreExistence
FileData exists(dest);
if (exists.IsValid())
{ if (CopyFile(dest, trash))
{ wxRemoveFile(dest);
m_needsrefreshes.Add(dest); // Mark for refresh, as the FSWatcher Delete event often arrives after the Create event so the file doesn't display
}
else
{ wxLogDebug(wxT("Moving %s to %s either failed or was cancelled"), dest.c_str(), trash.c_str()); return false; }
}
}
}
else if (m_fromunredo == URT_redo)
{ FileData overwritten(dest); // See if there's already a destination file. If so it was an overwritten file moved to trash, then back again in Undo
if (overwritten.IsValid())
{ wxRemoveFile(dest); // So we need to kill it this time; no need to trashcan it as a copy still exists there
m_needsrefreshes.Add(dest); // Mark for refresh, as the FSWatcher Delete event often arrives after the Create event so the file doesn't display
}
}
// Now the main event: the Paste
bool result = CopyFile(origin, dest);
if (result)
{ UnexecuteImages(dest);
KeepShellscriptsExecutable(dest, orig.GetPermissions());
// The aftermath: for a Move() we need to delete the origin
if (m_ismoving)
wxRemoveFile(origin);
if ((m_fromunredo == URT_undo) && !trash.empty()) // For an Undo we need to retrieve any overwritten file from the trashcan & put it back where it used to be
{ if (wxFileExists(origin)) // First delete the pasted version, if it still exists
wxRemoveFile(origin);
CopyFile(trash, origin); // then replace it with the original
m_needsrefreshes.Add(origin); // Mark for refresh, as the FSWatcher Delete event often arrives after the Create event so the file doesn't display
}
}
return result;
}
bool PasteThread::CopyFile(const wxString& origin, const wxString& destination)
{
static const size_t ALIQUOT(1000000);
if (TestDestroy())
return false;
wxCHANGE_UMASK(0); // This turns off umask while in scope
FileData orig(origin);
wxULongLong filesize = orig.Size();
if (filesize.ToULong() == 0)
return wxCopyFile(origin, destination, false); // If it's a zero-sized file, just copy it. We won't need to interrupt ;)
wxFile in(origin, wxFile::read);
if (!in.IsOpened()) return false;
wxFile out;
if (!out.Create(destination, true, orig.GetPermissions()) ) return false;
if (!out.IsOpened())
{ return false; }
char buffer[ALIQUOT + 1];
wxULongLong total(0);
while (true)
{ if (TestDestroy())
{ wxLogNull shh; // We've been aborted, so remove any partial file and exit
wxRemoveFile(destination);
return false;
}
size_t read = in.Read(buffer, ALIQUOT);
if (!read)
return (total == filesize);
size_t written = out.Write(buffer, read);
if (written < read)
return false;
wxCommandEvent event(PasteProgressEventType, m_ID); // Report progress to date; for files < ALIQUOT that will be just once
event.SetInt(read);
wxPostEvent(MyFrame::mainframe, event);
total += read;
if (total >= filesize)
break;
}
return true;
}
void PasteThread::OnExit()
{
wxCriticalSectionLocker locker(ThreadsManager::Get().GetPasteCriticalSection());
ThreadsManager::Get().SetThreadPointer(m_ID, NULL);
wxArrayString deletes;
for (size_t n=0; n < m_PasteData.size(); ++n)
deletes.Add( m_PasteData.at(n).del );
if (m_caller)
{ PasteThreadEvent event(PasteThreadType, m_ID);
event.SetSuccesses(m_successfulpastes);
event.SetArrayString(deletes);
event.SetRefreshesArrayString(m_needsrefreshes);
wxPostEvent(m_caller, event);
}
}
//-----------------------------------------------------------------------------------------------------------------------
DirGenericDirCtrl::DirGenericDirCtrl(wxWindow* parent, const wxWindowID id, const wxString& START_DIR , const wxPoint& pos, const wxSize& size,
long style, bool full_tree, const wxString& name)
: MyGenericDirCtrl(parent, (MyGenericDirCtrl*)this, id, START_DIR , pos, size , style | wxDIRCTRL_DIR_ONLY, wxT(""), 0, name, ISLEFT, full_tree)
{
toolBar = NULL;
CreateAcceleratorTable();
}
/*
enum
{
wxACCEL_NORMAL = 0x0000, // no modifiers
wxACCEL_ALT = 0x0001, // hold Alt key down
wxACCEL_CTRL = 0x0002, // hold Ctrl key down
wxACCEL_SHIFT = 0x0004 // hold Shift key down
};
*/
DirGenericDirCtrl::~DirGenericDirCtrl()
{
if (toolBar != NULL) toolBar->Destroy();
}
void DirGenericDirCtrl::CreateAcceleratorTable()
{
int AccelEntries[] = { SHCUT_CUT, SHCUT_COPY, SHCUT_PASTE, SHCUT_PASTE_DIR_SKELETON, SHCUT_HARDLINK, SHCUT_SOFTLINK,
SHCUT_TRASH,SHCUT_DELETE, SHCUT_RENAME, SHCUT_NEW, SHCUT_UNDO, SHCUT_REDO, IDM_TOOLBAR_fulltree,
SHCUT_REFRESH, SHCUT_FILTER, SHCUT_TOGGLEHIDDEN, SHCUT_PROPERTIES,
SHCUT_REPLICATE, SHCUT_SWAPPANES,
SHCUT_SPLITPANE_VERTICAL, SHCUT_SPLITPANE_HORIZONTAL, SHCUT_SPLITPANE_UNSPLIT,
SHCUT_SWITCH_FOCUS_OPPOSITE, SHCUT_SWITCH_FOCUS_ADJACENT, SHCUT_SWITCH_FOCUS_PANES, SHCUT_SWITCH_FOCUS_TERMINALEM,
SHCUT_SWITCH_FOCUS_COMMANDLINE, SHCUT_SWITCH_FOCUS_TOOLBARTEXT, SHCUT_SWITCH_TO_PREVIOUS_WINDOW,
SHCUT_PREVIOUS_TAB, SHCUT_NEXT_TAB,
SHCUT_EXT_FIRSTDOT, SHCUT_EXT_MIDDOT, SHCUT_EXT_LASTDOT
};
const size_t shortcutNo = sizeof(AccelEntries)/sizeof(int);
MyFrame::mainframe->AccelList->CreateAcceleratorTable(this, AccelEntries, shortcutNo);
}
void DirGenericDirCtrl::RecreateAcceleratorTable()
{
// It would be nice to be able to empty the old accelerator table before replacing it, but trying caused segfaulting!
CreateAcceleratorTable(); // Make a new one, with up-to-date data
((MyTreeCtrl*)GetTreeCtrl())->RecreateAcceleratorTable(); // Tell the tree to do likewise
}
void DirGenericDirCtrl::CreateToolbar()
{
long style = wxTB_HORIZONTAL;
DirSplitterWindow* DSW; // Get ptr to the parent of the toolbar
if (isright) DSW = ParentTab->m_splitterRightBottom;
else DSW = ParentTab->m_splitterLeftTop;
if (toolBar != NULL) toolBar->Destroy(); // In case we're recreating
toolBar = new wxToolBar(DSW->GetDirToolbarPanel(), ID_TOOLBAR,wxDefaultPosition, wxDefaultSize, style);
wxBitmap toolBarBitmaps[2];
toolBarBitmaps[0] = wxBitmap(fulltree_xpm); // First the "standard" buttons
toolBarBitmaps[1] = GetBestBitmap(wxART_GO_UP, wxART_MENU, wxBitmap(up_xpm));
wxBitmapButton* backbtn = new wxBitmapButton(toolBar, XRCID("IDM_TOOLBAR_back"), GetBestBitmap(wxART_GO_BACK, wxART_MENU, wxBitmap(BITMAPSDIR + wxT("/back.xpm"))),
wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW | wxNO_BORDER);
backbtn->SetToolTip(_("Back to previous directory"));
wxBitmapButton* forwardbtn = new wxBitmapButton(toolBar, XRCID("IDM_TOOLBAR_forward"), GetBestBitmap(wxART_GO_FORWARD, wxART_MENU, wxBitmap(BITMAPSDIR + wxT("/forward.xpm"))),
wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW | wxNO_BORDER);
forwardbtn->SetToolTip(_("Re-enter directory"));
MenuOpenButton1 = new MyDropdownButton(toolBar, XRCID("IDM_TOOLBAR_smalldropdown1"), wxBitmap(BITMAPSDIR + wxT("/smalldropdown.png"), wxBITMAP_TYPE_PNG));
MenuOpenButton2 = new MyDropdownButton(toolBar, XRCID("IDM_TOOLBAR_smalldropdown2"), wxBitmap(BITMAPSDIR + wxT("/smalldropdown.png"), wxBITMAP_TYPE_PNG));
MenuOpenButton1->SetToolTip(_("Select previously-visited directory"));
MenuOpenButton2->SetToolTip(_("Select previously-visited directory"));
int width, height; backbtn->GetClientSize(&width, &height);
MenuOpenButton1->partnerwidth = width; // Tell the dropdown buttons how wide is their neighbour: needed correctly to position the dropdown menus
MenuOpenButton2->partnerwidth = width;
toolBar->AddTool(IDM_TOOLBAR_fulltree, wxT("Full Tree"), toolBarBitmaps[0], _("Show Full Tree"), wxITEM_CHECK);
toolBar->AddTool(IDM_TOOLBAR_up, wxT("Up"), toolBarBitmaps[1], _("Up to Higher Directory"), wxITEM_NORMAL);
toolBar->AddControl(backbtn);
toolBar->AddControl(MenuOpenButton1);
toolBar->AddControl(forwardbtn);
toolBar->AddControl(MenuOpenButton2);
toolBar->AddSeparator();
// Now load any user-prefs buttons eg Home, BM1
ArrayofDirCtrlTBStructs* array = MyFrame::mainframe->configure->DirCtrlTBinfoarray; // Readability
size_t count = wxMin(array->GetCount(), (size_t)IDM_TOOLBAR_Range); // Check there aren't too many user-defined buttons requested
for (size_t n=0; n < count; ++n)
{ wxString label = array->Item(n)->label;
if ((n==0) && array->Item(n)->bitmaplocation.AfterLast(('/')) == wxT("gohome.xpm")) // The first is go-home, so try to find a theme icon (unless the user has altered it already)
toolBar->AddTool(IDM_TOOLBAR_bmfirst+n, label.empty() ? wxString(_("Home")) : label, GetBestBitmap(wxART_GO_HOME, wxART_MENU, array->Item(n)->bitmaplocation),
array->Item(n)->tooltip, wxITEM_NORMAL);
else
{ if (array->Item(n)->bitmaplocation.AfterLast(('/')) == wxT("MyDocuments.xpm")) // If Documents and the label is empty, supply a default
toolBar->AddTool(IDM_TOOLBAR_bmfirst+n, label.empty() ? wxString(_("Documents")) : label, array->Item(n)->bitmaplocation,
array->Item(n)->tooltip, wxITEM_NORMAL);
else
toolBar->AddTool(IDM_TOOLBAR_bmfirst + n, label, array->Item(n)->bitmaplocation, array->Item(n)->tooltip, wxITEM_NORMAL);
}
}
#if wxVERSION_NUMBER >= 3000 && defined(__WXGTK3__) && !GTK_CHECK_VERSION(3,10,0)
wxColour bg = toolBar->GetBackgroundColour(); // See the comment in GetSaneColour() for the explanation
backbtn->SetBackgroundColour(bg);
forwardbtn->SetBackgroundColour(bg);
MenuOpenButton1->SetBackgroundColour(bg);
MenuOpenButton2->SetBackgroundColour(bg);
#endif
toolBar->Realize(); // Essential to make the tools display
DSW->GetDirToolbarPanel()->GetSizer()->Add(toolBar, 1, wxEXPAND | wxTOP, 3);
DSW->GetDirToolbarPanel()->GetSizer()->Layout(); // Needed for early wx versions
}
void DirGenericDirCtrl::OnDirCtrlTBButton(wxCommandEvent& event) // When a user-defined dirctrlTB button is clicked
{
size_t buttonnumber = event.GetId() - IDM_TOOLBAR_bmfirst; // Find which button was clicked
if (buttonnumber >= MyFrame::mainframe->configure->DirCtrlTBinfoarray->GetCount()) return; // Sanity check
wxString path = MyFrame::mainframe->configure->DirCtrlTBinfoarray->Item(buttonnumber)->destination;
FileData fd(path); if (!fd.IsValid()) return;
if (((MyGenericDirCtrl*)this)->arcman->NavigateArchives(path) == Snafu) return; // This copes with both archives and ordinary filepaths
if (fulltree) // I don't grok why, but MyGenericDirCtrl::ExpandPath (inside the SetPath() call below) can't cope with paths containing symlinks in fulltree mode
path = FileData::GetUltimateDestination(path);
wxString OriginalSelection = GetPathIfRelevant();
startdir = path; RefreshTree(path);
if (fulltree) GetTreeCtrl()->UnselectAll(); // Remove any current selection, otherwise we'll end up with the ambiguity of multiple ones
SetPath(path);
UpdateStatusbarInfo(path); AddPreviouslyVisitedDir(path, OriginalSelection);
}
void DirGenericDirCtrl::DoToolbarUI(wxUpdateUIEvent& event) // Greys out appropriate buttons
{
switch(event.GetId())
{ case IDM_TOOLBAR_fulltree: event.Check(fulltree); // Set the display according to the bool
toolBar->EnableTool(IDM_TOOLBAR_fulltree, !arcman->IsArchive()); return; // Disable if within an archive
case IDM_TOOLBAR_up: event.Enable(!(fulltree || startdir.IsSameAs(wxFILE_SEP_PATH))); return; // Enable Up button if not fulltree && startdir!=root
}
#if !defined(__WXX11__) // For some reason, this crashes on X11 with an invalid bitmap error message !?
size_t count = GetNavigationManager().GetCount();
int index = GetNavigationManager().GetCurrentIndex();
if (event.GetId()==XRCID("IDM_TOOLBAR_back"))
{ bool enable = index > 0; event.Enable(enable); MenuOpenButton1->Enable(enable); return; } // Enable dir buttons together with their sidebars
if (event.GetId()==XRCID("IDM_TOOLBAR_forward"))
{ bool enable = (index+1) < (int)count; event.Enable(enable); MenuOpenButton2->Enable(enable); }
#endif
}
void DirGenericDirCtrl::OnFullTree(wxCommandEvent& WXUNUSED(event)) // When FullTree button clicked
{
if (arcman->IsArchive()) return; // We don't want to allow fulltree-mode if inside an archive
fulltree = !fulltree; // Toggle it
startdir = GetPath(); // Rebase startdir to current selection
if (!fulltree) AddPreviouslyVisitedDir(startdir); // If we're changing from fulltree to branch mode, store the new rootpath for posterity
ReCreateTreeFromSelection(); // Rebase the tree, from selection or from root
}
void DirGenericDirCtrl::OnDirUp(wxCommandEvent& WXUNUSED(event)) // From toolbar Up button. Go up a directory (if not in Fulltree mode)
{
if (fulltree) return; // It doesn't make sense if we're already displaying the whole tree
wxString path = startdir;
while (path.Last()==wxFILE_SEP_PATH && path.Len() > 1) // Unlikely, but remove multiple terminal '/'s
path.RemoveLast();
if (path.IsSameAs(wxFILE_SEP_PATH)) return; // Can't get higher than root!
if (path.Last()==wxFILE_SEP_PATH) path.RemoveLast(); // If there's a terminal '/', remove it first
startdir = path.BeforeLast(wxFILE_SEP_PATH); // Now truncate path by one segment & put in startdir
startdir += wxFILE_SEP_PATH; // Add back the terminal '/', partly because otherwise going up from "/home" would give ""!
AddPreviouslyVisitedDir(startdir, GetPathIfRelevant()); // Store the new startdir for posterity
RefreshTree(startdir, true, false); // Finally use RefreshTree to redo the tree
}
void DirGenericDirCtrl::OnDirBack(wxCommandEvent& WXUNUSED(event)) // From toolbar Back button. Go back to a previously-visited directory
{
RetrieveEntry(-1); // Go back one
}
void DirGenericDirCtrl::OnDirForward(wxCommandEvent& WXUNUSED(event)) // From toolbar Forward button. Go forward to a previously-undone directory
{
RetrieveEntry(1); // Go forward one
}
void DirGenericDirCtrl::OnDirDropdown(wxCommandEvent& event) // When one of the Previous/Next Directory dropdown buttons is clicked
{
int x; bool rightside, back;
MyDropdownButton* button = (MyDropdownButton*)event.GetEventObject();
back = (event.GetId() == XRCID("IDM_TOOLBAR_smalldropdown1")); // See if the click was on the back or forwards dropdown button
rightside = isright && (ParentTab->GetSplitStatus() == vertical); // Do things differently for right-side dirviews, but only if split vertically!
if (rightside)
x = button->right; // The edge of the popdown menu will be on the Rt edge of the dropdown button
else
x = button->left; // or on the left edge of its left neighbour
wxPoint location(x, 0);
MyPopupMenu(this, location, back, rightside); // This is a class that does the pop-up menu holding previously visited dirs to select. If 'back' we're going backward
}
void DirGenericDirCtrl::AddPreviouslyVisitedDir(const wxString& newentry, const wxString& path/*=wxT("")*/) // Adds a new revisitable dir to the array
{
GetNavigationManager().PushEntry(newentry, path);
}
void DirGenericDirCtrl::RetrieveEntry(int displacement) // Retrieves a dir from the array. 'count + displacement' determines which.
{ // 'displacement' may be + or -, depending on whether we're going backwards or forwards
int OriginalIndex = GetNavigationManager().GetCurrentIndex();
wxArrayString arr = GetNavigationManager().RetrieveEntry(displacement);
if (!arr.GetCount() || arr.Item(0).empty()) return;
// Grab any selected subdir and store it, overwriting any previously-stored value; the user may subsequently have changed it
if (OriginalIndex >= 0) GetNavigationManager().SetPath(OriginalIndex, GetPathIfRelevant());
if (arcman && arcman->NavigateArchives(arr.Item(0)) != Snafu) // This copes with both archives and ordinary filepaths
{ startdir = arr.Item(0); RefreshTree(arr.Item(0), true, false);
if (!arr.Item(1).empty())
{ GetTreeCtrl()->UnselectAll(); // Unselect to avoid ambiguity due to multiple selections
SetPath(arr.Item(1));
}
return;
}
wxMessageBox(_("Hmm. It seems that directory no longer exists!"));
GetNavigationManager().DeleteInvalidEntry(displacement); // Delete the dud entry
if (GetNavigationManager().GetCount() > 0) // If there's at least 1 more dir stored, re-enter to try to retrieve the next one
RetrieveEntry(displacement);
else
{ startdir = wxT("/"); RefreshTree(startdir, true, false); } // If there was only 1 path in array, this dud one, display '/' (which SURELY still exists)
}
void DirGenericDirCtrl::GetBestValidHistoryItem(const wxString& deadfilepath) // Retrieves the first valid dir from the history. Used when an IN_UNMOUNT event is caught
{
wxArrayString arr = GetNavigationManager().GetBestValidHistoryItem(deadfilepath);
wxCHECK_RET(arr.GetCount(), wxT("NavigationManager::GetBestValidHistoryItem returned an empty array")); // which shouldn't be possible
startdir = arr.Item(0);
RefreshTree(startdir);
if (arr.GetCount() == 2 && !arr.Item(1).empty()) SetPath(arr.Item(1)); // There often won't have been a separate path stored, but reapply it if it was
}
void DirGenericDirCtrl::UpdateStatusbarInfo(const wxString& selected) // Writes filter info to statusbar(3), & the selection's name & data to statusbar(2)
{
if (!MyFrame::mainframe || !MyFrame::mainframe->SelectionAvailable) return;
// First the filter info into the 4th statusbar pane
wxString filterinfo, start, filter = GetFilterString(); if (filter.IsEmpty()) filter = wxT("*"); // Translate "" into "*"
start = (GetShowHidden() ? _(" D H ") : _(" D ")); // Create a message string, D for dirs if applicable, H for Hidden ones
filterinfo.Printf(wxT("%s%s"), start.c_str(), filter.c_str()); // Create a message string, adding the current filter
MyFrame::mainframe->SetStatusText(filterinfo, 3);
if (selected.IsEmpty() || partner==NULL)
{ MyFrame::mainframe->SetStatusText(wxEmptyString, 2); return; } // If no data, clear statusbar(2)
wxString text;
text.Printf(wxT("%s%s %u %s %s %u %s"), _("Dir: "), selected.AfterLast(wxFILE_SEP_PATH).c_str(),
(uint)((FileGenericDirCtrl*)partner)->NoOfFiles, _("Files, total size"), ParseSize(((FileGenericDirCtrl*)partner)->CumFilesize, true).c_str(),
(uint)((FileGenericDirCtrl*)partner)->NoOfDirs, _("Subdirectories"));
MyFrame::mainframe->SetStatusText(text, 2);
}
void MyGenericDirCtrl::OnShortcutCut(wxCommandEvent& WXUNUSED(event)) // Ctrl-X
{
if (ThreadsManager::Get().PasteIsActive()) // We shouldn't try to do 2 pastes at a time, and Cut involves a paste-to-can
{ BriefMessageBox(_("Please try again in a moment"), 2,_("I'm busy right now")); return; }
MyGenericDirCtrl::filearray.Clear(); // We'll be adding to the clipboard, so start with a clean sheet
MyGenericDirCtrl::filecount = 0;
MyGenericDirCtrl::Originpane = this;
UnRedoManager::StartSuperCluster(); // Start a new UnRedoManager StartSuperCluster, to be continued by Paste
bool AlreadyEnded = Delete(false, true); // The 1st bool means Delete not Trash. The 2nd flags it's from Cut, so deleted files are stored in clipboard
if (!AlreadyEnded) // Otherwise this will be done later when the thread completes
UnRedoManager::EndCluster(); // Close the cluster (but Paste can reopen)
}
void DirGenericDirCtrl::NewFile(wxCommandEvent& WXUNUSED(event)) // Create a new Dir
{
wxString path, name;
// Where to put the new item
path = GetPath(); // Get path of selected item
if (path.IsEmpty()) path = startdir; // If no selection, use "root"
if (path.Last() != wxFILE_SEP_PATH) path += wxFILE_SEP_PATH; // We almost certainly need to add a terminal '/'
FileData DestinationFD(path);
if (!DestinationFD.CanTHISUserWriteExec()) // Make sure we have permission to write to the dir
{ wxString msg;
if (arcman && arcman->IsArchive()) msg = _("I'm afraid you can't Create inside an archive.\nHowever you could create the new element outside, then Move it in.");
else msg = _("I'm afraid you don't have permission to Create in this directory");
wxMessageDialog dialog(this, msg, _("No Entry!"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return;
}
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, MyFrame::mainframe, wxT("NewDir"));
int flag = 0;
do // Do the rest in a loop, to give a 2nd chance if there's a name clash etc
{ if (dlg.ShowModal() != wxID_OK) return; // If user cancelled, abort
name = ((wxTextCtrl*)dlg.FindWindow(wxT("FileDir_text")))->GetValue(); // Get the desired name
if (name.IsEmpty()) return;
// Suppose path is $HOME/foo, and someone types in $HOME/foo/bar. They almost certainly want to add a bar/, not create $HOME/foo/$HOME/foo/bar. OTOH $HOME/baz is probably intentional
wxString residue;
if (name.Left(1) == wxFILE_SEP_PATH && name.StartsWith(path, &residue))
{ residue = StripSep(residue);
if (residue.Len())
name = residue;
}
flag = MyGenericDirCtrl::OnNewItem(name, path, true); // Do the rest in MyGenericDirCtrl, as shared with MyFiles version
}
while (flag==wxID_YES);
if (!flag) return;
wxArrayInt IDs; IDs.Add(GetId()); // Update the panes
MyFrame::mainframe->OnUpdateTrees(path, IDs);
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
UnRedoNewDirFile *UnRedoptr = new UnRedoNewDirFile(name, path, true, IDs); // Make a new UnRedoNewDirFile
UnRedoManager::AddEntry(UnRedoptr); // and store it for Undoing
if (ClusterWasNeeded) UnRedoManager::EndCluster();
}
void DirGenericDirCtrl::ShowContextMenu(wxContextMenuEvent& event)
{
if (((MyTreeCtrl*)GetTreeCtrl())->QueryIgnoreRtUp()) return; // If we've been Rt-dragging & now stopped, we don't want a context menu
wxMenu menu;
int Firstsection[] = { SHCUT_CUT, SHCUT_COPY, SHCUT_PASTE, SHCUT_PASTE_DIR_SKELETON, SHCUT_SOFTLINK, SHCUT_HARDLINK, wxID_SEPARATOR,
SHCUT_TRASH, SHCUT_DELETE, wxID_SEPARATOR, SHCUT_REFRESH };
for (size_t n=0; n < sizeof(Firstsection)/sizeof(int); ++n)
MyFrame::mainframe->AccelList->AddToMenu(menu, Firstsection[n]);
// For these we need to override the standard label, appending 'Directory'
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_RENAME, wxT("Rena&me Directory"));
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_DUP, wxT("&Duplicate Directory"));
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_NEW, wxT("&New Directory"));
menu.AppendSeparator();
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_FILTER);
wxString label = GetShowHidden() ? _("&Hide hidden dirs and files\tCtrl+H") : _("&Show hidden dirs and files\tCtrl+H");
MyFrame::mainframe->AccelList->AddToMenu(menu, SHCUT_TOGGLEHIDDEN, label);
int Secondsection[] = { wxID_SEPARATOR, SHCUT_SPLITPANE_VERTICAL, SHCUT_SPLITPANE_HORIZONTAL, SHCUT_SPLITPANE_UNSPLIT,
wxID_SEPARATOR, SHCUT_REPLICATE, SHCUT_SWAPPANES, wxID_SEPARATOR, SHCUT_PROPERTIES };
for (size_t n=0; n < sizeof(Secondsection)/sizeof(int); ++n)
MyFrame::mainframe->AccelList->AddToMenu(menu, Secondsection[n]);
wxPoint pt = event.GetPosition();
ScreenToClient(&pt.x, &pt.y);
PopupMenu(&menu, pt.x, pt.y);
}
void DirGenericDirCtrl::CheckChildDirCount(const wxString& dir)
{
wxTreeItemId id = FindIdForPath(dir);
if (id.IsOk())
{ wxDirItemData* data = (wxDirItemData*)GetTreeCtrl()->GetItemData(id);
if (data && !data->m_isExpanded)
GetTreeCtrl()->SetItemHasChildren(id, data->HasSubDirs()); // (Un)Set the 'haschildren' marker
}
}
void MyGenericDirCtrl::OnSplitpaneVertical(wxCommandEvent& WXUNUSED(event)) // Vertically splits the panes of the current tab
{
ParentTab->PerformSplit(vertical);
}
void MyGenericDirCtrl::OnSplitpaneHorizontal(wxCommandEvent& WXUNUSED(event)) // Horizontally splits the panes of the current tab
{
ParentTab->PerformSplit(horizontal);
}
void MyGenericDirCtrl::OnSplitpaneUnsplit(wxCommandEvent& WXUNUSED(event)) // Unsplits the panes of the current tab
{
ParentTab->PerformSplit(unsplit);
}
void MyGenericDirCtrl::OnShortcutTrash(wxCommandEvent& WXUNUSED(event)) // Del
{
if (ThreadsManager::Get().PasteIsActive()) // We shouldn't try to do 2 pastes at a time, and Delete involves a paste-to-can
{ BriefMessageBox(_("Please try again in a moment"), 2,_("I'm busy right now")); return; }
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
bool AlreadyEnded = Delete(true);
if (ClusterWasNeeded && !AlreadyEnded) UnRedoManager::EndCluster();
}
void MyGenericDirCtrl::OnShortcutDel(wxCommandEvent& WXUNUSED(event)) // Sh-Del
{
if (ThreadsManager::Get().PasteIsActive()) // We shouldn't try to do 2 pastes at a time, and Delete involves a paste-to-can
{ BriefMessageBox(_("Please try again in a moment"), 2,_("I'm busy right now")); return; }
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
bool AlreadyEnded = Delete(false);
if (ClusterWasNeeded && !AlreadyEnded) UnRedoManager::EndCluster();
}
void MyGenericDirCtrl::OnDnDMove() // Move by DnD
{
wxString DestPath;
enum DupRen WhattodoifClash = DR_Unknown, WhattodoifCantRead = DR_Unknown; // These get passed to CheckDupRen. May become SkipAll, OverwriteAll etc, but start with Unknown
// The item(s) 2b moved are in DnD clipboard
if (!MyGenericDirCtrl::DnDfilecount) return; // If no files selected, abort
if (MyGenericDirCtrl::DnDDestfilepath == wxEmptyString) return; // If no destination selected, abort
wxString path = MyGenericDirCtrl::DnDDestfilepath;
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane(); // Active is the origin MyGenericDirCtrl, 'this' is the destination one
// We need to check whether we're moving into or from within an archive: if so things are different
// This copes with the standard scenario of the user dragging from one archive to the same part of the same one :/
if (arcman->GetArc()->DoThingsWithinSameArchive(active, this, MyGenericDirCtrl::DnDfilearray, path)) return; // It returned true, so the situation was sufficiently dealt with
if (active != NULL && active->arcman != NULL && active->arcman->IsArchive()) // The origin pane is an archive
{ if (active->arcman->GetArc()->MovePaste(active, this, MyGenericDirCtrl::DnDfilearray, path))
DoBriefLogStatus(MyGenericDirCtrl::DnDfilearray.GetCount(), wxEmptyString, _("moved")); // Use GetCount() as some items may have been skipped & removed from the array
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
return;
}
if (arcman != NULL && arcman->IsArchive()) // The destination pane is an archive
{ if (arcman->GetArc()->MovePaste(active, this, MyGenericDirCtrl::DnDfilearray, path))
DoBriefLogStatus(DnDfilecount, wxEmptyString, _("moved"));
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
return;
}
// OK, end of archive stuff. It's safe to come out from behind the furniture
// Make sure the destination path is a dir with a terminal / It's probably missing it
wxFileName Destination(path);
FileData fd(path);
if (fd.IsDir() || fd.IsSymlinktargetADir(true)) // If the overall path is indeed a dir, plonk a / on the end of path, for the future
{ if (!Destination.GetFullName().IsEmpty()) path += Destination.GetPathSeparator(); }
else // If it's a FILE, remove the filename, leaving the path for pasting to
{ Destination.SetFullName(wxEmptyString); path = Destination.GetFullPath(); }
FileData DestinationFD(path);
if (!DestinationFD.CanTHISUserWriteExec()) // Make sure we have permission to write to the destination dir
{ wxMessageDialog dialog(this, _("I'm afraid you don't have Permission to write to this Directory"), _("No Entry!"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return;
}
wxArrayInt IDs; IDs.Add(MyGenericDirCtrl::DnDFromID); // Make an int array, & store the ID of origin pane
IDs.Add(GetId()); // Add the destination ID
FileData OriginFileFD(MyGenericDirCtrl::DnDfilearray[0]);
if (!OriginFileFD.CanTHISUserMove_By_RenamingThusly(path)) // Make sure we have permissions for the origin dir to Rename its files i.e. the new path is still on the same device/partition
if (!(OriginFileFD.CanTHISUserMove() && CanFoldertreeBeEmptied(MyGenericDirCtrl::DnDfilearray[0])==CanBeEmptied)) // or alternatively, that we will be allowed to do a true Move ie copy + delete the original
{ if (OriginFileFD.CanTHISUserPotentiallyCopy()) // See if we have parent dir exec (even though not write) permission
{ wxMessageDialog dialog(this, _("I'm afraid you don't have the right permissions to make this Move.\nDo you want to try to Copy instead?"),
_("No Exit!"), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) return;
else return OnPaste(true, path); // Use Paste instead
}
else
{ wxMessageDialog dialog(this, _("I'm afraid you don't have the right permissions to make this Move"), _("No Exit!")); return; }
}
PasteThreadSuperBlock* tsb = dynamic_cast(ThreadsManager::Get().StartSuperblock(wxT("move")));
int successes = 0;
for (size_t n=0; n < DnDfilecount; ++n) // For every entry in the clipboard
{ wxString DestFilename, DestOriginalname;
bool ItsADir;
FileData FromFD(MyGenericDirCtrl::DnDfilearray[n]);
// We need to check we're not about to do something illegal or immoral
CheckDupRen CheckIt(this, MyGenericDirCtrl::DnDfilearray[n], path); // Make an instance of the class that tests for this
CheckIt.SetTSB(tsb);
CheckIt.IsMultiple = (DnDfilecount > 1); // We use different dialogs for multiple items
CheckIt.WhattodoifClash = WhattodoifClash; CheckIt.WhattodoifCantRead = WhattodoifCantRead; // Set CheckIt's variables to match any previous choice
if (!CheckIt.CheckForAccess()) // This checks for Read permission failure, and sets a SkipAll flag if appropriate
{ WhattodoifCantRead = CheckIt.WhattodoifCantRead; continue; }
CDR_Result QueryPreExists = CheckIt.CheckForPreExistence();// Check we're not pasting onto ourselves or a namesake
if (CheckIt.CheckForIncest() // or onto a descendant. False means OK
|| QueryPreExists == CDR_skip) // There's a clash, and the user want to skip/cancel
{ WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable. This catches SkipAll & Cancel, which return false
if (WhattodoifClash==DR_Cancel)
{ n = DnDfilecount; break; } // Cancel this item & the rest of the loop by increasing n
else continue; // Skip this item but continue with loop
}
// If there was a clash & subsequent Rename, CheckDupRen will have changed the filename or the last segment of the path
DestPath = CheckIt.finalpath; // This will be either the original path without the filename/last dir-segment, or the altered version
DestFilename = CheckIt.finalbit; // Ditto, but the filename/last-segment
WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable
ItsADir = CheckIt.ItsADir; // CheckIt already tested whether it's a file or a dir. Piggyback onto this, it saves constant rechecking
if (ItsADir && MyGenericDirCtrl::DnDfilearray[n].Last() != wxFILE_SEP_PATH) // If we're moving a dir, make sure it ends in a /
{ MyGenericDirCtrl::DnDfilearray[n] += wxFILE_SEP_PATH; // Also, store the last segment of the path, before any rename
DestOriginalname = (MyGenericDirCtrl::DnDfilearray[n].BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH);
}
else DestOriginalname = MyGenericDirCtrl::DnDfilearray[n].AfterLast(wxFILE_SEP_PATH); // If it's a file, store the original filename, before any rename
wxFileName From(MyGenericDirCtrl::DnDfilearray[n]); // Make this File/Dir being dragged into a wxFileName
wxFileName To(DestPath); // Ditto the To path Must be done in each loop, as Move alters its contents
if (!Move(&From, &To, DestFilename, tsb)) // Subcontract the actual Move
{ tsb->AddOverallFailures(1); continue; }
// If we're here, it worked
tsb->AddOverallSuccesses(1); tsb->SetMessageType(_("moved"));
wxString origFromFP(From.GetFullPath());
if (FromFD.IsDir())
From.RemoveDir(From.GetDirCount() - 1); // If we just dragged a dir, readjust wxFileName to take into account the removal
else From.SetFullName(wxEmptyString); // If not a dir, remove its name
// NB The Move already altered Destination, appending to it the pasted subdir. Fortunately, this is just what we want for Undoing
UnRedoMove* urm = new UnRedoMove(From.GetFullPath(), IDs, To.GetFullPath(), DestFilename, DestOriginalname, ItsADir);
urm->SetOverwrittenFile( CheckIt.GetOverwrittenFilepath() ); // Store any saved overwritten filepath ready for undoing. Only needed for regular files using threads
tsb->StoreUnRedoPaste(urm, origFromFP); // We need to use the original filepath here for matching, not the readjusted one
// If we're not using FSWatcher, we need to sort out the treectrl. UpdateTrees does just that, and is a NOP if FSWatcher is active
MyFrame::mainframe->OnUpdateTrees(From.GetPath(), IDs);
MyFrame::mainframe->OnUpdateTrees(DestPath, IDs);
++successes;
}
if (successes)
tsb->StartThreads();
else
{ ThreadsManager::Get().AbortThreadSuperblock(tsb); // Otherwise the thread will be orphaned and the progress throbber stuck on 0
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
}
}
void MyGenericDirCtrl::OnShortcutHardLink(wxCommandEvent& WXUNUSED(event))
{
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
OnLink(false, myDragHardLink); // I'm recycling myDragHardLink, even though this isn't a Drag, as flagged by the 'false'
if (ClusterWasNeeded) UnRedoManager::EndCluster();
}
void MyGenericDirCtrl::OnShortcutSoftLink(wxCommandEvent& WXUNUSED(event))
{
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
OnLink(false, myDragSoftLink); // I'm recycling myDragSoftLink, even though this isn't a Drag, as flagged by the 'false'
if (ClusterWasNeeded) UnRedoManager::EndCluster();
}
void MyGenericDirCtrl::OnLink(bool FromDnD, int linktype) // Create hard or soft link
{
size_t count;
wxArrayString filearray;
wxArrayInt IDs;
wxString path, ext, linkname; bool samedir; int nametype=0; wxRadioBox* LinktypeRadio;
// We may be using Ctrl-V or Dnd, so get data into local vars accordingly
if (FromDnD)
{ count = MyGenericDirCtrl::DnDfilecount;
filearray = MyGenericDirCtrl::DnDfilearray;
IDs.Add(GetId()); // Store the ID of the destination pane
path = MyGenericDirCtrl::DnDDestfilepath;
}
else
{ count = MyGenericDirCtrl::filecount;
filearray = MyGenericDirCtrl::filearray;
IDs.Add(GetId());
path = GetPath();
if (path.IsEmpty() && fileview==ISRIGHT) // If we're in a fileview pane, but not hovering over something,
path = startdir; // get the root path for the pane
FileData fd(path);
if (fd.IsSymlink()) // If we're being asked to Paste onto a symlink, see if its target is a dir
{ wxString newpath = fd.GetUltimateDestination();
FileData nfd(newpath);
if (nfd.IsDir()) path = newpath; // Yes, it's a symlink-to-dir, so we want to replace path with the symlink target
} // NB If the target isn't a dir, we don't want to deref the symlink at all; just paste into its parent dir as usual
}
if (!count) return; // Nothing in the "Clipboard"
if (path == wxEmptyString) return; // Nowhere to put it (not very likely, but nevertheless)
wxFileName Destination(path); // I'm making sure the destination path is a dir with a terminal / It's probably missing it
FileData fd(path);
if ((fd.IsDir() || fd.IsSymlinktargetADir()) && !Destination.GetFullName().IsEmpty())
{ if (path.Last() != wxFILE_SEP_PATH)
path += wxFILE_SEP_PATH; // If the overall path is indeed a dir, plonk a / on the end of path, for the future
}
else
{ Destination.SetFullName(wxEmptyString); // If it IS a file, remove the filename, leaving the path for pasting to
path = Destination.GetFullPath();
}
FileData fd1(path); // Make a new FileData as path may have been altered above
if (!fd1.CanTHISUserWriteExec()) // Ensure we have permission to write to the destination dir
{ wxString msg;
if (arcman && arcman->IsArchive()) msg = _("I'm afraid you can't create links inside an archive.\nHowever you could create the new link outside, then Move it in.");
else msg = _("I'm afraid you don't have permission to create links in this directory");
wxMessageDialog dialog(this, msg, _("No Entry!"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return;
}
// We need to be able to compare the source path with the dest path, to ensure we don't copy onto ourselves without changing name
wxString sourcepath = filearray[0].BeforeLast(wxFILE_SEP_PATH);
while (filearray[0].Right(1) == wxFILE_SEP_PATH && filearray[0].Len() > 1) sourcepath.RemoveLast();
samedir = (sourcepath == path.BeforeLast(wxFILE_SEP_PATH)); // See if they're the same (we just added a terminal '/' to path, so remove if first)
MakeLinkDlg dlg; wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("MakeLinkDlg"));
dlg.init(count > 1, samedir); // If count<2 it doesn't make sense to offer to apply choices to other files. If samedir, compel a name-change
LinktypeRadio = (wxRadioBox*)dlg.FindWindow(wxT("link_radiobox"));
int successes = 0;
for (size_t c=0; c < count; ++c) // For every path in the clipboard to be linked
{ if (c==0 || !(dlg.ApplyToAll->IsEnabled() && dlg.ApplyToAll->GetValue())) // If this isn't the 1st time thru the loop, see if we've been told to ApplyToAll. If so, skip to the 'Do it' section
{ wxString msg; msg.Printf(_("Create a new %s Link from:"), (linktype==myDragHardLink ? _("Hard") : _("Soft")));
((wxStaticText*)dlg.FindWindow(wxT("link_message")))->SetLabel(msg); // Adjust the label to state link type
LinktypeRadio->SetSelection((linktype==myDragSoftLink));
wxString str;int x, y;
str = filearray[c]; dlg.frompath->GetTextExtent(str, &x, &y); // 2.4.2 is OK, but without this manoevre, later versions don't centre properly
if (x > 300) // 300 is the intended max width of the box. Truncate if greater
{ dlg.frompath->SetSize(300, 25);dlg.frompath->SetLabel(TruncatePathtoFitBox(str, dlg.frompath));} // Load the FROM filepath
else dlg.frompath->SetLabel(str); // No truncating needed this time
str = path; dlg.topath->GetTextExtent(str, &x, &y); // Ditto TO
if (x > 300) { dlg.topath->SetSize(300, 25);dlg.topath->SetLabel(TruncatePathtoFitBox(str, dlg.topath));} // Load the FROM filepath
else dlg.topath->SetLabel(str); // No truncating needed this time
if (dlg.lastradiostation == 2) // If we're likely to be making the link from the filename, insert the filename
dlg.LinkFilename->SetValue(filearray[c].AfterLast(wxFILE_SEP_PATH));
dlg.GetSizer()->Layout();
int result;
do
{ result = false;
int ans = dlg.ShowModal();
if (ans == wxID_CANCEL) return; // Cancel everything else
if (ans != wxID_OK) continue; // If user pressed Skip, abort this iteration of the main loop
result = true;
if (((wxRadioButton*)dlg.FindWindow(wxT("NameSame")))->GetValue()) nametype = 0; // How do we want to make a name for the link: reuse the original, add an ext, or bespoke?
else if (((wxRadioButton*)dlg.FindWindow(wxT("NameExt")))->GetValue()) nametype = 1;
else nametype = 2;
if (nametype == 1) // Add an ext
{ ext = dlg.LinkExt->GetValue();
if (ext.IsEmpty())
{ wxMessageBox(_("Please provide an extension to append"));
result = 2; continue;
}
if (ext.at(0) != wxT('.')) ext = wxT('.') +ext; // Ensure the ext is an ext!
}
if (nametype == 2 && dlg.LinkFilename->GetValue().IsEmpty())
{ wxMessageBox(_("Please provide a name to call the link"));
result = 2; continue;
}
if (nametype == 2 && dlg.LinkFilename->GetValue() == filearray[c].AfterLast(wxFILE_SEP_PATH))
{ wxMessageBox(_("Please provide a different name for the link"));
result = 2; continue;
}
} while (result == 2); // Redo the dialog if there was insufficient data
if (!result) continue; // Cancel this iteration
}
if (nametype == 0) linkname = filearray[c].AfterLast(wxFILE_SEP_PATH); // Reuse the filename
else if (nametype == 1) linkname = filearray[c].AfterLast(wxFILE_SEP_PATH) + ext; // or add an ext
else if (nametype == 2) linkname = dlg.LinkFilename->GetValue(); // or use a fresh name
wxString linkfilepath = path + linkname; // Create the new filepath
bool success; bool linkage = LinktypeRadio->GetSelection(); // Reread the radiobox to see if we had 2nd thoughts about the type of link
if (linkage)
{ int rel = dlg.MakeRelative->IsChecked(); // Do we want to make a relative- or absolute-path symlink?
success = CreateSymlinkWithParameter(filearray[c], linkfilepath, (enum changerelative)rel); // Create a new symlink
if (!success) continue;
UnRedoLink *UnRedoptr = new UnRedoLink(filearray[c], IDs, linkfilepath, linkage, (enum changerelative)rel);
UnRedoManager::AddEntry(UnRedoptr);
}
else
{ success = CreateHardlink(filearray[c], linkfilepath); // or hardlink
if (!success) continue;
UnRedoLink *UnRedoptr = new UnRedoLink(filearray[c], IDs, linkfilepath, linkage);
UnRedoManager::AddEntry(UnRedoptr);
}
++successes;
MyFrame::mainframe->OnUpdateTrees(linkfilepath, IDs);
if (FromDnD && fileview==ISLEFT) partner->ReCreateTreeFromSelection(); // Symlinks made into a dirview will otherwise not update the fileview
}
DoBriefLogStatus(successes, wxEmptyString, _("linked"));
}
bool MyGenericDirCtrl::Delete(bool trash, bool fromCut /*=false*/) // Does either Delete or Trash, depending on 1st bool
{
wxString msg, path, DestFilename;
wxArrayString paths;
bool ItsADir;
wxString action;
if (fromCut) action = _("cut");
else action = (trash ? _("trashed") : _("deleted"));
// We need to get the highlit item(s) to be deleted. If wxTR_MULTIPLE there may be >1
if (GetTreeCtrl()->HasFlag(wxTR_MULTIPLE)) GetMultiplePaths(paths); // Fill array with multiple selections, if style permits
else paths.Add(GetPath()); // If not multiple selection style, get the one&only selection
size_t count = paths.GetCount(); if (!count) return false; // If no selection, abort
bool IsArchive = (arcman != NULL && arcman->IsArchive()); // Archives are very different
if (!IsArchive)
{ FileData fd0(paths[0]); // Check for delete permission for the parent dir
if (fd0.CanTHISUserMove() == 0)
{ wxMessageDialog dialog(this, _("I'm afraid you don't have permission to Delete from this directory"), wxT("Permission problem"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return false;
}
if (fileview == ISLEFT) // If, in a dirview, a parent dir and one of its children were both selected, skip the child to prevent an 'Oops' dialog
for (size_t n = count; n > 0; --n)
for (size_t i = count; i > 0; --i)
if ((n-1 != i-1) && IsDescendentOf(paths[n-1], paths[i-1]))
{ paths.RemoveAt(i-1); --count; }
wxArrayString badpermissions;
for (size_t n=0; n < count; ++n) // Check that (all) the item(s) still exist (e.g. an nfs mount, and another machine has deleted one)
{ FileData fd(paths[n]);
if (!fd.IsValid())
{ msg = (count > 1) ? _("At least one of the items to be deleted seems not to exist") : _("The item to be deleted seems not to exist");
wxMessageDialog dialog(this, msg, _("Item not found"), wxOK | wxICON_ERROR);
dialog.ShowModal();
if (fileview == ISLEFT) RefreshTree(startdir); // Since there's obviously a problem, let's refresh the tree
else partner->RefreshTree(partner->startdir);
return false;
}
if (!fd.CanTHISUserRead()) badpermissions.Add(paths[n]);
}
size_t badpermscount = badpermissions.GetCount();
if (badpermscount > 0)
{ if (badpermscount == count)
{ if (count > 1) msg << _("I'm afraid you don't have permission to move these items to a 'can'.") << _("\nHowever you could 'Permanently delete' them.");
else msg << wxString::Format(_("I'm afraid you don't have permission to move %s to a 'can'."), badpermissions.Item(0).c_str())
<< _("\nHowever you could 'Permanently delete' it.");
wxMessageDialog dialog(this, msg, wxT("Permission problem"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return false;
}
else
{ if (badpermscount > 1) msg << wxString::Format(_("I'm afraid you don't have permission to move %u of these %u items to a 'can'."), (unsigned int)badpermscount, (unsigned int)count)
<< _("\nHowever you could 'Permanently delete' them.");
else msg << wxString::Format(_("I'm afraid you don't have permission to move %s to a 'can'."), badpermissions.Item(0).c_str())
<< _("\nHowever you could 'Permanently delete' it.");
msg << _("\n\nDo you wish to delete the other item(s)?");
wxMessageDialog dialog(this, msg, wxT("Permission problem"), wxYES_NO | wxICON_QUESTION);
if (dialog.ShowModal() != wxID_YES) return false;
for (size_t n=0; n < badpermscount; ++n)
{ int index = paths.Index(badpermissions.Item(n));
if (index != wxNOT_FOUND) paths.RemoveAt(index);
}
count = paths.GetCount();
}
}
}
if (trash) msg = _("Discard to Trash: ");
else msg = _("Delete: ");
if (((ASK_ON_DELETE && !trash) || (ASK_ON_TRASH && trash)) // If it's preferred not to destroy the filesystem accidentally
&& !fromCut) // & we're deleting, not Cutting
{ if (count < 10)
for (size_t n=0; n < count; n++) // Get the path(s) into path, separated by newlines
path += wxT("\n") + paths[n];
else // If there are too many items, the MessageDialog expands off the page! So prune
{ path.Printf(_("%zu items, from: "), count);
for (size_t n=0; n < 3; n++) // Get first 3 paths into path, separated by newlines
path += wxT("\n") + paths[n];
path += _("\n\n To:\n");
for (size_t n = count-3; n < count; n++) // & finish with the last 3 paths
path += wxT("\n") + paths[n];
}
wxMessageDialog ask(this,msg+path,wxString(_("Are you SURE?")), wxYES_NO | wxICON_QUESTION);
if (ask.ShowModal() != wxID_YES) return false;
}
wxFileName trashdirbase; // Create a unique subdir in trashdir, using current date/time
if (!DirectoryForDeletions::GetUptothemomentDirname(trashdirbase, trash ? trashcan : delcan))
{ wxMessageBox(_("For some reason, trying to create a dir to receive the deletion failed. Sorry!")); return false; }
if (IsArchive)
{ wxArrayString destinations, unused; wxString trashpath(trashdirbase.GetPath());
if (!arcman->GetArc()->DoExtract(paths, trashpath, destinations, true)) // First extract the files to the bin. The true means don't unredo: it'll happen elsewhere
{ wxMessageDialog dialog(this, _("Sorry, Deletion failed"), _("Oops!"), wxOK | wxICON_ERROR); dialog.ShowModal(); return false; }
arcman->GetArc()->Alter(paths, arc_remove, unused); // Then remove from the archive
wxString pathtoupdate = paths[0].BeforeLast(wxFILE_SEP_PATH); // We can't use path[0] here (we've just deleted it!) so use its parent
wxArrayInt IDs; IDs.Add(GetId());
MyFrame::mainframe->OnUpdateTrees(pathtoupdate, IDs, wxT(""), true);
UnRedoCutPasteToFromArchive* UnRedoptr = new UnRedoCutPasteToFromArchive(paths, destinations, paths[0], trashpath, IDs, this, this, amt_from);
UnRedoManager::AddEntry(UnRedoptr);
if (fromCut) // If we're Cutting, we now need to fill the 'clipboard' ready for any Paste
{ wxDir d(trashpath); if (!d.IsOpened()) return false;
wxString filename; bool cont = d.GetFirst(&filename);
while (cont) { MyGenericDirCtrl::filearray.Add(trashpath+wxFILE_SEP_PATH+filename); cont = d.GetNext(&filename); }
MyGenericDirCtrl::filecount = MyGenericDirCtrl::filearray.GetCount();
MyGenericDirCtrl::Originpane = this;
}
DoBriefLogStatus(count, wxEmptyString, action);
return false; // Still return false here: it signals that we're not in a thread situation, so the cluster does need closing
}
PasteThreadSuperBlock* tsb = dynamic_cast(ThreadsManager::Get().StartSuperblock(wxT("move")));
size_t successes=0, cantdel=0, cantdelsub=0, invalid=0; // so that for multiple deletions, we can if necessary report on partial success
for (size_t n=0; n < count; n++) // For every path in the array
{ wxString original;
wxFileName trashdir;
if (count > 1) // If we're doing a multiple del, create a unique subdir for each item (in case of del.ing both ./foo & ./bar/foo)
{ wxString subdirname = trashdirbase.GetFullPath() + CreateSubgroupName(n, count); // Create a unique subgroup name
trashdir.Mkdir(subdirname); // Create the subdir to which to delete
trashdir.AssignDir(subdirname);
}
else trashdir = trashdirbase; // If only one item to delete, use the base dir
FileData stat(paths[n]); ItsADir = stat.IsDir();
if (ItsADir)
{ enum emptyable ans = CanFoldertreeBeEmptied(paths[n]);// Check this dir and any downstream can be deleted from
if (ans != CanBeEmptied)
{ switch (ans)
{ case CannotBeEmptied: ++cantdel; break;
case SubdirCannotBeEmptied: ++cantdelsub;break;
default: ++invalid; break;
}
continue; // Try another filepath
}
if (paths[n].Last() != wxFILE_SEP_PATH) paths[n] << wxFILE_SEP_PATH; // If we're deleting a dir, make sure it ends in a /
DestFilename = (paths[n].BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH); // We need the last segment of the path
}
else DestFilename = paths[n].AfterLast(wxFILE_SEP_PATH);// If it's a file, store the filename
wxFileName fn(paths[n]);
if (!Move(&fn, &trashdir, DestFilename, tsb)) break; // Do the actual "deletion"
++successes; // If we're here, it worked. Readjust wxFileName to take into account the deletion
if (ItsADir) // If it's a dir,
{ original = fn.GetPath(); // Save current path
fn.RemoveDir(fn.GetDirCount() - 1); // then readjust wxFileName to take into account the deletion.
}
else
fn.SetFullName(wxEmptyString); // If it's a file, just kill the filename, leaving the path unchanged
path = fn.GetPath(); // Either way, load path with truncated version
// NB The Move already altered To, appending to it the pasted subdir. Fortunately, this is just what we want for Undoing
wxArrayInt IDs;
IDs.Add(GetId());
tsb->StoreUnRedoPaste( new UnRedoMove(fn.GetFullPath(), IDs, trashdir.GetFullPath(), DestFilename, DestFilename, ItsADir, true), paths[n] );
if (fromCut)
{ MyGenericDirCtrl::filearray.Add(trashdir.GetFullPath()); // Store the address of the deleted item in the "clipboard"
++MyGenericDirCtrl::filecount;
}
// Finally we have to sort out the treectrl
if (fileview==ISLEFT && GetPath()==stat.GetFilepath()) // If we've just deleted the selected dir
SetPath(path); // we need to SetPath to elsewhere, otherwise the fileview continues to show the contents of the deleted dir!
// If !USE_FSWATCHER and the 'Move' was done by renaming, this is necessary. If not, it'll do no harm
if ((ItsADir && startdir==original) || (startdir==original.BeforeLast(wxFILE_SEP_PATH))) // Make sure we're not deleting 'root'
{ while (path.Right(1) == wxFILE_SEP_PATH && path.Len() > 1) path.RemoveLast(); // Cope with "/foo///" and also "///"
MyFrame::mainframe->OnUpdateTrees(original, IDs, path);// If we are, use the alt version of updatetrees to replace startdir with its parent (path)
}
else MyFrame::mainframe->OnUpdateTrees(path, IDs); // Otherwise the standard version
}
tsb->AddOverallSuccesses(successes); tsb->AddOverallFailures(count - successes); tsb->SetMessageType(fromCut ? _("cut") : _("deleted"));
if (successes)
tsb->StartThreads();
else
ThreadsManager::Get().AbortThreadSuperblock(tsb); // Otherwise the thread will be orphaned and the progress throbber stuck on 0
if (cantdel || cantdelsub || invalid) // Were there any failures above? If so, do an apologetic dialog
{ wxString msg, msg2, msg3, msg4;
if (count == 1)
{ if (cantdel) msg2 = _(" You don't have permission to Delete from this directory.\nYou could try deleting piecemeal.");
else if (cantdelsub) msg2 = _(" You don't have permission to Delete from a subdirectory of this directory.\nYou could try deleting piecemeal.");
else if (invalid) msg2 = _(" The filepath was invalid.");
}
else // More complex message if >1 item
{ if (cantdel) msg2.Printf(wxT("\n%s%u%s"),_("For "), (uint)cantdel, _(" of the items, you don't have permission to Delete from this directory."));
if (cantdelsub) msg3.Printf(wxT("\n%s%u%s"),_("For "), (uint)cantdelsub, _(" of the items, you don't have permission to Delete from a subdirectory of this directory."));
if (invalid) msg4.Printf(wxT("\n%s%u%s"),_("For "), (uint)invalid, _(" of the items, the filepath was invalid."));
msg2 = msg2 + msg3 + msg4; // Concatanate to cater for multiple failure modalities
if (!msg2.IsEmpty()) msg2 += _(" \nYou could try deleting piecemeal.");
}
if (!successes) // Abject failure
{ if (count == 1) msg = _("I'm afraid the item couldn't be deleted."); // Only 1 item so different grammar
else msg.Printf(wxT("%s%u%s"),_("I'm afraid "), (uint)count, _(" items could not be deleted."));
}
else // If there was at least one success
msg.Printf(wxT("%s%u%s%u%s"),_("I'm afraid only "), (uint)successes, _(" of the "), (uint)count, _(" items could be deleted."));
wxMessageDialog dialog(this, msg + msg2, _("Oops!"), wxOK | wxICON_ERROR); dialog.ShowModal();
}
if (!successes) BriefLogStatus bls(fromCut ? _("Cut failed") : _("Deletion failed"));
return successes > 0;
}
void MyGenericDirCtrl::OnShortcutReallyDelete() // Deletes permanently, can't unredo
{
wxString msg, path, DestFilename;
wxArrayString paths;
bool ItsADir;
// We need to get the highlit item(s) to be deleted. If wxTR_MULTIPLE there may be >1
if (GetTreeCtrl()->HasFlag(wxTR_MULTIPLE)) GetMultiplePaths(paths); // Fill array with multiple selections, if style permits
else paths.Add(GetPath()); // If not multiple selection style, get the one&only selection
size_t count = paths.GetCount(); if (!count) return; // If no selection, abort
bool IsArchive = (arcman && arcman->IsArchive()); // Archives are very different
if (!IsArchive)
{ bool missing = false; // Check that (all) the item(s) still exist (e.g. an nfs mount, and another machine has deleted one)
for (size_t n=0; n < count; n++)
{ FileData fd(paths[n]);
if (!fd.IsValid())
{ missing = true; break; }
}
if (missing)
{ wxString msg = (count > 1) ? _("At least one of the items to be deleted seems not to exist") : _("The item to be deleted seems not to exist");
wxMessageDialog dialog(this, msg, _("Item not found"), wxOK | wxICON_ERROR);
dialog.ShowModal();
if (fileview == ISLEFT) RefreshTree(startdir); // Since there's obviously a problem, let's refresh the tree
else partner->RefreshTree(partner->startdir);
return;
}
FileData fd0(paths[0]); // Make a FileData to check for delete permission for the parent dir
if (!fd0.CanTHISUserMove())
{ wxMessageDialog dialog(this, _("I'm afraid you don't have permission to Delete from this directory"), _("No Entry!"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return;
}
}
if (fileview == ISLEFT && !IsArchive) // If, in a dirview, a parent dir and one of its children were both selected, skip the child to prevent an 'Oops' dialog
for (size_t n = count; n > 0; --n)
for (size_t i = count; i > 0; --i)
if ((n-1 != i-1) && IsDescendentOf(paths[n-1], paths[i-1]))
{ paths.RemoveAt(i-1); --count; }
if (count < 10)
for (size_t n=0; n < count; n++) // Get the path(s) into path, separated by newlines
path += wxT("\n") + paths[n];
else // If there are too many items, the MessageDialog expands off the page! So prune
{ path.Printf(_("%zu items, from: "), count);
for (size_t n=0; n < 3; n++) // Get first 3 paths into path, separated by newlines
path += wxT("\n") + paths[n];
path += _("\n\n To:\n");
for (size_t n = count-3; n < count; n++) // & finish with the last 3 paths
path += wxT("\n") + paths[n];
}
msg = _("Permanently delete (you can't undo this!): ");
wxMessageDialog ask(this,msg+path,wxString(_("Are you ABSOLUTELY sure?")), wxYES_NO | wxICON_QUESTION);
if (ask.ShowModal() != wxID_YES) return;
if (IsArchive)
{ wxArrayString unused;
if (!arcman->GetArc()->Alter(paths, arc_remove, unused)) // Remove from the archive
{ wxMessageDialog dialog(this, _("Sorry, Deletion failed"), _("Oops!"), wxOK | wxICON_ERROR); dialog.ShowModal(); return; }
wxString pathtoupdate = paths[0].BeforeLast(wxFILE_SEP_PATH); // We can't use path[0] here (we've just deleted it!) so use its parent
wxArrayInt IDs; IDs.Add(GetId());
MyFrame::mainframe->OnUpdateTrees(pathtoupdate, IDs, wxT(""), true);
DoBriefLogStatus(count, wxEmptyString, _("irrevocably deleted"));
return;
}
size_t successes=0, cantdel=0, cantdelsub=0, invalid=0; // so that for multiple deletions, we can if necessary report on partial success
for (size_t n=0; n < count; n++) // For every path in the array
{ wxString original;
FileData stat(paths[n]); ItsADir = stat.IsDir();
if (ItsADir)
{ enum emptyable ans = CanFoldertreeBeEmptied(paths[n]);// Check this dir and any downstream can be deleted from
if (ans != CanBeEmptied)
{ switch (ans)
{ case CannotBeEmptied: ++cantdel; break;
case SubdirCannotBeEmptied: ++cantdelsub; break;
default: ++invalid; break;
}
continue; // Try another filepath
}
if (paths[n].Last() != wxFILE_SEP_PATH) paths[n] << wxFILE_SEP_PATH; // If we're deleting a dir, make sure it ends in a /
DestFilename = (paths[n].BeforeLast(wxFILE_SEP_PATH)).AfterLast(wxFILE_SEP_PATH); // We need the last segment of the path
}
else DestFilename = paths[n].AfterLast(wxFILE_SEP_PATH);// If it's a file, store the filename
wxFileName fn(paths[n]); // Turn filepath into the class that does clever things to the file system
if (!ReallyDelete(&fn)) break; // Do the actual deletion
++successes; // If we're here, it worked. Readjust wxFileName to take into account the deletion.
if (ItsADir) // If it's a dir,
{ original = fn.GetPath(); // Save current path
fn.RemoveDir(fn.GetDirCount() - 1); // then readjust wxFileName to take into account the deletion.
}
else
fn.SetFullName(wxEmptyString); // If it's a file, just kill the filename, leaving the path unchanged
path = fn.GetPath(); // Either way, load path with truncated version
// Finally we have to sort out the treectrl
if (fileview==ISLEFT && GetPath()==stat.GetFilepath()) // If we've just deleted the selected dir
SetPath(path); // we need to SetPath to elsewhere, otherwise the fileview continues to show the contents of the deleted dir!
wxArrayInt IDs; IDs.Add(GetId()); // Make an int array to store the ID of the origin pane
if ((ItsADir && startdir==original) || (startdir==original.BeforeLast(wxFILE_SEP_PATH))) // Make sure we're not deleting 'root'
{ while (path.Right(1) == wxFILE_SEP_PATH && path.Len() > 1) path.RemoveLast(); // Cope with "/foo///" and also "///"
MyFrame::mainframe->OnUpdateTrees(original, IDs, path);// If we are, use the alt version of updatetrees to replace startdir with its parent (path)
}
else MyFrame::mainframe->OnUpdateTrees(path, IDs); // Otherwise the standard version
}
if (cantdel || cantdelsub || invalid) // Were there any failures above? If so, do an apologetic dialog
{ wxString msg, msg2, msg3, msg4;
if (count == 1)
{ if (cantdel) msg2 = _(" You don't have permission to Delete from this directory.\nYou could try deleting piecemeal.");
else if (cantdelsub) msg2 = _(" You don't have permission to Delete from a subdirectory of this directory.\nYou could try deleting piecemeal.");
else if (invalid) msg2 = _(" The filepath was invalid.");
}
else // More complex message if >1 item
{ if (cantdel) msg2.Printf(wxT("\n%s%u%s"),_("For "), (uint)cantdel, _(" of the items, you don't have permission to Delete from this directory."));
if (cantdelsub) msg3.Printf(wxT("\n%s%u%s"),_("For "), (uint)cantdelsub, _(" of the items, you don't have permission to Delete from a subdirectory of this directory."));
if (invalid) msg4.Printf(wxT("\n%s%u%s"),_("For "), (uint)invalid, _(" of the items, the filepath was invalid."));
msg2 = msg2 + msg3 + msg4; // Concatanate to cater for multiple failure modalities
if (!msg2.IsEmpty()) msg2 += _(" \nYou could try deleting piecemeal.");
}
if (!successes) // Abject failure
{ if (count == 1) msg = _("I'm afraid the item couldn't be deleted."); // Only 1 item so different grammar
else msg.Printf(wxT("%s%u%s"),_("I'm afraid "), (uint)count, _(" items could not be deleted."));
}
else // If there was at least one success
msg.Printf(wxT("%s%u%s%u%s"),_("I'm afraid only "), (uint)successes, _(" of the "), (uint)count, _(" items could be deleted."));
wxMessageDialog dialog(this, msg + msg2, _("Oops!"), wxOK | wxICON_ERROR); dialog.ShowModal();
}
if (!successes) { BriefLogStatus bls(_("Deletion failed")); return; }
DoBriefLogStatus(count, wxEmptyString, _("irrevocably deleted"));
}
//static
bool MyGenericDirCtrl::ReallyDelete(wxFileName* PathName) // Deletes files, dirs+contents. Static as used by UnRedoManager too
{
wxString msg;
// Getting paths from the wxTreeCtrl has a disadvantage: if a dir is selected, it has no terminal / The same's true of wxDir.
// As a result wxFileName assumed that the name is path+filename, and this screws up the subsequent procedures.
// So check whether it's actually a dir, and if so to append the "filename" to the path.
// There's also the minor problem of symlinks, which may target a dir! So use FileData
class FileData stat(PathName->GetFullPath());
if (stat.IsDir()) // If it's really a dir
{ if (!PathName->GetFullName().IsEmpty()) // and providing there IS a "filename"
PathName->AppendDir(PathName->GetFullName()); PathName->SetFullName(wxEmptyString); // make it into the real path
}
else
{ if (stat.IsSymlink())
{ if (!wxRemoveFile(stat.GetFilepath()))
{ wxMessageBox(_("Deletion Failed!?!")); return false; } // Shouldn't fail, but exit ungracefully if somehow it does eg due to permissions
}
else // It must be a file
{ if (!stat.IsValid()) // Check it exists. If not, exit ungracefully
{ msg = _("? Never heard of it!"); wxMessageBox(PathName->GetFullName()+msg); return false; }
if (!wxRemoveFile(PathName->GetFullPath())) // It's alive, so kill it
{ wxMessageBox(_("Deletion Failed!?!")); return false; } // Shouldn't fail, but exit gracelessly if somehow it does eg due to permissions
}
return true;
}
// If we're here, it's a dir
wxDir dir(PathName->GetPath()); // Use helper class to deal sequentially with each child file & subdir
if (!dir.IsOpened()) return false;
wxString filename;
while (dir.GetFirst(&filename)) // Go thru the dir, committing infanticide 1 child @ a time
{ wxFileName child(PathName->GetPath(), filename); // Make a new wxFileName for child
if (!ReallyDelete(&child)) // Slaughter it by recursion, whether it's a dir or file
return false; // If this fails, bug out
}
if (!PathName->Rmdir()) // Finally, kill the dir itself
{ wxMessageBox(_("Directory deletion Failed!?!")); return false; }
return true;
}
//static
enum MovePasteResult MyGenericDirCtrl::Move(wxFileName* From, wxFileName* To, wxString ToName, ThreadSuperBlock* tsb, const wxString& OverwrittenFile/*=wxT("")*/) // Moves files, dirs+contents. Static as used by UnRedo too
{
wxLogNull log;
wxFileName OldTo(*To); // Store the unamended destination, in case we need it later
FileData from(From->GetFullPath());
if (!from.IsValid())
{ wxMessageBox(_("The File seems not to exist!?!")); return MPR_fail; }
if (from.IsDir()) // If we're Moving a dir, we need to add it to the path
{ wxString fullpath(To->GetPath()); if (fullpath.Last() != wxFILE_SEP_PATH) fullpath << wxFILE_SEP_PATH;
if (!ToName.IsEmpty() && ToName.Last() != wxFILE_SEP_PATH) ToName << wxFILE_SEP_PATH;
if (!(ToName.Left(ToName.Len()-1)).BeforeLast(wxFILE_SEP_PATH).IsEmpty()) // See if there's an intermediate dir that we have to make ie foo/bar/ instead of just bar/
{ wxFileName temp(fullpath + ToName); // If so, create a wxFileName, truncate it and mkdir
temp.RemoveDir(temp.GetDirCount() - 1);
temp.Mkdir(0777, wxPATH_MKDIR_FULL);
}
To->Assign(fullpath + ToName); // Use Assign here, rather than AppendDir, in case ToName is foo/bar/
}
else // If it's not a dir, make it the filename
{ wxString ToNamePath = ToName.BeforeLast(wxFILE_SEP_PATH), tooname(ToName);
if (!ToNamePath.IsEmpty()) tooname = tooname.AfterLast(wxFILE_SEP_PATH);
wxString fullpath(To->GetPath()); if (fullpath.Last() != wxFILE_SEP_PATH) fullpath << wxFILE_SEP_PATH;
if (!ToNamePath.IsEmpty() && ToNamePath.Last() != wxFILE_SEP_PATH) ToNamePath << wxFILE_SEP_PATH;
ToNamePath = fullpath + ToNamePath;
To->Assign(ToNamePath, tooname); // Use Assign here, rather than SetFullName(), in case ToName is foo/bar
}
// There are 2 ways to Move a file or dir: the easy way is just to rename it. However this fails if the destination filepath is on a different partition.
// It also fails if we're moving a symlink with a relative target (which we don't want it to retain) so use the second method for that (I've altered Paste() to cope)
// Oh, and we can't use this if we're overwriting the destination and it wasn't possible to do a thread-free save to the trashcan, or if it's a misc e.g. a socket
bool overwriting = tsb && !dynamic_cast(tsb)->GetTrashdir().empty();
bool oddity = !(from.IsDir() || from.IsRegularFile() || from.IsSymlink());
if (!overwriting && !oddity && !(!RETAIN_REL_TARGET && ContainsRelativeSymlinks(from.GetFilepath())))
{ if (wxRename(From->GetFullPath(), To->GetFullPath()) == 0)
{ UnexecuteImages(To->GetFullPath());
KeepShellscriptsExecutable(To->GetFullPath(), from.GetPermissions());
if (tsb)
{ tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath()); tsb->AddSuccesses(1); }
return MPR_completed;
}
else if (!tsb && !from.IsSymlink() && !oddity)
return MPR_fail; // This might happen from CheckDupRen::FileAdjustForPreExistence if that function's IsThreadlessMovePossible() call got it wrong
}
// If we're here, it was either a relative symlink, an oddity or renaming failed. Try the alternative, Copy/Delete, method
if (from.IsSymlink())
{ MovePasteResult result = Paste(From, &OldTo, ToName, from.IsDir(), false, false, NULL, OverwrittenFile);
if (result != MPR_fail) // For symlinks, no need to use threads (and CreateLink() uses wxMessageBox error reporting...)
{ ReallyDelete(From);
if (tsb)
{ tsb->AddSuccesses(1);
if (result == MPR_completed) tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath());
}
}
return result;
}
wxCHECK_MSG(tsb || oddity, MPR_fail, wxT("Trying to Move() a file with an invalid tsb")); // Check we have a tsb for a regular file
MovePasteResult result = Paste(From, &OldTo, ToName, from.IsDir(), false, false, tsb, OverwrittenFile); // For non-symlinks use the thread method
if (result && tsb)
{ if (result == MPR_completed) tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath());
if (!from.IsRegularFile()) // Files self-delete inside the thread
static_cast(tsb)->DeleteAfter(from.GetFilepath());
}
return result;
}
//static
enum MovePasteResult MyGenericDirCtrl::Paste(wxFileName* From, wxFileName* To, const wxString& ToName, bool ItsADir,
bool dir_skeleton/*=false*/, bool recursing/*=false*/, ThreadSuperBlock* tsb/*=NULL*/, const wxString& overwrittenfile/*=""*/)
{
wxLogNull log;
FileData stat(From->GetFullPath());
if (!stat.IsDir()) // Check first to see if From isn't a dir. If so, it's easy: just it, no progeny
{ enum MovePasteResult result = MPR_fail;
if (dir_skeleton) return result; // Easier still if we only *want* dirs
wxString ToNamePath = ToName.BeforeLast(wxFILE_SEP_PATH), tooname(ToName); // However these lines are in case ToName is foo/bar, and foo/ doesn't exist
if (!ToNamePath.IsEmpty())
{ tooname = tooname.AfterLast(wxFILE_SEP_PATH);
wxString fullpath( StrWithSep(To->GetPath()) );
ToNamePath = fullpath + ToNamePath; if (ToNamePath.Last() != wxFILE_SEP_PATH) ToNamePath << wxFILE_SEP_PATH;
To->Assign(ToNamePath);
if (!To->DirExists())
if (!To->Mkdir(0777, wxPATH_MKDIR_FULL)) return MPR_fail; // wxPATH_MKDIR_FULL means intermediate dirs are created too
}
To->SetFullName(tooname); // Add the filename to create the desired dest. path/name
if (stat.IsSymlink()) // If it's a symlink, make a new one in destination dir
{ wxString symlinktarget = stat.GetSymlinkDestination(true);
if (RETAIN_REL_TARGET && symlinktarget.GetChar(0) != wxFILE_SEP_PATH) // If it's a relative symlink (& we want to) we need to be clever to keep the same target
{ wxFileName fn(symlinktarget); fn.MakeAbsolute(From->GetPath()); // So first make the target absolute, relative to the original symlink,
fn.MakeRelativeTo(To->GetPath()); symlinktarget = fn.GetFullPath();// then relative to the new one
}
if (!SafelyCloneSymlink(From->GetFullPath(), To->GetFullPath(), stat)) return MPR_fail;
result = MPR_completed;
if (tsb)
{ tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath()); tsb->AddSuccesses(1); }
}
else
if (stat.IsRegularFile()) // If it's a normal file, use built-in wxCopyFile from a thread
{ wxCHECK_MSG(tsb, MPR_fail, wxT("Trying to Paste() a file with an invalid tsb"));
tsb->AddToCollector(From->GetFullPath(), To->GetFullPath(), overwrittenfile);
result = MPR_thread;
}
else
{ wxBusyCursor busy; // Otherwise it's an oddity like a fifo, which makes wxCopyFile hang, so do it the linux way
mode_t oldUmask = umask(0); // Temporarily change umask so that permissions are copied exactly
bool ans = mknod(To->GetFullPath().mb_str(wxConvUTF8), stat.GetStatstruct()->st_mode, stat.GetStatstruct()->st_rdev); // Technically this works. Goodness knows if it achieves anything useful!
umask(oldUmask);
result = MPR_completed;
if (tsb)
{ if (ans==0) { tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath()); tsb->AddSuccesses(1); }
else tsb->AddFailures(1);
}
}
return result;
}
// If From is a dir, we need to recreate a new subdir on .../.../To/, usually with the same name as the last segment of the 'From' one, but not if there was a name clash
// Notice we actually change To, since we want to put everything into the new subdir anyway, and this way that happens automatically
bool AtLeastOneSuccess = false; MovePasteResult mpresult = MPR_completed;
if (!wxDirExists(From->GetFullPath())) return MPR_fail; // Shouldn't happen
// Append the new pathname to the TO path. Use Assign not AppendDir, in case ToName is foo/bar/
wxString fullpath( StrWithSep(To->GetPath()) );
To->Assign(fullpath + StrWithSep(ToName));
if (!To->Mkdir(To->GetFullPath(), 0777, wxPATH_MKDIR_FULL)) return MPR_fail; // Then use this to make a new dir
tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath());
if (dir_skeleton) AtLeastOneSuccess = true; // For a skeleton, this dir may be the only success
wxDir dir(From->GetPath()); // Use wxDir to deal sequentially with each child file & subdir
if (!dir.IsOpened()) return MPR_fail;
if (!dir.HasSubDirs() && !dir.HasFiles()) return MPR_completed; // If the dir as no progeny, we're OK
wxString filename;
// Go thru the dir, dealing first with files (unless we're pasting a dir skeleton, in which case don't!)
if (!dir_skeleton)
{ bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_FILES | wxDIR_HIDDEN);
while (cont)
{ wxString file = wxFILE_SEP_PATH + filename; // Make filename into /filename
class FileData stat(From->GetPath() + file); // Stat the file, to make sure it's not something else eg a symlink
if (stat.IsSymlink()) // If it's a symlink, make a new one in destination dir
{ wxString symlinktarget = stat.GetSymlinkDestination(true);
if (RETAIN_REL_TARGET && symlinktarget.GetChar(0) != wxFILE_SEP_PATH) // If it's a relative symlink (& we want to) we need to be clever to keep the same target
{ wxFileName fn(symlinktarget); fn.MakeAbsolute(From->GetPath()); // So first make the target absolute, relative to the original symlink,
fn.MakeRelativeTo(To->GetPath()); symlinktarget = fn.GetFullPath(); // then relative to the new one
}
if (SafelyCloneSymlink(From->GetPath() + file, To->GetPath() + file, stat))
{ if (tsb)
{ tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath()); tsb->AddSuccesses(1); }
AtLeastOneSuccess = true;
}
}
else
if (stat.IsRegularFile()) // If it's a normal file, use built-in wxCopyFile via a thread
{ wxCHECK_MSG(tsb, MPR_fail, wxT("Trying to Paste() a file with an invalid tsb"));
tsb->AddToCollector(From->GetFullPath() + file, To->GetFullPath() + file, overwrittenfile);
AtLeastOneSuccess = true; mpresult = MPR_thread;
}
else
{ mode_t oldUmask = umask(0); // Otherwise it's an oddity like a fifo, which makes wxCopyFile hang, so do it the linux way
if (!mknod(wxString(To->GetPath() + file).mb_str(wxConvUTF8), stat.GetStatstruct()->st_mode, stat.GetStatstruct()->st_rdev)) // Success returns 0
{ if (tsb)
{ tsb->AddPreCreatedItem(From->GetFullPath(), To->GetFullPath()); tsb->AddSuccesses(1); }
AtLeastOneSuccess = true;
}
umask(oldUmask);
}
cont = dir.GetNext(&filename);
}
}
// and now with any subdirs
static wxString first_illegal_filepath;
if (!recursing) // The first time thru, construct an infinite-loop guard if needed
{ if (To->GetFullPath().StartsWith(From->GetFullPath()))
first_illegal_filepath = To->GetFullPath();
}
bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_DIRS | wxDIR_HIDDEN);
while (cont)
{ wxString file = wxFILE_SEP_PATH + filename;
FileData stat(From->GetPath() + file); // Stat the 'dir', to make sure it's not a symlink pointing to a dir!
if (stat.IsSymlink())
{ if (!dir_skeleton) // If so, only paste it if we're not doing a dir skeleton
{ if (SafelyCloneSymlink(From->GetPath() + file, To->GetPath() + file, stat)) AtLeastOneSuccess = true; } // If it's a symlink, make a new one in destination dir
}
else
{ wxFileName subdir(From->GetPath() + wxFILE_SEP_PATH + filename + wxFILE_SEP_PATH); // Make the subdir into a wxFileName
// Check that we're not pasting a parent onto a child: legal (Move isn't) but need to avoid infinite looping
// If we are, and we're already recursing, check the cached first_illegal_filepath
if ((!first_illegal_filepath.empty()) && subdir.GetFullPath() == first_illegal_filepath)
{ cont = dir.GetNext(&filename); continue; }
wxFileName copyofTo(To->GetPath() + wxFILE_SEP_PATH); // Why? Because the wxFileName we pass will be altered in the subroutine, and To mustn't be
MovePasteResult result = Paste(&subdir, ©ofTo, filename, true, dir_skeleton, true, tsb); // Do the subdir Paste by recursion
if (result > MPR_fail) AtLeastOneSuccess = true;
if (result == MPR_thread) mpresult = MPR_thread; // Record whether it needed a thread
}
cont = dir.GetNext(&filename);
}
return AtLeastOneSuccess ? mpresult : MPR_fail;
}
void MyGenericDirCtrl::OnShortcutCopy(wxCommandEvent& WXUNUSED(event)) // Ctrl-C
{
size_t count; // No of selections (may be multiple, after all)
wxArrayString paths; // Array to store them
UnRedoManager::CloseSuperCluster(); // This switches off any extant supercluster, eg if last entry was a Cut. Prevents inappropriate aggregation of next Paste
count = GetMultiplePaths(paths); // Make the tree fill the array of selected pathname/filenames
if (!count) return;
MyGenericDirCtrl::filearray = paths; // Fill the "clipboard" with new data
MyGenericDirCtrl::FromID = GetId(); // and the window ID of this pane
MyGenericDirCtrl::filecount = count; // Store the count
MyGenericDirCtrl::Originpane = this; // and which pane we were in: need if this is an archive
CopyToClipboard(paths); // FWIW, copy the filepath(s) to the real clipboard too
DoBriefLogStatus(count, wxEmptyString, _("copied"));
}
void MyGenericDirCtrl::OnShortcutPaste(wxCommandEvent& event) // Ctrl-V
{
if (ThreadsManager::Get().PasteIsActive()) // We shouldn't try to do 2 pastes at a time, and it was probably a mistake anyway
{ BriefMessageBox(_("Please try again in a moment"), 2,_("I'm busy right now")); return; }
wxString destinationpath = GetPath();
// First, check that we're not hovering over an empty area of a file-pane. If so, we need to use its root path as the destination
if (destinationpath.IsEmpty() && (fileview == ISRIGHT)) // If we're in a fileview pane, but not hovering over something,
{ wxString rootpath = startdir; // get the root path for the pane
if (!rootpath.IsEmpty())
destinationpath = rootpath; // If it's valid, use it as the path
else return; // Otherwise, stop wasting time
}
// We may have got here from a 'Paste dir skeleton' item. If so, remove non-dirs from the clipboard
// Doing so isn't a complete solution, but it will avoid false alarms from the CheckDupRen tests
bool paste_dir_skeleton = (event.GetId() == SHCUT_PASTE_DIR_SKELETON);
MyGenericDirCtrl* origin = MyGenericDirCtrl::Originpane;
if (event.GetId() == SHCUT_PASTE_DIR_SKELETON)
{ for (size_t n = MyGenericDirCtrl::filecount; n > 0; --n)
{ if (origin && origin->arcman && origin->arcman->IsArchive())
{ FakeDir* fd = origin->arcman->GetArc()->Getffs()->GetRootDir()->FindSubdirByFilepath(MyGenericDirCtrl::filearray.Item(n-1));
if (!fd)
MyGenericDirCtrl::filearray.RemoveAt(n-1);
}
else
{ FileData fd(MyGenericDirCtrl::filearray.Item(n-1));
if (!fd.IsDir() || (fd.GetFilepath() == destinationpath)) // Also check for pasting onto self
MyGenericDirCtrl::filearray.RemoveAt(n-1);
}
}
MyGenericDirCtrl::filecount = MyGenericDirCtrl::filearray.GetCount(); // in case there've been any removals
}
if (!MyGenericDirCtrl::filecount) return;
UnRedoManager::ContinueSuperCluster(); // Start a new cluster if from Copy, or continue the supercluster started by Cut
OnPaste(false, destinationpath, paste_dir_skeleton);
}
void MyGenericDirCtrl::OnPaste(bool FromDnD, const wxString& destinationpath/*=wxT("")*/, bool dir_skeleton/*=false*/) // Ctrl-V or DnD
{
enum DupRen WhattodoifClash = DR_Unknown, WhattodoifCantRead = DR_Unknown; // These get passed to CheckDupRen. May become SkipAll, OverwriteAll etc, but start with Unknown
size_t count;
wxArrayString filearray;
wxArrayInt IDs;
wxString path, DestPath;
MyGenericDirCtrl *originctrl, *destctrl;
// We may have got here from Ctrl-V or Dnd, so get data into local vars as appropriate
if (FromDnD)
{ count = MyGenericDirCtrl::DnDfilecount;
filearray = MyGenericDirCtrl::DnDfilearray;
IDs.Add(MyGenericDirCtrl::DnDFromID); IDs.Add(GetId()); // Store the IDs of the panes that have changed
path = MyGenericDirCtrl::DnDDestfilepath;
originctrl = MyFrame::mainframe->GetActivePane(); destctrl = this; // Active is the origin MyGenericDirCtrl, 'this' is the destination one
}
else
{ count = MyGenericDirCtrl::filecount;
filearray = MyGenericDirCtrl::filearray;
IDs.Add(MyGenericDirCtrl::FromID); IDs.Add(GetId()); // Store the IDs of the panes that have changed
FileData fd(destinationpath);
if (fd.IsSymlink() && fd.IsSymlinktargetADir(true)) // If we're being asked to Paste onto a symlink, see if its target is a dir
path = fd.GetUltimateDestination(); // If so, replace path with the symlink target. NB If the target isn't a dir, we don't want to deref the symlink at all; just paste into its parent dir as usual
else
path = destinationpath; // OnShortcutPaste() processed the result of GetPath()
originctrl = MyGenericDirCtrl::Originpane; destctrl = this; // For Paste, the origin MyGenericDirCtrl was stored by Copy or Cut; 'this' is the destination one
}
if (!count) return; // Nothing in the "Clipboard"
if (path.IsEmpty()) return; // Nowhere to put it (not very likely, but nevertheless)
// We need to check whether we're moving into or from within an archive: if so things are different
// This copes with the standard scenario of the user dragging from one archive to the same part of the same one :/
if (arcman && arcman->GetArc() && arcman->GetArc()->DoThingsWithinSameArchive(originctrl, destctrl, filearray, path))
{ if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
return; // It returned true, so the situation was sufficiently dealt with
}
bool PastingFromTrash = filearray[0].StartsWith(DirectoryForDeletions::GetDeletedName()); // We'll need this if we'd Cut from an archive ->trash; & now we're Pasting it
if (destctrl && destctrl->arcman != NULL && destctrl->arcman->IsArchive())
{ if (arcman->GetArc()->MovePaste(originctrl, destctrl, filearray, path, false, dir_skeleton)) // If we're pasting into an archive (either from one or not) sort things out elsewhere
{ if (dir_skeleton) BriefLogStatus(_("Directory skeleton pasted"));
else DoBriefLogStatus(count, wxT(""), _("pasted"));
}
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
return;
}
if (!PastingFromTrash && originctrl && originctrl->arcman != NULL && originctrl->arcman->IsArchive()) // Check we're not coming from trash, and originctrl is no longer relevant
{ if (originctrl->arcman->GetArc()->MovePaste(originctrl, destctrl, filearray, path, false, dir_skeleton)) // If we're pasting FROM an archive into the outside world
{ if (dir_skeleton) BriefLogStatus(_("Directory skeleton pasted"));
else DoBriefLogStatus(filearray.GetCount(), wxT(""), _("pasted"));
}
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
return;
}
FileData fd(path); // OK, back to non-archives
wxFileName Destination(path); // Make sure the destination path is a dir with a terminal / It's probably missing it
if ((fd.IsDir() || fd.IsSymlinktargetADir(true)) // If the overall path is indeed a dir
&& !Destination.GetFullName().IsEmpty())
path += Destination.GetPathSeparator(); // plonk a / on the end of path, for the future
else
{ Destination.SetFullName(wxEmptyString); // If it IS a file, remove the filename, leaving the path for pasting to
path = Destination.GetFullPath();
}
FileData DestinationFD(path);
if (!DestinationFD.CanTHISUserWriteExec()) // Make sure we have permission to write to the destination dir
{ wxMessageDialog dialog(this, _("I'm afraid you don't have Permission to write to this Directory"), _("No Entry!"), wxOK | wxICON_ERROR);
dialog.ShowModal(); return;
}
FileData OriginFileFD(filearray[0]);
if (!OriginFileFD.CanTHISUserPotentiallyCopy()) // Make sure we have exec permissions for the origin dir
{ wxMessageDialog dialog(this, _("I'm afraid you don't have permission to access files from this Directory"), _("No Exit!")); return; }
PasteThreadSuperBlock* tsb = dynamic_cast(ThreadsManager::Get().StartSuperblock(wxT("paste")));
int successes = 0;
for (size_t c=0; c < count; c++) // For every path in the clipboard to be pasted
{ wxString DestFilename;
bool ItsADir;
// We need to check we're not about to do something illegal or immoral
CheckDupRen CheckIt(this, filearray[c], path); // Make an instance of the class that tests for this
CheckIt.SetTSB(tsb);
CheckIt.IsMultiple = FromDnD ? (DnDfilecount > 1) : (MyGenericDirCtrl::filecount > 1); // We use different dialogs for multiple items
CheckIt.WhattodoifClash = WhattodoifClash; CheckIt.WhattodoifCantRead = WhattodoifCantRead; // Set CheckIt's variables to match any previous choice
if (!CheckIt.CheckForAccess()) // This checks for Read permission failure, and sets a SkipAll flag if appropriate
{ WhattodoifCantRead = CheckIt.WhattodoifCantRead; continue; }
// NB. No need for CheckIt.CheckForIncest() here: *pasting* onto a descendant is OK; it's moving that isn't
CDR_Result QueryPreExists = CheckIt.CheckForPreExistence(); // Check we're not pasting onto ourselves or a namesake (& if so offer to resolve). True means OK
if (QueryPreExists == CDR_skip)
{ WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable. This catches SkipAll & Cancel, which return false
if (WhattodoifClash==DR_Cancel) { c = count; break; } // Cancel this item & the rest of the loop by increasing c
else continue; // Skip this item but continue with loop
}
// If there was a clash & subsequent Rename, CheckDupRen will have changed the filename or the name of the subdir to be made
DestPath = CheckIt.finalpath; // This will be either the original path without the filename/last dir-segment, or the altered version
DestFilename = CheckIt.finalbit; // Ditto, but the filename/last-segment
WhattodoifClash = CheckIt.WhattodoifClash; // Store any new choice in local variable
ItsADir = CheckIt.ItsADir; // CheckIt already tested whether it's a file or a dir. Piggyback onto this, it saves constant rechecking
if (ItsADir && filearray[c].Last() != wxFILE_SEP_PATH)
filearray[c] += wxFILE_SEP_PATH; // If we're pasting a dir, make sure it ends in a /
wxFileName From(filearray[c]); // Make the From path into a wxFileName
wxFileName To(DestPath); // and the To path
if (Paste(&From, &To, DestFilename, ItsADir, dir_skeleton, false, tsb))
{ // NB The Paste has altered To, appending to it the pasted file or subdir. Fortunately, this is just what we want for Undoing
wxString frompath = From.GetFullPath(), topath = To.GetFullPath();
UnRedoPaste* urp = new UnRedoPaste(frompath, IDs, topath, DestFilename, ItsADir, dir_skeleton, tsb);
urp->SetOverwrittenFile( CheckIt.GetOverwrittenFilepath() ); // Store any saved overwritten filepath ready for undoing. Only needed for regular files using threads
tsb->StoreUnRedoPaste(urp, frompath);
++successes;
}
}
tsb->AddOverallSuccesses(successes); tsb->AddOverallFailures(count - successes); tsb->SetMessageType(_("pasted"));
if (successes)
tsb->StartThreads();
else
{ ThreadsManager::Get().AbortThreadSuperblock(tsb); // Otherwise the thread will be orphaned and the progress throbber stuck on 0
if (UnRedoManager::ClusterIsOpen) UnRedoManager::EndCluster();
return;
}
if (dir_skeleton) BriefLogStatus(_("Directory skeleton pasted"));
// Finally we have to sort out the treectrl
if (fileview == ISLEFT)
{ destctrl->GetTreeCtrl()->UnselectAll(); // Unselect to avoid ambiguity due to multiple selections
if (USE_FSWATCHER) // If so use SelectPath(). We don't need the extra overhead of SetPath()
{ wxTreeItemId id = destctrl->FindIdForPath(DestPath);
if (id.IsOk()) destctrl->GetTreeCtrl()->SelectItem(id);
}
else
SetPath(DestPath); // Needed when moving onto the 'root' dir, otherwise the selection won't alter & so the fileview won't be updated
}
MyFrame::mainframe->OnUpdateTrees(DestPath, IDs); // Ask for the Refresh. DestPath is correct, whether a plain paste or a dup. (This wouldn't be true of path)
}
void MyGenericDirCtrl::OnShortcutUndo(wxCommandEvent& event) // Ctrl-Z
{
UnRedoManager::UndoEntry();
}
void MyGenericDirCtrl::OnShortcutRedo(wxCommandEvent& event) // Ctrl-R
{
UnRedoManager::RedoEntry();
}
void DirGenericDirCtrl::OnToggleHidden(wxCommandEvent& event) // Ctrl-H
{
bool hidden = !GetShowHidden(); // Do the toggle
ShowHidden(hidden); // & make it happen
partner->ShowHidden(hidden); // Do it for fileview too, as it's difficult to imagine not wanting this
wxString path = GetPath();
UpdateStatusbarInfo(path); // Make it appear in the statusbar
}
void MyGenericDirCtrl::SetRootItemDataPath(const wxString& fpath)
{
wxTreeItemId rootId = GetTreeCtrl()->GetRootItem();
if (rootId.IsOk())
{ wxDirItemData& data = (wxDirItemData&)*(GetTreeCtrl()->GetItemData(rootId));
data.m_path = fpath;
}
}
wxTreeItemId MyGenericDirCtrl::FindIdForPath(const wxString& path) const
{
wxString pth = StripSep(path);
wxTreeCtrl* tree = GetTreeCtrl();
wxTreeItemId root = m_rootId;
if (!root.IsOk()) return root; // because of a race condition?
wxTreeItemId item = root; // Since we don't know where to look in the tree, start from root
wxDirItemData* data = (wxDirItemData*)tree->GetItemData(item);
while (data && StripSep(data->m_path) != pth)
{ item = tree->GetNext(item); // Get the next leaf in the tree
if (!item.IsOk()) return item; // If item is corrupt, return as invalid
if (item==root) return wxTreeItemId(); // If we've traversed the whole tree without success, signal by returning invalid
data = (wxDirItemData*)tree->GetItemData(item); // OK, try this leaf
}
return item; // If we're here, must have matched
}
#if defined(__LINUX__) && defined(__WXGTK__)
bool CopeWithCreateRename(InotifyEventType& type, wxString& alteredfilepath, wxString& newfilepath)
{
FileData fd(newfilepath);
if (fd.IsValid())
{ // If we're here, alteredfilepath was created, then instantly renamed to newfilepath. So pretend it was an IET_create all along
type = IET_create;
alteredfilepath = newfilepath;
return true;
}
return false;
}
void MyGenericDirCtrl::UpdateTree(InotifyEventType type, const wxString& alteredfilepath, const wxString& newfilepath /*= wxT("")*/)
{
wxCHECK_RET(!alteredfilepath.empty(), wxT("Called UpdateTree() with empty fpath"));
wxTreeItemId item;
try
{
if (startdir != wxT("/") && ((fileview == ISRIGHT) || !fulltree))
{ // I started by using plain wxString::StartsWith here, but that was broken by a rename of /path/to/foo to /path/to/foo1
wxFileName altfp(StripSep(alteredfilepath));
wxFileName startdirfp(StripSep(startdir));
// startdir /foo, alteredfilepath /foo/bar/baz
if (altfp.GetPath().StartsWith(startdirfp.GetPath()) && (altfp.GetDirCount() > startdirfp.GetDirCount()))
{ item = FindIdForPath(alteredfilepath); // If it's downstream of startdir, update it and all items below
// We need to cope with the situation where a dir is created, then immediately renamed; dpkg does this when installing.
// If the rename is immediate, the events will be sent in a single cluster, so the create will be overridden by the rename.
// We'll therefore arrive here with an invalid item as the created dirname wasn't added to the tree
if (!item.IsOk() && type == IET_rename)
{ wxString altfp(alteredfilepath); wxString newfp(newfilepath);
if (CopeWithCreateRename(type, altfp, newfp)) // Pretend it was a newfp create
DoUpdateTree(item, type, altfp, newfp);
}
else
DoUpdateTree(item, type, alteredfilepath, newfilepath);
}
// startdir /foo/bar/baz and alteredfilepath /foo/, or /foo/ and /foo/
else if ((startdirfp.GetPath().StartsWith(altfp.GetPath()) && (altfp.GetDirCount() < startdirfp.GetDirCount()))
|| (StripSep(startdir) == StripSep(alteredfilepath)))
{ item = FindIdForPath(startdir); // If it's upstream, or startdir itself, update everything
DoUpdateTree(item, type, alteredfilepath, newfilepath);
// The whole tree is affected, so we also need to update startdir etc
startdir.replace(0, alteredfilepath.Len(), newfilepath);
m_defaultPath = startdir;
return;
}
}
else // This copes with fulltree mode too, and also startdir == "/"
{ wxString path = alteredfilepath.BeforeLast(wxFILE_SEP_PATH);
if (path.empty()) path = wxT("/");
if (wxStaticCast(this, DirGenericDirCtrl)->IsDirVisible(alteredfilepath)
|| ((type == IET_create || type == IET_delete || type == IET_rename) && wxStaticCast(this, DirGenericDirCtrl)->IsDirVisible(path)))
{ item = FindIdForPath(alteredfilepath); // There's no difference between upstream/downstream in a fulltree dirview
if (!item.IsOk()) // (See above for the reasoning)
{ wxString altfp(alteredfilepath); wxString newfp(newfilepath);
if (CopeWithCreateRename(type, altfp, newfp))
DoUpdateTree(item, type, altfp, newfp);
}
else
DoUpdateTree(item, type, alteredfilepath, newfilepath);
}
}
// If we're here, alteredfilepath is orthogonal to startdir, so nothing to do
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyGenericDirCtrl::UpdateTree")); }
}
void MyGenericDirCtrl::DoUpdateTree(wxTreeItemId id, InotifyEventType type, const wxString& oldfilepath, const wxString& newfilepath)
{
// There are 5 possibilities: 1) a rename. The 2 filenames will differ, though the paths will be the same
// 2) a move between dirs within a watch e.g. foo/bar/baz -> foo/baz. The paths will differ, but not the names, and id will be valid
// 3) a creation (or move into a dir from a different watch). They'll be identical, and id will be invalid
// 4) a deletion (or move out of a dir to a different watch). Identical and id will be valid
// 5) a 'touch' or similar. Identical and id will be valid
wxTreeItemId parentitem;
wxTreeCtrl* tree = GetTreeCtrl();
if (type == IET_rename)
{ try
{
wxString sortdir = (id == GetRootId()) ? wxT("") : StripSep(oldfilepath).BeforeLast(wxFILE_SEP_PATH); // Deduce the filepath that may need its children sorted
if (oldfilepath.AfterLast(wxFILE_SEP_PATH) != (newfilepath.AfterLast(wxFILE_SEP_PATH))) // A genuine rename
{ if (fileview == ISRIGHT) return ReCreateTreeFromSelection(); // It's too hard to re-sort a fileview if we try to be clever
// For a dirview reordering is easier
DoUpdateTreeRename(id, oldfilepath, newfilepath);
if (!sortdir.empty())
{ wxTreeItemId sortId = FindIdForPath(sortdir);
if (sortId.IsOk())
tree->SortChildren(sortId);
}
if (StripSep(partner->startdir) == StripSep(oldfilepath))
{ wxWindow* currentfocus = wxGetApp().GetFocusController().GetCurrentFocus();
partner->startdir = StrWithSep(newfilepath); // Keep partner in sync if need be
partner->SetRootItemDataPath(newfilepath);
partner->ReCreateTreeFromSelection();
if (this == currentfocus) // Update the toolbar textctrl if appropriate
DisplaySelectionInTBTextCtrl(newfilepath); // If we had focus, that means the new name
else if (partner == currentfocus)
DisplaySelectionInTBTextCtrl(wxT("")); // If partner did, it's too difficult so clear it
}
return;
}
else
{ // A 'move-within-watch'. Sometimes the _FROM and _TO inotify events cluster and we get both the oldpath and newpath. Sometimes not...
FileData fd(newfilepath);
if (!fd.IsDir() && (fileview == ISLEFT)) // If the moved item isn't a dir and we're a dirview, then it won't be visible anyway
return;
if (oldfilepath != newfilepath)
{ // Ask for a 'delete' followed by a 'create'
if (id.IsOk()) // It won't be OK if this pane has already been refreshed, or for a dir inside a collapsed parent dir
{ DoUpdateTree(id, IET_delete, oldfilepath, oldfilepath);
id = FindIdForPath(newfilepath); // it'll be stale
}
else // Deal with the case of a collapsed parent dir losing its last child; it needs to lose its triangle too
{ MyGenericDirCtrl* gdg = (fileview == ISLEFT) ? this : partner;
wxStaticCast(gdg, DirGenericDirCtrl)->CheckChildDirCount(sortdir);
}
if (!id.IsOk()) // It won't be !OK if this pane has already been refreshed
DoUpdateTree(id, IET_create, newfilepath, newfilepath);
return;
}
else
{ // Ask the file system if the filepath exists. That should distinguish between a move from or to
if (!fd.IsValid()) // If invalid it must be a move away
{ if (id.IsOk()) // It won't be OK if this pane has already been refreshed
DoUpdateTree(id, IET_delete, oldfilepath, oldfilepath);
}
else // A move to
{ if (!id.IsOk()) // It won't be !OK if this pane has already been refreshed
DoUpdateTree(id, IET_create, oldfilepath, oldfilepath);
}
return;
}
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyGenericDirCtrl::DoUpdateTree IET_rename")); }
}
// A 'creation' or 'move into'
if (type == IET_create)
{ try
{ if (!id.IsOk()) // If id.IsOk the pane may have been already refreshed, probably due to multiple events; but see the 'else' branch
{ wxString path = StripSep(oldfilepath).BeforeLast(wxFILE_SEP_PATH);
if (path.empty()) path = wxT("/");
parentitem = FindIdForPath(path);
if (!parentitem.IsOk())
{ wxLogTrace(wxTRACE_FSWATCHER, wxT("Failed to find a parentitem for filepath %s"), oldfilepath.c_str());
return; // This can happen if the original filepath was startdir, and has actually been deleted
}
bool WasSelected = tree->IsSelected(parentitem);
ReCreateTreeBranch(&parentitem);
parentitem = FindIdForPath(StripSep(oldfilepath).BeforeLast(wxFILE_SEP_PATH)); // as parentitem is now (I think) invalid
if ((fileview == ISLEFT) && (this == MyFrame::mainframe->GetActivePane()) && WasSelected)
m_StatusbarInfoValid = false; // If a dirview is active and parent was selected, it must update the statusbar
else if ((fileview == ISRIGHT) && (partner == MyFrame::mainframe->GetActivePane()))
partner->m_StatusbarInfoValid = false; // ditto
}
else if (fileview == ISRIGHT)
{ // Even if id.IsOk() we should update the item in a fileview. Someone may have overwritten foo.txt with a different foo.txt, so size etc needs updating
wxStaticCast(this, FileGenericDirCtrl)->UpdateFileDataArray(oldfilepath);
GetTreeCtrl()->Refresh();
}
if ((fileview == ISLEFT) && parentitem.IsOk()) // We need to do things here for dir additions/removals to keep the parent dir's button sane
{ wxDirItemData* data = (wxDirItemData*)tree->GetItemData(parentitem);
if (data->m_path != StripSep(startdir)) // We always want a 'haschildren' marker for startdir; it looks odd otherwise
{ tree->SetItemHasChildren(parentitem, true); // Check as a deletion may have been the last subdir, & a creation may have been a file
}
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyGenericDirCtrl::DoUpdateTree IET_create")); }
}
// A 'deletion' or 'move away'
if (type == IET_delete)
{ try
{ if (id.IsOk()) // If not OK, either the parent is collapsed or else the pane must have been already refreshed, probably due to multiple events
{
bool WasSelected = tree->IsSelected(id);
wxDirItemData* data = (wxDirItemData*)tree->GetItemData(id);
bool WasDir = data && data->m_isDir;
tree->Delete(id);
// There are some situations where we need explicitly to remove the watch, as there's no collapse/expand/SetPath
// and otherwise we risk an "Already watched" assert if the path is recreated e.g. by an undo. Anyway, it's not expensive if the watch doesn't exist
//wxLogDebug(wxT("IET_delete: *** About to call RemoveWatchLineage %s"), oldfilepath.c_str());
m_watcher->RemoveWatchLineage(oldfilepath);
if ((fileview == ISRIGHT) && WasDir) // If the dirview isn't expanded, it won't be watching any child dirs
wxStaticCast(partner, DirGenericDirCtrl)->CheckChildDirCount(startdir); // So tell it that one of them has died; if none are left it should lose its triangle
if ((fileview == ISRIGHT) && GetTreeCtrl()->GetRootItem().IsOk()) // It might not be OK if the dirview has already been updated
{ ReCreateTree();
wxStaticCast(this, FileGenericDirCtrl)->DeleteFromFileDataArray(StripSep(oldfilepath)); // Adjust CumFilesize etc
id = wxTreeItemId(); // This is now invalid
}
if (WasSelected && this == MyFrame::mainframe->GetActivePane()) // If the deleted item was selected, we need to clear the statusbar
MyFrame::mainframe->SetStatusText(wxEmptyString, 2);
else
{ if (fileview == ISRIGHT)
{ if (partner == MyFrame::mainframe->GetActivePane())
partner->m_StatusbarInfoValid = false; // If the dirview is active, it must update the statusbar
}
}
}
if (fileview == ISLEFT) // Even if id != OK, we need to do things here for dir removals to keep the parent dir's button sane
{ parentitem = FindIdForPath(StripSep(oldfilepath).BeforeLast(wxFILE_SEP_PATH));
if (parentitem.IsOk())
{ wxDirItemData* pdata = (wxDirItemData*)tree->GetItemData(parentitem);
if (pdata->m_path != StripSep(startdir)) // We always want a 'haschildren' marker for startdir; it looks odd otherwise
{ tree->SetItemHasChildren(parentitem, (pdata && pdata->HasSubDirs())); // Check as a deletion may have been the last subdir
}
}
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyGenericDirCtrl::DoUpdateTree IET_delete")); }
}
// A 'touch' or similar, just updating metadata
if ((type == IET_attribute) && (fileview == ISRIGHT)) // I don't think we care about a dir in a dirview being touched
{ try
{ wxStaticCast(this, FileGenericDirCtrl)->UpdateFileDataArray(oldfilepath);
GetTreeCtrl()->Refresh();
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyGenericDirCtrl::DoUpdateTree IET_attribute")); }
}
}
void MyGenericDirCtrl::DoUpdateTreeRename(wxTreeItemId id, const wxString& oldfilepath, const wxString& newfilepath)
{
if (!id.IsOk()) return;
//m_watcher->PrintWatches(wxT("DoUpdateTreeRename:");
wxTreeCtrl* tree = GetTreeCtrl();
wxDirItemData* data = (wxDirItemData*)tree->GetItemData(id);
if (!data) return;
wxCHECK_RET((StripSep(data->m_path) == StripSep(oldfilepath)) || (data->m_path.StartsWith(StrWithSep(oldfilepath))), wxT("Trying to update a treeitem unnecessarily"));
data->m_path.replace(0, oldfilepath.Len(), newfilepath);
if (oldfilepath != startdir)
tree->SetItemText(id, data->m_path.AfterLast(wxFILE_SEP_PATH));
else // Generally we use the filename as label, but not for startdir
{ tree->SetItemText(id, data->m_path);
startdir = newfilepath;
}
wxTreeItemIdValue cookie;
wxTreeItemId child = tree->GetFirstChild(id, cookie); // Now do all descendents by recursion
while (child.IsOk())
{ DoUpdateTreeRename(child, oldfilepath, newfilepath);
child = tree->GetNextChild(id, cookie);
}
}
#endif // defined(__LINUX__) && defined(__WXGTK__)
void DirGenericDirCtrl::ReloadTree(wxString path, wxArrayInt& IDs) // Either F5 or after an Cut/Paste/Del/UnRedo, to keep treectrl congruent with reality
{
// First decide whether it's important for this pane to be refreshed ie if it is/was the active pane, or otherwise if a file/dir that's just been acted upon is visible here
bool flag = false;
wxWindowID pane = GetId(); // This is us
for (unsigned int c=0; c < IDs.GetCount(); c++) // For every ID passed here,
if (IDs[c] == pane) { flag = true; break; } // see if it's us
// There are 2 possibilities. Either the dir that's just been acted upon is visible, or its not. Remember, invisible means no TreeItemId exists
wxTreeItemId item = FindIdForPath(path); // Translate path into wxTreeItemId
if (!item.IsOk()) // If it's not valid,
{ if (path != wxFILE_SEP_PATH) // & it's not root!
{ while (path.Right(1) == wxFILE_SEP_PATH && path.Len() > 1) // and if it's got a terminal '/' or two
path.RemoveLast(); // remove it and try again without.
item = FindIdForPath(path); // This is cos the last dir of a branch doesn't have them, yet path DOES, so would never match
}
}
if (item.IsOk()) // If it's valid, the item is visible, so definitely refresh it
{ wxTreeCtrl* tree = GetTreeCtrl();
bool subs = true; // If this is the root, we need a +/- box, otherwise there is only a dangling line coming from nowhere
if (tree->GetItemParent(item) != GetRootId())
{ if (arcman != NULL && arcman->IsArchive())
{ FakeDir* fakedir = arcman->GetArc()->Getffs()->GetRootDir()->FindSubdirByFilepath(path);
subs = (fakedir != NULL && fakedir->SubDirCount() > 0);
}
else subs = HasThisDirSubdirs(path); // It saves a lot of faffing with the treectrl if we use this global function to do a real-life count of subdirs --- remember this is a dirview so children must be dirs
}
tree->SetItemHasChildren(item, subs);
if (((wxDirItemData *) tree->GetItemData(item))->m_isExpanded) tree->Collapse(item); // Do the refresh by (collapsing if needed &) expanding
tree->Expand(item);
}
else // Otherwise the path isn't visible
if (flag) // If the pane must be refreshed,
ExpandPath(path); // this should make it so
if (path == GetPath() || (path+wxFILE_SEP_PATH) == GetPath()) // (Note another '/' problem) Finally, if the altered item is one selected on this pane,
partner->ReCreateTreeFromSelection(); // tell file-partner to refresh
}
void DirGenericDirCtrl::GetVisibleDirs(wxTreeItemId rootitem, wxArrayString& dirs) const // Find which dirs can be seen i.e. children + expanded children's children
{
wxTreeItemIdValue cookie;
wxTreeItemId childId = GetTreeCtrl()->GetFirstChild(rootitem, cookie);
while (childId.IsOk())
{ wxDirItemData* data = (wxDirItemData*)GetTreeCtrl()->GetItemData(childId);
if (data && !data->m_path.IsEmpty())
{ dirs.Add(data->m_path); // Add the child path
// wxLogDebug(wxT("Adding %s"), data->m_path.c_str());
if (GetTreeCtrl()->IsExpanded(childId)) // If it's expanded, add its children too, recursively if need be
GetVisibleDirs(childId, dirs);
}
childId = GetTreeCtrl()->GetNextChild(rootitem, cookie);
}
}
bool DirGenericDirCtrl::IsDirVisible(const wxString& fpath) const
{
wxString fp = StripSep(fpath);
if (fp == StripSep(startdir))
return true; // We can reasonably assume that startdir is visible
wxArrayString dirs;
if (fulltree)
GetVisibleDirs(GetTreeCtrl()->GetRootItem(), dirs);
else
{ wxTreeItemId id = FindIdForPath(startdir);
if (!id.IsOk()) return false;
GetVisibleDirs(id, dirs);
}
for (size_t n=0; n < dirs.GetCount(); ++n)
if (fp == StripSep(dirs[n]))
return true;
return false;
}
BEGIN_EVENT_TABLE(DirGenericDirCtrl,MyGenericDirCtrl)
EVT_MENU(SHCUT_NEW, DirGenericDirCtrl::NewFile)
EVT_MENU(SHCUT_TOGGLEHIDDEN, DirGenericDirCtrl::OnToggleHidden)
EVT_CONTEXT_MENU(DirGenericDirCtrl::ShowContextMenu)
END_EVENT_TABLE()
//-------------------------------------------------------------------------------------------------------------------------------------------
NavigationManager::~NavigationManager()
{
for (size_t n=0; n < GetCount(); ++n)
delete m_NavigationData.at(n);
m_NavigationData.clear();
}
void NavigationManager::PushEntry(const wxString& dir, const wxString& path/*= wxT("")*/)
{
wxCHECK_RET(!dir.empty(), wxT("Trying to add an empty filepath"));
// Check that there haven't already been some 'undo's. If so, adding another one invalidates any distal entries, so delete them
if (m_NavDataIndex+1 < (int)GetCount())
{ for (size_t n = m_NavDataIndex+1; n < GetCount(); ++n)
delete m_NavigationData.at(n);
m_NavigationData.erase(m_NavigationData.begin() + m_NavDataIndex+1, m_NavigationData.end());
}
if (GetCount() == MAX_NUMBER_OF_PREVIOUSDIRS)
{ delete m_NavigationData.front(); // Oops: too many entries. Do a FIFO by removing oldest entry
m_NavigationData.erase(m_NavigationData.begin());
m_NavDataIndex = wxMin(m_NavDataIndex, GetCount() - 1);
}
// In case we've been navigating in a circle; we don't want the back-button to make us march on the spot
if (StripSep(GetCurrentDir()) == StripSep(dir)) return;
// Hack path into the _current_ navdata, which should hold the _current_ dir. This sets its selection correctly if we return to it
if (GetCount() && !path.empty())
{ wxASSERT(StripSep(path).Contains(StripSep(GetCurrentDir())));
SetPath(m_NavDataIndex, path);
}
m_NavigationData.push_back( new NavigationData(dir, wxT("")) );
++m_NavDataIndex;
}
wxArrayString NavigationManager::RetrieveEntry(int displacement) // Returns the currently indexed entry and inc/decs the index
{
wxArrayString arr;
wxCHECK_MSG(GetCount() > 0, arr, wxT("Trying to retrieve from an empty array"));
bool invalid(false);
if (displacement > 0) // If +ve, we're going forwards
{ if (m_NavDataIndex + displacement >= (int)GetCount()) invalid = true;
}
else // Otherwise we're going backwards
{ if (m_NavDataIndex + displacement < 0) invalid = true; }
wxCHECK_MSG(!invalid, arr, wxT("Trying to retrieve an invalid item"));
m_NavDataIndex += displacement; // Move the index to requested entry. Note the += works even if displacement is negative
arr.Add( GetCurrentDir() );
arr.Add( GetCurrentPath() );
return arr;
}
void NavigationManager::DeleteInvalidEntry(int displacement)
{
wxCHECK_RET(GetCount() > 0, wxT("Trying to remove from an empty array"));
delete m_NavigationData.at(m_NavDataIndex); // Oops: too many entries. Do a FIFO by removing oldest entry
m_NavigationData.erase(m_NavigationData.begin() + m_NavDataIndex);
m_NavDataIndex += displacement; // Inc or dec the index ('displacement' may be -1)
}
wxArrayString NavigationManager::GetBestValidHistoryItem(const wxString& deadfilepath) // Retrieves the first valid dir from the history. Used when an IN_UNMOUNT event is caught
{
wxArrayString arr;
bool valid(false); // First find the mountpt, which must be the first valid dir
wxString mountpt = deadfilepath;
do
{ mountpt = mountpt.BeforeLast(wxFILE_SEP_PATH);
FileData fd(mountpt); valid = fd.IsValid();
}
while (!valid);
for (size_t n = GetCount(); n > 0; --n)
{ wxString entry = m_NavigationData.back()->GetDir();
FileData fd(entry);
if (!fd.IsValid() // This filepath must have been within the now-unmounted filesystem. (Or maybe inside an archive, but who cares...)
|| StripSep(entry).StartsWith(StripSep(deadfilepath)) ) // We don't want to revert to a previous instance of the same/similar filepath!
{ delete m_NavigationData.back(); m_NavigationData.pop_back();
if (m_NavDataIndex > 0 && (size_t)m_NavDataIndex < n) --m_NavDataIndex; // If we've just deleted its target, adjust the you-are-here marker too
}
}
if (!mountpt.empty() && GetCount() > 0 && (StripSep(mountpt) == StripSep(m_NavigationData.back()->GetDir()))) // We don't want to end up in the now-empty mountpoint
{ delete m_NavigationData.back(); m_NavigationData.pop_back();
--m_NavDataIndex;
}
if (GetCount() && (m_NavDataIndex < (int)GetCount())) // sanity
{ arr.Add( GetCurrentDir() ); arr.Add( GetCurrentPath() ); }
else arr.Add(wxGetHomeDir());
return arr;
}
wxString NavigationManager::GetCurrentDir() const
{
if (m_NavDataIndex < 0 || !GetCount()) return wxT("");
return GetDir(m_NavDataIndex);
}
wxString NavigationManager::GetDir(size_t index) const
{
if (m_NavDataIndex < 0 || !GetCount()) return wxT("");
wxCHECK_MSG(index < GetCount(), wxT(""), wxT("Trying to access an unindexed navdir"));
return m_NavigationData.at(index)->GetDir();
}
wxString NavigationManager::GetCurrentPath() const
{
if (m_NavDataIndex < 0 || !GetCount()) return wxT("");
return GetPath(m_NavDataIndex);
}
wxString NavigationManager::GetPath(size_t index) const
{
if (m_NavDataIndex < 0 || !GetCount()) return wxT("");
wxCHECK_MSG(index < GetCount(), wxT(""), wxT("Trying to access an unindexed navdir"));
return m_NavigationData.at(index)->GetPath();
}
void NavigationManager::SetPath(size_t index, const wxString& path)
{
if (m_NavDataIndex < 0 || !GetCount()) return;
wxCHECK_RET(index < GetCount(), wxT("Trying to access an unindexed navdir"));
m_NavigationData.at(index)->SetPath(path);
}
//-------------------------------------------------------------------------------------------------------------------------------------------
#if defined(__LINUX__) && defined(__WXGTK__)
void MyFSEventManager::AddEvent(wxFileSystemWatcherEvent& event)
{
wxCHECK_RET(m_owner, wxT("NULL owner"));
try
{
int changetype = event.GetChangeType();
wxString filepath = StripSep(event.GetPath().GetFullPath()); // First check that we need to notice this event
wxString origfilepath(filepath); // Cache it in case we truncate it
if (m_owner->fileview == ISRIGHT)
{ if (!filepath.StartsWith(m_owner->startdir) // e.g. startdir is /foo, filepath /foo/bar/baz
&& !m_owner->startdir.StartsWith(filepath)) // or startdir is /foo/bar/baz/, filepath /foo/
return;
}
else // This copes with fulltree mode too
if (!wxStaticCast(m_owner, DirGenericDirCtrl)->IsDirVisible(filepath) // Check the dir is visible, or for a creation/deletion/move, the parent dir
&& !((changetype == wxFSW_EVENT_CREATE || changetype == wxFSW_EVENT_DELETE || changetype == wxFSW_EVENT_RENAME)
&& wxStaticCast(m_owner, DirGenericDirCtrl)->IsDirVisible(event.GetPath().GetPath())))
return;
if ((changetype == wxFSW_EVENT_CREATE) && !event.GetPath().IsDir())
{
#if wxVERSION_NUMBER < 3000
// For non-dir creates/moves it's almost good enough to refresh just the path, not the filepath, and that way if 2000 files are pasted we won't update 2000 times.
// However that risks a race-condition where the path is refreshed before all the files are actually created; a race that was being occasionally lost.
// So for >=wx3.0.0 actually use the filepath; even for 10000 files there was no perceptible slowdown.
// But earlier wx versions, perhaps because of the wxString differences in wx3, took far, far longer (in FindIdForPath()) so for these versions use the path.
filepath = filepath.BeforeLast(wxFILE_SEP_PATH);
#endif
FileData fd(origfilepath);
if (fd.IsSymlink()) // For symlink creates, check if there's an out-of-order Delete; we need to use the filepath for that, not just the path
{ FilepathEventMap::iterator delete_iter = m_Eventmap.find(origfilepath);
if (delete_iter != m_Eventmap.end())
{ wxFileSystemWatcherEvent* oldevent = delete_iter->second;
if (oldevent->GetChangeType() == wxFSW_EVENT_DELETE) // We found an unwanted Delete; this might happen when retargetting the symlink
{ m_Eventmap.erase(delete_iter); // If we don't kill it, it removes the link and the Create event fails to redisplay it
delete oldevent;
}
}
}
}
FilepathEventMap::iterator iter = m_Eventmap.find(filepath);
if (iter == m_Eventmap.end())
{ m_Eventmap.insert(FilepathEventMap::value_type(filepath, wxStaticCast(event.Clone(), wxFileSystemWatcherEvent)));
iter = m_Eventmap.find(filepath);
wxCHECK_RET(iter != m_Eventmap.end(), wxT("Failed to insert an element"));
}
else
{ // If there's already an event for this filepath, see if it's a dup, or if we need to overwrite the original, or...
wxFileSystemWatcherEvent* oldevent = iter->second;
if (oldevent->GetChangeType() == changetype)
return;
// If the new event is more important than the old, replace. 'More important' means (by chance) a lower value, except for renames and umounts
// An umount trumps everything
// A move-in rename is effectively a create, so trumps everything else. A move-out is a delete, so trumps everything bar a umount & create
// As we can't tell the difference from the event (unless it's a genuine rename with 2 different filenames), ask the filesystem
// (However for readability, don't replace a CREATE with a pseudo-create, or a DELETE with a pseudo-delete)
if (oldevent->GetChangeType() == wxFSW_EVENT_UNMOUNT)
return;
bool ignore = (oldevent->GetChangeType() < changetype)
|| ((oldevent->GetChangeType() == wxFSW_EVENT_RENAME) && (oldevent->GetPath() != oldevent->GetNewPath())); // Don't clobber a stored genuine rename
if (changetype == wxFSW_EVENT_RENAME)
{ if (StripSep(event.GetNewPath().GetFullPath()) == filepath)
{ FileData fd(filepath);
if ((fd.IsValid() && oldevent->GetChangeType() != wxFSW_EVENT_CREATE) || (!fd.IsValid() && oldevent->GetChangeType() != wxFSW_EVENT_DELETE))
ignore = false;
}
else
ignore = false; // A genuine rename, so definitely use it
}
if (ignore)
return;
m_Eventmap.erase(iter);
delete oldevent;
m_Eventmap.insert(FilepathEventMap::value_type(filepath, wxStaticCast(event.Clone(), wxFileSystemWatcherEvent)));
iter = m_Eventmap.find(filepath);
wxCHECK_RET(iter != m_Eventmap.end(), wxT("Failed to re-insert an element"));
}
if (!m_EventSent)
{ wxNotifyEvent evt(FSWatcherProcessEvents, wxID_ANY);
evt.SetInt(10); // The no of times to catch the event before taking action. 10 sounds a lot, but doesn't noticeably slow things down
wxPostEvent(m_owner, evt);
m_EventSent = true;
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSEventManager::AddEvent")); }
}
void MyFSEventManager::ProcessStoredEvents()
{
wxCHECK_RET(m_owner, wxT("NULL owner"));
m_EventSent = false;
try
{
for (FilepathEventMap::iterator iter = m_Eventmap.begin(); iter != m_Eventmap.end(); ++iter)
{ wxFileSystemWatcherEvent* event = iter->second;
wxString filepath = iter->first;
DoProcessStoredEvent(filepath.c_str(), event); // A deep copy here might avoid a race condition in wxFSW_EVENT_UNMOUNT
}
while (m_Eventmap.size())
{ delete m_Eventmap.begin()->second; m_Eventmap.erase(m_Eventmap.begin()); }
m_Eventmap.clear();
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSEventManager::ProcessStoredEvents")); }
}
void MyFSEventManager::DoProcessStoredEvent(const wxString& filepath, const wxFileSystemWatcherEvent* event)
{
wxCHECK_RET(m_owner, wxT("NULL owner"));
bool isright = m_owner->fileview == ISRIGHT;
bool isleft = !isright; // readability
wxString newfilepath = event->GetNewPath().GetFullPath(); // For renames
try
{
switch(event->GetChangeType())
{ case wxFSW_EVENT_CREATE:
{ wxString realfilepath = event->GetPath().GetFullPath(); // For Creates, we indexed by path, not filepath, so greatly reducing duplicate updates
if (isright)
m_owner->UpdateTree(IET_create, realfilepath, realfilepath);
else // Otherwise refresh the path of the new dir
{ FileData fd(realfilepath);
if (fd.IsDir()) // dirviews don't care about non-dirs
{ m_owner->UpdateTree(IET_create, realfilepath, realfilepath);
m_owner->m_watcher->RefreshWatchDirCreate(realfilepath); // We need explicitly to watch the new dir, as nothing else makes this happen
}
}
break;
}
case wxFSW_EVENT_MODIFY:
// IN_MODIFY means that a file is being written to, and is often (very, very) multiple
// It doesn't affect the name or anything visible in the panes apart from the size in the fileview
if (isright)
{ try
{
if (wxStaticCast(m_owner, FileGenericDirCtrl)->UpdateTreeFileModify(filepath) == false) // If it doesn't recreate the tree,
{ wxStaticCast(m_owner, FileGenericDirCtrl)->UpdateFileDataArray(filepath);
m_owner->GetTreeCtrl()->Refresh();
}
if ((m_owner->GetFilePath() == filepath) && (m_owner == MyFrame::mainframe->GetActivePane()))
m_owner->m_StatusbarInfoValid = false; // Flag to update the statusbar value
if (m_owner->partner == MyFrame::mainframe->GetActivePane())
m_owner->partner->m_StatusbarInfoValid = false; // If the dirview is active, it must update the statusbar
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSEventManager::DoProcessStoredEvent wxFSW_EVENT_MODIFY")); }
}
break;
case wxFSW_EVENT_ATTRIB:
// IN_ATTRIB may mean that the access time has altered, and so affects a tree sorted by datetime. Similarly owner/group/permissions. Also that item's display ofc.
// Otherwise I don't think we care. There is the issue described in http://linux-unix.itags.org/q_linux-unix_132584.html of someone watching a file that
// gets a new hard link to it created, then the original file is deleted. In that case the link count is the only hint. But how often does that happen?
if (isright)
{ if (wxStaticCast(m_owner, FileGenericDirCtrl)->UpdateTreeFileAttrib(filepath) == false) // If it doesn't recreate the tree,
m_owner->UpdateTree(IET_attribute, filepath, filepath); // just update the affected item
}
break;
case wxFSW_EVENT_RENAME:
{FileData fd(newfilepath); // NB!! This will only be valid if newpath exists i.e. if oldfp != newfp
// We don't want file renames in a dirview
if (isright || (fd.IsValid() && fd.IsDir()))
m_owner->UpdateTree(IET_rename, filepath, newfilepath);
if (isleft) // AFAICT we only get dir renames in a single 'view'. That leaves the other view with stale paths
{ if (fd.IsDir()) // We don't want to do this for symlinks-to-dir, as somehow that causes "Already watched" asserts
m_owner->m_watcher->RefreshWatch(filepath, newfilepath); // Update what paths are watched, but only for dir renames
}
else if (fd.IsValid() && fd.IsDir())
m_owner->partner->m_watcher->RefreshWatch(filepath, newfilepath);
break;}
case wxFSW_EVENT_DELETE: /*IN_DELETE, IN_DELETE_SELF or IN_MOVE_SELF (both in & out)*/
if (isleft || (StripSep(filepath) != StripSep(m_owner->startdir))) // We can't cope with a deleted fileview startdir; we don't know our new startdir. Wait for partner
m_owner->UpdateTree(IET_delete, filepath, filepath);
break;
case wxFSW_EVENT_UNMOUNT:
if (isleft)
{ if (wxStaticCast(m_owner, DirGenericDirCtrl)->IsDirVisible(filepath)) // Don't refresh for every event; multiple child dirs result in a *very* noisy fileview
wxStaticCast(m_owner, DirGenericDirCtrl)->GetBestValidHistoryItem(filepath);
}
break;
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSEventManager::DoProcessStoredEvent")); }
}
void MyFSEventManager::ClearStoredEvents() // Clear the data e.g. if we're entering an archive, otherwise we'll block on exit
{
while (m_Eventmap.size())
{ delete m_Eventmap.begin()->second; m_Eventmap.erase(m_Eventmap.begin()); }
m_Eventmap.clear();
m_EventSent = false;
}
#endif // defined(__LINUX__) && defined(__WXGTK__)
4pane-5.0/INSTALL 0000644 0001750 0001750 00000004231 12352237012 010334 0000000 0000000 *** Installing from a package ***
If there's a 4Pane package for your distro e.g. .deb or .rpm, just install this in the usual way. 4Pane depends on the wxWidgets toolkit, so this package must also be installed: it will probably be called libwxgtk2.0 or similar.
*** Installing from a tarball ***
If there is no package available, or if you prefer to build your own software, you can use the 4Pane tarball. First you'll need to download and build wxWidgets. Get the latest stable version from http://www.wxwidgets.org/downloads/ and extract it. Make a new subdirectory in the wxWidgets source directory, and cd into it. Then in the console do:
../configure --with-gtk --enable-unicode
(You can optionally add --enable-debug)
Look at the output; the commonest problem is missing the gtk development lib, which will be called something like libgtk2.0-dev. Once configure has worked, do 'make'; wait 10 minutes or so for this to finish, then su; make install; ldconfig
You can now build 4Pane in the standard way: extract the tarball, then ./configure; make; su; make install. (For options strange and rare, do ./configure --help or read the file PACKAGERS.)
There should now be a desktop shortcut to launch 4Pane; or you can type '4Pane' in a console.
If 4Pane fails to run, giving a message like: "Error while loading shared libraries: libwxFOO-2.8.so.0: cannot open shared object file: No such file or directory", the chances are that the name of your distro ends in 'buntu' ;). If so you need the following line in your console (or, more permanently, in your ~/.bashrc file): export LD_LIBRARY_PATH=/usr/local/lib
*** Which version of wxWidgets to use? ***
Any currently-available version starting from wxGTK-2.8.0. However I suggest you use the most recent stable release.
A note about older versions of 4Pane. Prior to version 0.7.0, 4Pane would work with any version of wxWidgets from 2.4.0; but you should have used at least 2.6. Older versions than this will not build using the tarball's 'configure' (there's an alternative tarball/configure that should work: see http://www.4Pane.co.uk/0.6.0/Installing242.htm); and if 4Pane is built on older versions, it can't peek into archives.
4pane-5.0/MyTreeCtrl.cpp 0000644 0001750 0001750 00000226272 13130122702 012046 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: MyTreeCtrl.cpp
// Purpose: Tree and Treelistctrl.
// Derived: The listctrl parts adapted from wxTreeListCtrl (c) Alberto Griggio, Otto Wyss
// See: http://wxcode.sourceforge.net/components/treelistctrl/
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/log.h"
#include "wx/dirctrl.h"
#include "wx/dragimag.h"
#include "wx/renderer.h"
#include "wx/filename.h"
#ifdef __WXGTK__
#include
#endif
#include "MyGenericDirCtrl.h"
#include "Dup.h"
#include "MyFiles.h"
#include "MyDirs.h"
#include "MyFrame.h"
#include "Filetypes.h"
#include "Redo.h"
#include "Devices.h"
#include "MyTreeCtrl.h"
#include "Accelerators.h"
#include "bitmaps/include/columnheaderdown.xpm" // // Icons for the fileview columns, selected & selected-reverse-sort
#include "bitmaps/include/columnheaderup.xpm"
#if wxVERSION_NUMBER < 2900 // to avoid compiler warnings: only defined in 2.9
#define wxUSE_NEW_DC 0
#endif
class WXDLLEXPORT wxGenericTreeItem;
WX_DEFINE_EXPORTED_ARRAY(wxGenericTreeItem *, wxArrayGenericTreeItems);
enum { ColDownIcon = 0, ColUpIcon }; // These are the indices of the Down/Up column icons within HeaderimageList
class WXDLLEXPORT wxGenericTreeItem
{
public:
// ctors & dtor
wxGenericTreeItem() { m_data = NULL; }
wxGenericTreeItem(wxGenericTreeItem *parent,
const wxString& text,
int image,
int selImage,
wxTreeItemData *data);
~wxGenericTreeItem();
// trivial accessors
wxArrayGenericTreeItems& GetChildren() { return m_children; }
const wxString& GetText() const { return m_text; }
int GetImage(wxTreeItemIcon which = wxTreeItemIcon_Normal) const
{ return m_images[which]; }
wxTreeItemData *GetData() const { return m_data; }
// returns the current image for the item (depending on its
// selected/expanded/whatever state)
int GetCurrentImage() const;
void SetText(const wxString &text);
void SetImage(int image, wxTreeItemIcon which) { m_images[which] = image; }
void SetData(wxTreeItemData *data) { m_data = data; }
void SetHasPlus(bool has = true) { m_hasPlus = has; }
void SetBold(bool bold) { m_isBold = bold; }
int GetX() const { return m_x; }
int GetY() const { return m_y; }
void SetX(int x) { m_x = x; }
void SetY(int y) { m_y = y; }
int GetHeight() const { return m_height; }
int GetWidth() const { return m_width; }
void SetHeight(int h) { m_height = h; }
void SetWidth(int w) { m_width = w; }
wxGenericTreeItem *GetParent() const { return m_parent; }
// operations
// deletes all children notifying the treectrl about it if !NULL pointer given
void DeleteChildren(wxGenericTreeCtrl *tree = NULL);
// get count of all children (and grand children if 'recursively')
size_t GetChildrenCount(bool recursively = true) const;
void Insert(wxGenericTreeItem *child, size_t index)
{ m_children.Insert(child, index); }
void GetSize(int &x, int &y, const wxGenericTreeCtrl*);
// return the item at given position (or NULL if no item), onButton is
// true if the point belongs to the item's button, otherwise it lies
// on the button's label
wxGenericTreeItem *HitTest(const wxPoint& point,
const wxGenericTreeCtrl *,
int &flags,
int level);
void Expand() { m_isCollapsed = false; }
void Collapse() { m_isCollapsed = true; }
void SetHilight(bool set = true) { m_hasHilight = set; }
// status inquiries
bool HasChildren() const { return !m_children.IsEmpty(); }
bool IsSelected() const { return m_hasHilight != 0; }
bool IsExpanded() const { return !m_isCollapsed; }
bool HasPlus() const { return m_hasPlus || HasChildren(); }
bool IsBold() const { return m_isBold != 0; }
// attributes
// get them - may be NULL
wxTreeItemAttr *GetAttributes() const { return m_attr; }
// get them ensuring that the pointer is not NULL
wxTreeItemAttr& Attr()
{
if (!m_attr)
{
m_attr = new wxTreeItemAttr;
m_ownsAttr = true;
}
return *m_attr;
}
// set them
void SetAttributes(wxTreeItemAttr *attr)
{
if (m_ownsAttr) delete m_attr;
m_attr = attr;
m_ownsAttr = false;
}
// set them and delete when done
void AssignAttributes(wxTreeItemAttr *attr)
{
SetAttributes(attr);
m_ownsAttr = true;
}
private:
// since there can be very many of these, we save size by chosing
// the smallest representation for the elements and by ordering
// the members to avoid padding.
wxString m_text; // label to be rendered for item
wxTreeItemData *m_data; // user-provided data
#if wxVERSION_NUMBER >= 2900
int m_state; // item state New in 2.9, and causes a crash if it's not there. Presumably because the object size is changed
#endif
#if wxVERSION_NUMBER >= 2811 // Ditto new in 2.8.11
int m_widthText;
int m_heightText;
#endif
wxArrayGenericTreeItems m_children; // list of children
wxGenericTreeItem *m_parent; // parent of this item
wxTreeItemAttr *m_attr; // attributes???
// tree ctrl images for the normal, selected, expanded and
// expanded+selected states
int m_images[wxTreeItemIcon_Max];
wxCoord m_x; // (virtual) offset from top
wxCoord m_y; // (virtual) offset from left
int m_width; // width of this item
int m_height; // height of this item
// use bitfields to save size
int m_isCollapsed :1;
int m_hasHilight :1; // same as focused
int m_hasPlus :1; // used for item which doesn't have
// children but has a [+] button
int m_isBold :1; // render the label in bold font
int m_ownsAttr :1; // delete attribute when done
};
//-----------------------------------------------------------------------------
// Originally wxTreeListHeaderWindow from wxTreeListCtrl
//-----------------------------------------------------------------------------
#include
WX_DEFINE_OBJARRAY(wxArrayTreeListColumnInfo);
IMPLEMENT_DYNAMIC_CLASS(TreeListHeaderWindow,wxWindow);
TreeListHeaderWindow::TreeListHeaderWindow()
{
Init();
m_owner = (MyTreeCtrl*) NULL;
m_resizeCursor = (wxCursor*) NULL;
}
TreeListHeaderWindow::TreeListHeaderWindow(wxWindow *win,
wxWindowID id,
MyTreeCtrl* owner,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString &name)
: wxWindow(win, id, pos, size, style, name)
{
Init();
m_owner = owner;
m_resizeCursor = new wxCursor(wxCURSOR_SIZEWE);
p_BackgroundColour = wxGetApp().GetBackgroundColourUnSelected(); // //
}
TreeListHeaderWindow::~TreeListHeaderWindow()
{
delete m_resizeCursor;
}
void TreeListHeaderWindow::Init()
{
m_currentCursor = (wxCursor*) NULL;
m_isDragging = false;
m_dirty = false;
m_total_col_width = 0; // // (Originally this wasn't given a default)
selectedcolumn = filename; // // The next 2 should be set by config but let's give them sensible defaults anyway
reversesort = false;
}
#if !defined(__WXX11__)
#if wxVERSION_NUMBER >= 2900 && !defined(__WXGTK20__)
#include "wx/gtk1/dcclient.h"
#else
#if wxVERSION_NUMBER < 2900
#include "wx/gtk/dc.h"
#endif
#endif
#endif
#if wxVERSION_NUMBER < 2900
void TreeListHeaderWindow::DoDrawRect(wxDC *dc, int x, int y, int w, int h)
{
#ifdef __WXGTK__
GtkStateType state = m_parent->IsEnabled() ? GTK_STATE_NORMAL
: GTK_STATE_INSENSITIVE;
x = dc->LogicalToDeviceX(x);
#if wxVERSION_NUMBER >= 2701
// // The old-style way of doing things stopped working for gtk1.2 in 2.7.1 and above
// // as GTK_PIZZA(m_wxwindow)->bin_window returns rubbish, leading to a segfault
// // This was taken from wxRendererGTK::DrawHeaderButton in renderer.cpp, and works for both gtk.s
// // The wxUSE_NEW_DC is new in 2.9, only for gtk2 atm
GdkWindow* gdk_window = NULL;
#if wxUSE_NEW_DC && defined(__WXGTK20__)
wxDCImpl *impl = dc->GetImpl();
wxGTKDCImpl *gtk_impl = wxDynamicCast(impl, wxGTKDCImpl);
if (gtk_impl)
gdk_window = gtk_impl->GetGDKWindow();
#else // !(wxUSE_NEW_DC && defined(__WXGTK20__))
#if wxVERSION_NUMBER >= 2900 // This is for gtk1.2 in 2.9
wxWindowDCImpl * const impl = wxDynamicCast(dc->GetImpl(), wxWindowDCImpl);
wxCHECK_RET(impl, "must have a window DC");
gdk_window = impl->GetGDKWindow();
#else
gdk_window = dc->GetGDKWindow();
#endif //wxVERSION_NUMBER >= 2900
#endif //wxUSE_NEW_DC && defined(__WXGTK20__)
wxASSERT_MSG(gdk_window,
wxT("cannot use wxRendererNative on wxDC of this type"));
gtk_paint_box (m_wxwindow->style, gdk_window,
state, GTK_SHADOW_OUT,
(GdkRectangle*) NULL, m_wxwindow, "button",
x-1, y-1, w+2, h+2);
#else //!wxVERSION_NUMBER >= 2701
gtk_paint_box (m_wxwindow->style, GTK_PIZZA(m_wxwindow)->bin_window,
state, GTK_SHADOW_OUT,
(GdkRectangle*) NULL, m_wxwindow, "button",
x-1, y-1, w+2, h+2);
#endif // wxVERSION_NUMBER >= 2701
#elif defined(__WXMAC__)
const int m_corner = 1;
dc->SetBrush(*wxTRANSPARENT_BRUSH);
dc->SetPen(wxPen(wxSystemSettings::GetSystemColour(
wxSYS_COLOUR_BTNSHADOW), 1, wxSOLID));
dc->DrawLine(x+w-m_corner+1, y, x+w, y+h); // right (outer)
dc->DrawRectangle(x, y+h, w+1, 1); // bottom (outer)
wxPen pen(wxColour(0x88 , 0x88 , 0x88), 1, wxSOLID);
dc->SetPen(pen);
dc->DrawLine(x+w-m_corner, y, x+w-1, y+h); // right (inner)
dc->DrawRectangle(x+1, y+h-1, w-2, 1); // bottom (inner)
dc->SetPen(*wxWHITE_PEN);
dc->DrawRectangle(x, y, w-m_corner+1, 1); // top (outer)
dc->DrawRectangle(x, y, 1, h); // left (outer)
dc->DrawLine(x, y+h-1, x+1, y+h-1);
dc->DrawLine(x+w-1, y, x+w-1, y+1);
#else // !GTK, !Mac
const int m_corner = 1;
dc->SetBrush(*wxTRANSPARENT_BRUSH);
dc->SetPen(*wxBLACK_PEN);
dc->DrawLine(x+w-m_corner+1, y, x+w, y+h); // right (outer)
dc->DrawRectangle(x, y+h, w+1, 1); // bottom (outer)
wxPen pen(wxSystemSettings::GetColour(
wxSYS_COLOUR_BTNSHADOW), 1, wxSOLID);
dc->SetPen(pen);
dc->DrawLine(x+w-m_corner, y, x+w-1, y+h); // right (inner)
dc->DrawRectangle(x+1, y+h-1, w-2, 1); // bottom (inner)
dc->SetPen(*wxWHITE_PEN);
dc->DrawRectangle(x, y, w-m_corner+1, 1); // top (outer)
dc->DrawRectangle(x, y, 1, h); // left (outer)
dc->DrawLine(x, y+h-1, x+1, y+h-1);
dc->DrawLine(x+w-1, y, x+w-1, y+1);
#endif
}
#endif // wxVERSION_NUMBER < 2900
// shift the DC origin to match the position of the main window horz
// scrollbar: this allows us to always use logical coords
void TreeListHeaderWindow::AdjustDC(wxDC& dc)
{
int xpix;
m_owner->GetScrollPixelsPerUnit(&xpix, NULL);
int x;
m_owner->GetViewStart(&x, NULL);
// account for the horz scrollbar offset
dc.SetDeviceOrigin(-x * xpix, 0);
}
void TreeListHeaderWindow::OnPaint(wxPaintEvent &WXUNUSED(event))
{
static const int HEADER_OFFSET_X = 1, HEADER_OFFSET_Y = 1;
#ifdef __WXGTK__
wxClientDC dc(this);
#else
wxPaintDC dc(this);
#endif
PrepareDC(dc);
AdjustDC(dc);
// //dc.BeginDrawing();
dc.SetFont(GetFont());
// width and height of the entire header window
int w, h;
GetClientSize(&w, &h);
m_owner->CalcUnscrolledPosition(w, 0, &w, NULL);
dc.SetBackgroundMode(wxTRANSPARENT);
// do *not* use the listctrl colour for headers - one day we will have a
// function to set it separately
//dc.SetTextForeground(*wxBLACK);
dc.SetTextForeground(wxSystemSettings::
GetColour(wxSYS_COLOUR_WINDOWTEXT)); // //
SetBackgroundColour(*p_BackgroundColour); // //
int x = HEADER_OFFSET_X;
int numColumns = GetColumnCount();
for (int i = 0; i < numColumns && x < w; i++)
{
wxTreeListColumnInfo& column = GetColumn(i);
int wCol = column.GetWidth();
// the width of the rect to draw: make it smaller to fit entirely
// inside the column rect
int cw = wCol - 2;
dc.SetPen(*wxWHITE_PEN);
#if wxVERSION_NUMBER >= 2900
wxRendererNative& renderer = wxRendererNative::Get();
renderer.DrawHeaderButton(this, dc, wxRect(x, HEADER_OFFSET_Y, cw, h-2));
#else
DoDrawRect(&dc, x, HEADER_OFFSET_Y, cw, h-2);
#endif
// if we have an image, draw it on the right of the label // // except that I want it in the middle --- see below
int image = column.GetImage(); //item.m_image;
int ix = -2, iy = 0;
wxImageList* imageList = m_owner->HeaderimageList; // // m_owner->GetImageList(); I've had to make my own list, as my bitmaps are 16*10, not 16*16
if(image != -1) {
if(imageList) {
imageList->GetSize(image, ix, iy);
}
//else: ignore the column image
}
// extra margins around the text label
static const int EXTRA_WIDTH = 3;
static const int EXTRA_HEIGHT = 4;
int text_width = 0;
int text_x = x;
// // int image_offset = cw - ix - 1;
int image_offset = (cw - ix)/2; // // The way to get a central image
switch(column.GetAlignment()) {
case wxTL_ALIGN_LEFT:
text_x += EXTRA_WIDTH;
cw -= ix + 2;
break;
case wxTL_ALIGN_RIGHT:
dc.GetTextExtent(column.GetText(), &text_width, NULL);
text_x += cw - text_width - EXTRA_WIDTH;
image_offset = 0;
break;
case wxTL_ALIGN_CENTER:
dc.GetTextExtent(column.GetText(), &text_width, NULL);
text_x += (cw - text_width)/2 + ix + 2;
image_offset = (cw - text_width - ix - 2)/2;
break;
}
// draw the image
if(image != -1 && imageList) {
imageList->Draw(image, dc, x + image_offset/*cw - ix - 1*/,
HEADER_OFFSET_Y + (h - 4 - iy)/2,
wxIMAGELIST_DRAW_TRANSPARENT);
}
// draw the text clipping it so that it doesn't overwrite the column
// boundary
wxDCClipper clipper(dc, x, HEADER_OFFSET_Y, cw, h - 4);
dc.DrawText(column.GetText(),
text_x, HEADER_OFFSET_Y + EXTRA_HEIGHT);
x += wCol;
}
// //dc.EndDrawing();
}
void TreeListHeaderWindow::DrawCurrent()
{
int x1 = m_currentX;
int y1 = 0;
ClientToScreen(&x1, &y1);
int x2 = m_currentX-1;
#ifdef __WXMSW__
++x2; // but why ?
#endif
int y2 = 0;
m_owner->GetClientSize(NULL, &y2);
m_owner->ClientToScreen(&x2, &y2);
wxScreenDC dc;
dc.SetLogicalFunction(wxINVERT);
#if wxVERSION_NUMBER < 2900
dc.SetPen(wxPen(*wxBLACK, 2, wxSOLID));
#else
dc.SetPen(wxPen(*wxBLACK, 2, wxPENSTYLE_SOLID));
#endif
dc.SetBrush(*wxTRANSPARENT_BRUSH);
AdjustDC(dc);
dc.DrawLine(x1, y1, x2, y2);
dc.SetLogicalFunction(wxCOPY);
dc.SetPen(wxNullPen);
dc.SetBrush(wxNullBrush);
}
void TreeListHeaderWindow::OnMouse(wxMouseEvent &event)
{
// we want to work with logical coords
int x;
m_owner->CalcUnscrolledPosition(event.GetX(), 0, &x, NULL);
int y = event.GetY();
if (m_isDragging)
{
SendListEvent(wxEVT_COMMAND_LIST_COL_DRAGGING,
event.GetPosition());
// we don't draw the line beyond our window, but we allow dragging it
// there
int w = 0;
GetClientSize(&w, NULL);
m_owner->CalcUnscrolledPosition(w, 0, &w, NULL);
w -= 6;
// erase the line if it was drawn
if (m_currentX < w)
DrawCurrent();
if (event.ButtonUp())
{
ReleaseMouse();
m_isDragging = false;
m_dirty = true;
size_t newwidth = wxMax((m_currentX - m_minX), 10); // // Find the new width --- may be negative, so don't let it get too small
int widthchange = newwidth - GetColumnWidth(m_column);
if (m_column == GetLastVisibleCol() && newwidth-current > 0) // // If we're trying to drag-bigger the last visible column,
{ newwidth += widthchange * 2; // // double the increment as the tiny drag-onto-able space makes it so slow otherwise
m_columns[m_column].SetDesiredWidth(newwidth); // // and make it stick
}
SetColumnWidth(m_column, newwidth);
SizeColumns(); // //
Refresh();
SendListEvent(wxEVT_COMMAND_LIST_COL_END_DRAG,
event.GetPosition());
}
else
{
if (x > m_minX + 7)
m_currentX = x;
else
m_currentX = m_minX + 7;
// draw in the new location
if (m_currentX < w)
DrawCurrent();
}
}
else // not dragging
{
#if wxVERSION_NUMBER > 2503 // // As ContextMenu events don't seem to get to the headerwindow otherwise
if (event.RightUp())
{ int xpos = 0, clm = 0; // find the column where this event occured
for (size_t col = 0; col < GetColumnCount(); ++col)
{ if (IsHidden(col)) continue;
xpos += GetColumnWidth(col);
clm = col;
if (x < xpos)
break; // inside the column
}
wxContextMenuEvent conevent(wxEVT_CONTEXT_MENU, clm, ClientToScreen(event.GetPosition()));
return ShowContextMenu(conevent);
}
#endif
m_minX = 0;
bool hit_border = false;
// end of the current column
int xpos = 0;
// find the column where this event occured
int countCol = GetColumnCount();
for (int col = 0; col < countCol; col++)
{
if (IsHidden(col)) continue; // // I've 'hidden' some cols by giving them widths of zero. This takes it into account
xpos += GetColumnWidth(col);
m_column = col;
if ((abs(x-xpos) < 3) && (y < (HEADER_HEIGHT-1))) // // I've changed "y <" comparator to HEADER_HEIGHT-1: originally the figure 22 was given
{
// near the column border
hit_border = true;
break;
}
if (x < xpos)
{
// inside the column
break;
}
m_minX = xpos;
}
if (event.LeftDown() /*|| event.RightUp()*/) // // I've grabbed RtUp earlier to fire the context menu. What it was doing here anyway?
{
if (hit_border/* && event.LeftDown()*/) // // See above comment
{
m_isDragging = true;
m_currentX = x;
DrawCurrent();
CaptureMouse();
SendListEvent(wxEVT_COMMAND_LIST_COL_BEGIN_DRAG,
event.GetPosition());
}
else // click on a column
{
SendListEvent(event.LeftDown()
? wxEVT_COMMAND_LIST_COL_CLICK
: wxEVT_COMMAND_LIST_COL_RIGHT_CLICK,
event.GetPosition());
}
}
else if (event.Moving())
{
bool setCursor;
if (hit_border)
{
setCursor = m_currentCursor == wxSTANDARD_CURSOR;
m_currentCursor = m_resizeCursor;
}
else
{
setCursor = m_currentCursor != wxSTANDARD_CURSOR;
m_currentCursor = (wxCursor*)wxSTANDARD_CURSOR;
}
if (setCursor)
SetCursor(*m_currentCursor);
}
}
}
int TreeListHeaderWindow::GetNextVisibleCol(int currentcolumn) // // Finds the next column with non-zero width
{
int colcount = GetColumnCount(); if (!colcount || currentcolumn==(colcount-1)) return -1;
for (int col=currentcolumn+1; col < colcount; ++col)
if (!IsHidden(col)) return col;
return -1;
}
int TreeListHeaderWindow::GetLastVisibleCol() // // Finds the last column with non-zero width. 0 flags failure (but shouldn't happen!)
{
int colcount = GetColumnCount(); if (!colcount) return 0; // Shouldn't happen as col 0 will always exist & be visible
for (int col=colcount; col > 0; --col)
if (!IsHidden(col-1)) return col-1;
return 0;
}
int TreeListHeaderWindow::GetTotalPreferredWidth() // // Omits the extra amount added to the last column to fill the whole client-size
{
int lastvisiblecol = GetLastVisibleCol();// if (!lastvisiblecol) return GetWidth();
return GetWidth() - (GetColumnWidth(lastvisiblecol) - GetColumnDesiredWidth(lastvisiblecol));
}
void TreeListHeaderWindow::OnSetFocus(wxFocusEvent &WXUNUSED(event))
{
m_owner->SetFocus();
}
void TreeListHeaderWindow::ShowIsFocused(bool focus)
{
p_BackgroundColour = (focus ? wxGetApp().GetBackgroundColourSelected(true) : wxGetApp().GetBackgroundColourUnSelected());
Refresh();
}
void TreeListHeaderWindow::SendListEvent(wxEventType type, wxPoint pos,
int column/*=-1*/) // // I've added int column, as otherwise we have a problem when the event refers to hiding a col
{
wxWindow *parent = GetParent();
wxListEvent le(type, parent->GetId());
le.SetEventObject(parent);
le.m_pointDrag = pos;
// the position should be relative to the parent window, not
// this one for compatibility with MSW and common sense: the
// user code doesn't know anything at all about this header
// window, so why should it get positions relative to it?
le.m_pointDrag.y -= GetSize().y;
if (column == -1) // //
le.m_col = m_column;
else le.m_col = -1; // // Otherwise pass an intentionally invalid column. This tells FileGenericDirCtrl::HeaderWindowClicked() not to (re)reverse the column
parent->GetEventHandler()->ProcessEvent(le);
}
void TreeListHeaderWindow::AddColumn(const wxTreeListColumnInfo& col)
{
m_columns.Add(col);
m_total_col_width += col.GetWidth();
//m_owner->GetHeaderWindow()->Refresh();
//m_dirty = true;
//SizeColumns(); // //
m_owner->AdjustMyScrollbars();
m_owner->m_dirty = true;
Refresh();
}
void TreeListHeaderWindow::SetColumnWidth(size_t column, size_t width)
{
if(column < GetColumnCount()) {
m_total_col_width -= m_columns[column].GetWidth();
m_columns[column].SetWidth(width);
m_total_col_width += width;
// // m_owner->AdjustMyScrollbars(); (Don't bother: this is always done afterwards by the calling functions)
m_owner->m_dirty = true;
//m_dirty = true;
Refresh();
}
}
void TreeListHeaderWindow::InsertColumn(size_t before,
const wxTreeListColumnInfo& col)
{
wxCHECK_RET(before < GetColumnCount(), _("Invalid column index"));
m_columns.Insert(col, before);
m_total_col_width += col.GetWidth();
//m_dirty = true;
//m_owner->GetHeaderWindow()->Refresh();
SizeColumns(); // //
// //m_owner->AdjustMyScrollbars();
m_owner->m_dirty = true;
Refresh();
}
void TreeListHeaderWindow::RemoveColumn(size_t column)
{
wxCHECK_RET(column < GetColumnCount(), _("Invalid column"));
m_total_col_width -= m_columns[column].GetWidth();
m_columns.RemoveAt(column);
//m_dirty = true;
SizeColumns(); // //
// //m_owner->AdjustMyScrollbars();
m_owner->m_dirty = true;
Refresh();
}
void TreeListHeaderWindow::SetColumn(size_t column,
const wxTreeListColumnInfo& info)
{
wxCHECK_RET(column < GetColumnCount(), _("Invalid column"));
size_t w = m_columns[column].GetWidth();
m_columns[column] = info;
//m_owner->GetHeaderWindow()->Refresh();
//m_dirty = true;
if(w != info.GetWidth()) {
m_total_col_width += info.GetWidth() - w;
SizeColumns(); // //
// //m_owner->AdjustMyScrollbars();
m_owner->m_dirty = true;
}
Refresh();
}
void TreeListHeaderWindow::ToggleColumn(int col) // // If it's hidden, show it & vice versa
{
if (IsHidden(col)) ShowColumn(col);
else ShowColumn(col, false);
}
void TreeListHeaderWindow::ShowColumn(int col, bool show /*=true*/) // // Show (or hide) the relevant column
{
if (IsHidden(col) == !show) return; // If it's already doing what we want, wave goodbye
int width;
if (show)
{ int last = GetLastVisibleCol();
if (col > last) // If the newly-shown column will become the last visible,
{ if (GetColumnDesiredWidth(last) > 0) // we must adjust the current last col first, otherwise it'll never revert to its preferred width
SetColumnWidth(last, GetColumnDesiredWidth(last));
else
SetColumnWidth(last, m_owner->GetCharWidth() * DEFAULT_COLUMN_WIDTHS[last]);
}
width = GetColumnDesiredWidth(col); // We need to know how big to make it
if (width <= 0) width = m_owner->GetCharWidth() * DEFAULT_COLUMN_WIDTHS[col]; // If there's no valid size, use default, adjusted for fontsize
}
else
{ width = 0; // Hiding means zero width
if (GetSelectedColumn() == col)
{ SelectColumn(0); // If this col is currently selected, select col 0 instead
SendListEvent(wxEVT_COMMAND_LIST_COL_CLICK, wxPoint(0,0), -2); // This tells the fileview not to re-order the files by col, as we just did
}
}
SetColumnWidth(col, width); // This also sets/resets the ishidden flag
if (show) SizeColumns();
else ((FileGenericDirCtrl*)m_owner->GetParent())->DoSize();
m_dirty = true; // We'll need to refresh the column display, as some names may be differently clipped
}
void TreeListHeaderWindow::SetSelectedColumn(size_t col) // // Sets the selected column, the one that controls Sorting
{
GetColumn(GetSelectedColumn()).SetImage(-1); // Turn off the image from the previously-selected column
selectedcolumn = (enum columntype)col;
}
void TreeListHeaderWindow::SelectColumn(int col)
{
ShowColumn(col); // Better make sure it's visible!
SetSortOrder(0); // In case we were previously reverse-sorting, set to normal
SetSelectedColumn(col);
GetColumn(col).SetImage(ColDownIcon);
Refresh();
}
bool TreeListHeaderWindow::SetSortOrder(int order /*=-1*/) // // Set whether we're reverse-sorting. If no parameter, negates sort-order
{
switch(order)
{ case 0: reversesort = false; return reversesort; // If 0, set order to normal
case 1: reversesort = true; return reversesort; // If 1, set order to reverse
default: reversesort = !reversesort; return reversesort; // Otherwise reverse the current order
}
}
void TreeListHeaderWindow::SetSelectedColumnImage(bool order) // // Sets the correct up/down image according to sort-order parameter
{
GetColumn(GetSelectedColumn()).SetImage(ColDownIcon + order);
Refresh();
}
void TreeListHeaderWindow::ReverseSelectedColumn()
{
SetSelectedColumnImage(SetSortOrder()); // Calling SetSortOrder() to get the parameter has the effect of toggling reverse
}
void TreeListHeaderWindow::SizeColumns() // // Resize the last visible col to occupy any spare space
{
size_t colcount = GetColumnCount(); if (!colcount) return;
int width, h; GetClientSize(&width, &h);
int diff = width - m_total_col_width; // Is the new width > or < than the previous value?
if (diff == 0) return; // If ISQ, not much to do
int lastvisiblecol = GetLastVisibleCol();
if (diff < 0) // If negative, reduce the last col's width towards its preferred value if currently higher
{ int spare = GetColumnWidth(lastvisiblecol) - GetColumnDesiredWidth(lastvisiblecol);
if (spare > 0)
SetColumnWidth(lastvisiblecol, GetColumnWidth(lastvisiblecol) - wxMin(abs(diff), spare));
}
else
SetColumnWidth(lastvisiblecol, GetColumnWidth(lastvisiblecol) + diff); // Otherwise just dump the spare space onto the last visible col, to avoid a silly-looking blank
m_owner->AdjustMyScrollbars();
Refresh();
}
void TreeListHeaderWindow::ShowContextMenu(wxContextMenuEvent& event) // // Menu to choose which columns to display
{
int columns[] = { SHCUT_SHOW_COL_EXT, SHCUT_SHOW_COL_SIZE, SHCUT_SHOW_COL_TIME, SHCUT_SHOW_COL_PERMS, SHCUT_SHOW_COL_OWNER,
SHCUT_SHOW_COL_GROUP, SHCUT_SHOW_COL_LINK, wxID_SEPARATOR, SHCUT_SHOW_COL_ALL, SHCUT_SHOW_COL_CLEAR };
wxMenu colmenu;
colmenu.SetClientData((wxClientData*)this); // In >wx2.8 we must store ourself in the menu, otherwise MyFrame::DoColViewUI can't work out who we are
for (size_t n=0; n < 10; ++n)
{ MyFrame::mainframe->AccelList->AddToMenu(colmenu, columns[n], wxEmptyString, (n < 7 ? wxITEM_CHECK : wxITEM_NORMAL));
#ifdef __WXX11__
if (n < 7) colmenu.Check(columns[n], !IsHidden(n+1)); // The usual updateui way of doing this doesn't work in X11
#endif
}
if (event.GetId() == 1) // If the right-click was over the 'ext' menu, add a submenu
{ int extsubmenu[] = { SHCUT_EXT_FIRSTDOT, SHCUT_EXT_MIDDOT, SHCUT_EXT_LASTDOT };
wxMenu* submenu = new wxMenu(_("An extension starts at the filename's..."));
for (size_t n=0; n < 3; ++n)
MyFrame::mainframe->AccelList->AddToMenu(*submenu, extsubmenu[n], wxEmptyString, wxITEM_RADIO);
MyFrame::mainframe->AccelList->AddToMenu(colmenu, wxID_SEPARATOR);
colmenu.AppendSubMenu(submenu, _("Extension definition..."));
submenu->FindItem(extsubmenu[EXTENSION_START])->Check();
}
colmenu.SetTitle(wxT("Columns to Display"));
wxPoint pt = event.GetPosition();
ScreenToClient(&pt.x, &pt.y);
#ifdef __WXX11__
m_owner->PopupMenu(&colmenu, pt.x, 0); // In X11 a headerwindow doesn't seem to be able to maintain a popup window, so use the treectrl
#else
PopupMenu(&colmenu, pt.x, pt.y);
#endif
}
void TreeListHeaderWindow::OnExtSortMethodChanged(wxCommandEvent& event) // From the ext-column submenu of the context menu
{
switch(event.GetId() - SHCUT_EXT_FIRSTDOT)
{ case 0: EXTENSION_START = 0; break;
case 1: EXTENSION_START = 1; break;
case 2: EXTENSION_START = 2; break;
}
wxConfigBase::Get()->Write(wxT("/Misc/Display/EXTENSION_START"), (long)EXTENSION_START);
MyFrame::mainframe->RefreshAllTabs(NULL); // This makes all the fileviews update
}
void TreeListHeaderWindow::OnColumnSelectMenu(wxCommandEvent& event)
{
bool flag; // First deal with ShowAll and Clear
if ((flag = (event.GetId() == SHCUT_SHOW_COL_ALL)) || (event.GetId() == SHCUT_SHOW_COL_CLEAR))
{ for (size_t col = 1; col < TOTAL_NO_OF_FILEVIEWCOLUMNS; ++col)
ShowColumn(col, flag);
return;
}
// Otherwise it's a straight-forward column-toggle
size_t col = event.GetId() - SHCUT_SHOW_COL_EXT + 1; // +1 because Name column is always visible
if (col > TOTAL_NO_OF_FILEVIEWCOLUMNS) return; // Sanity check
ToggleColumn(col);
}
BEGIN_EVENT_TABLE(TreeListHeaderWindow,wxWindow)
EVT_PAINT (TreeListHeaderWindow::OnPaint)
EVT_MOUSE_EVENTS (TreeListHeaderWindow::OnMouse)
EVT_SET_FOCUS (TreeListHeaderWindow::OnSetFocus)
EVT_MENU_RANGE(SHCUT_SHOW_COL_EXT, SHCUT_SHOW_COL_CLEAR, TreeListHeaderWindow::OnColumnSelectMenu)
EVT_MENU_RANGE(SHCUT_EXT_FIRSTDOT, SHCUT_EXT_LASTDOT, TreeListHeaderWindow::OnExtSortMethodChanged)
EVT_CONTEXT_MENU(TreeListHeaderWindow::ShowContextMenu)
END_EVENT_TABLE()
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
MyTreeCtrl::MyTreeCtrl(wxWindow *parentwin, wxWindowID id , const wxPoint& pos, const wxSize& size,
long style, const wxValidator &validator, const wxString& name)
: wxTreeCtrl(parentwin, id, pos, size, style, validator, name), m_dirty(false)
{
headerwindow = NULL; // To flag to premature OnIdle events that there's nothing safe to do
HeaderimageList = new wxImageList(16, 10, true); // This holds the down & up symbols for the header of the selected fileview column
HeaderimageList->Add(wxIcon(columnheaderdown_xpm));
HeaderimageList->Add(wxIcon(columnheaderup_xpm));
// >2.6.3 the gtk2 default was changed to no lines, and hard-coded into create! So we need to do this here, not by adjusting style
if (SHOW_TREE_LINES) SetWindowStyle(GetWindowStyle() & ~wxTR_NO_LINES);
else SetWindowStyle(GetWindowStyle() | wxTR_NO_LINES);
parent = (MyGenericDirCtrl*)parentwin;
IgnoreRtUp = false;
dragging = false;
startpt.x = startpt.y = 0;
CreateAcceleratorTable();
}
void MyTreeCtrl::CreateAcceleratorTable()
{
wxAcceleratorEntry entries[1];
MyFrame::mainframe->AccelList->FillEntry(entries[0], SHCUT_SELECTALL); // AcceleratorList supplies the keycode etc
wxAcceleratorTable accel(1, entries);
SetAcceleratorTable(accel);
}
void MyTreeCtrl::RecreateAcceleratorTable()
{
// It would be nice to be able to empty the old accelerator table before replacing it, but trying caused segfaulting!
CreateAcceleratorTable(); // Make a new one, with up-to-date data
}
void MyTreeCtrl::OnCtrlA(wxCommandEvent& event) // Does Select All on Ctrl-A
{
if (parent->fileview==ISLEFT) return; // I can't make it work properly for dir-views, & I'm not sure it's a good idea anyway --- select & delete whole filesystem?
if (!m_current) return; // Don't ask me why, but if there isn't a current selection, SelectItemRange segfaults
wxTreeItemIdValue cookie;
wxTreeItemId firstItem = GetFirstChild(GetRootItem(), cookie); // Use FirstChild as 1st item
if (!firstItem.IsOk()) return;
wxGenericTreeItem* first = (wxGenericTreeItem*)firstItem.m_pItem;
wxTreeItemId lastItem = GetLastChild(GetRootItem()); // & LastChild as last
if (!lastItem.IsOk()) return;
wxGenericTreeItem* last = (wxGenericTreeItem*)lastItem.m_pItem;
SelectItemRange(first, last);
}
void MyTreeCtrl::OnReceivingFocus(wxFocusEvent& event) // This tells grandparent window which of the 2 twin-ctrls is the one to consider active
{
if (!MyFrame::mainframe->SelectionAvailable) return; // If we're constructing/destructing, do nothing lest we break a non-existent window
parent->ParentTab->SetActivePane(parent); // This also stores the pane in FocusController
wxString selected = parent->GetPath();
parent->DisplaySelectionInTBTextCtrl(selected); // Take the opportunity also to display current selection in textctrl
MyFrame::mainframe->Layout->OnChangeDir(selected); // & the Terminal etc if necessary
if (parent->fileview == ISLEFT) // & in the statusbar
((DirGenericDirCtrl*)parent)->UpdateStatusbarInfo(selected);
else ((FileGenericDirCtrl*)parent)->UpdateStatusbarInfo(selected);
wxArrayString filepaths; ((DirGenericDirCtrl*)parent)->GetMultiplePaths(filepaths);
((DirGenericDirCtrl*)parent)->CopyToClipboard(filepaths, true); // FWIW, copy the filepath(s) to the primary selection too
if (headerwindow)
{ parent->ParentTab->SwitchOffHighlights(); // Start with a blank canvas
headerwindow->ShowIsFocused(true);
}
HelpContext = HCunknown;
event.Skip();
}
void MyTreeCtrl::OnLosingFocus(wxFocusEvent& event) // Unhighlights the headerwindow
{
if (headerwindow)
headerwindow->ShowIsFocused(false);
}
void MyTreeCtrl::AdjustForNumlock(wxKeyEvent& event) // The fix for the X11 Numlock problem
{
event.m_metaDown = false; // Makes it look as if numlock is off, so Accelerators are properly recognised
if (event.GetKeyCode() == WXK_ESCAPE) // This is used in DnD, to abort it if ESC pressed
MyFrame::mainframe->OnESC_Pressed();
event.Skip();
}
bool MyTreeCtrl::QueryIgnoreRtUp()
{
if (IgnoreRtUp)
{ IgnoreRtUp = false; return true; } // If we've been Rt-dragging, and now stopped, ignore the event so that we don't have a spurious context menu
else return false; // Otherwise proceed as normal
}
void MyTreeCtrl::OnMiddleDown(wxMouseEvent& event) // Allows middle-button paste
{
event.Skip();
int flags; wxTreeItemId item = HitTest(event.GetPosition(), flags); // Find out if we're on a tree item
if (item.IsOk()) SelectItem(item); // If so, select it so that any paste gets deposited there, not in any currently selected folder. That's _probably_ what's expected
wxCommandEvent cevent;
parent->OnShortcutPaste(cevent);
}
void MyTreeCtrl::OnLtDown(wxMouseEvent& event) // Start DnD pre-processing if we're near a selection
{
event.Skip(); // First allow base-class to process it
int flags; wxTreeItemId item = HitTest(event.GetPosition(), flags); // Find out if we're on a tree item
if (item.IsOk()) OnBeginDrag(event); // If so, if it's a selection start drag-processing
// If we're NOT near a selection, ignore
}
void MyTreeCtrl::OnMouseMovement(wxMouseEvent& event)
{
if (!event.Dragging())
{ if (dragging) ResetPreDnD(); // If we had been seeing whether or not to drag, & now here's a non-drag event, cancel start-up
if (SHOWPREVIEW)
{ if (parent->fileview==ISRIGHT)
{ int flags; wxTreeItemId item = HitTest(event.GetPosition(), flags);
if (item.IsOk())
{ wxDirItemData* data = (wxDirItemData*)GetItemData(item);
PreviewManager::ProcessMouseMove(item, flags, data->m_path, event);
}
}
else PreviewManager::Clear();
}
event.Skip(); return;
}
else
PreviewManager::Clear();
// If we're dragging but with the Rt button, do a multiple select if wxTR_MULTIPLE is true
if (event.RightIsDown() && !event.LeftIsDown())
{ if (!HasFlag(wxTR_MULTIPLE)) return; // Can't have multiple items selected so abort
int flags; wxArrayTreeItemIds selection;
wxTreeItemId item = HitTest(event.GetPosition(), flags); // Find out if we're on the level of a tree item
bool alreadyaselection = GetSelections(selection); // & whether or not the tree already has >0 items selected
if (item.IsOk() && !IsSelected(item)) // if we're on an item, & it isn't already selected
{ if (!alreadyaselection) // If there is currently no selection, select it
SelectItem(item);
else
DoSelectItem(item, false, true); // Otherwise extend the current selection
IgnoreRtUp = true;
}
return;
}
if (dragging) OnBeginDrag(event); // Otherwise, if pre-drag has been initiated, go to OnBeginDrag to continue it
}
#if wxVERSION_NUMBER >2503
void MyTreeCtrl::OnRtUp(wxMouseEvent& event) // In >wxGTK-2.5.3 the wxTreeCtrl has started to interfere with Context Events. This is a workaround
{
wxContextMenuEvent conevent(wxEVT_CONTEXT_MENU, wxID_ANY, ClientToScreen(event.GetPosition()));
if (parent->fileview == ISLEFT) // Send the event to the correct type of parent
((DirGenericDirCtrl*)parent)->ShowContextMenu(conevent);
else
((FileGenericDirCtrl*)parent)->ShowContextMenu(conevent);
}
#endif
void MyTreeCtrl::OnBeginDrag(wxMouseEvent& event)
{
// I've taken over the detection of dragging from wxTreeCtrl, which tends to be trigger-happy: the slightest movement
// with a mouse-key down sometimes will trigger it. So I've added a distance requirement. Note that this is asymmetrical, the x axis requirement being less.
// This is because of the edge effect: if the initial click is too near the edge of a pane & the mouse is then moved edgewards, it may go into the adjacent pane
// before the drag commences, whereupon it picks up the selection in THAT pane, not the original.
// I've also added a time element
// There was also a problem with selections: when a LClick arrives here it hasn't had time to establish a Selection, so we have to assume it will, & check later that is was valid
static wxDateTime dragstarttime;
static wxTreeItemId dragitem; // We need this static, so that we can check that the item that starts the process is actually selected by the time dragging is triggered
static MyTreeCtrl* originaltree;
if (startpt.x == 0 && startpt.y == 0) // 0,0 means not yet set, so this is what we do the first time thru
{ int flags; dragitem = HitTest(event.GetPosition(), flags); // Find out if we're near a tree item (& not in the space to the right of it)
if (!dragitem.IsOk() || flags & wxTREE_HITTEST_ONITEMRIGHT)
return; // Abort if we're not actually over the selected item. Otherwise we'll start dragging an old selection even if we're now miles away
if (dragitem == GetRootItem()) return; // Or if it's root
// It's a valid LClick, so get things ready for the next time through
startpt.x = event.GetPosition().x; startpt.y = event.GetPosition().y;
dragstarttime = wxDateTime::UNow(); // Reset the time to 'now'
originaltree = this; // In case we change panes before the drag 'catches'
dragging = true; return;
}
if ((abs(startpt.x - event.GetPosition().x)) < DnDXTRIGGERDISTANCE // If we've not moved far enough in either direction, return
&& (abs(startpt.y - event.GetPosition().y)) < DnDYTRIGGERDISTANCE) return;
wxTimeSpan diff = wxDateTime::UNow() - dragstarttime;
if (diff.GetMilliseconds() < 100) return; // If 0.1 sec hasn't passed since dragging was first noticed, return
if (!originaltree->IsSelected(dragitem)) { ResetPreDnD(); return; } // If we've got this far, we can trigger provided that by now the item has become selected. Otherwise abort the process
// If we're here, there's a genuine drag event
ResetPreDnD(); // Reset dragging & startpt for the future
if (MyFrame::mainframe->m_TreeDragMutex.TryLock() != wxMUTEX_NO_ERROR)
{ wxLogTrace(wxT("%s"),wxT("MyTreeCtrl::OnBeginDrag - - - - - - - - - - - - - Mutex was locked"));
MyFrame::mainframe->m_TreeDragMutex.Unlock(); // If we don't unlock it here, DnD will never again work. Surely it will be safe by now . . . .?
return;
}
size_t count; // No of selections (may be multiple, after all)
wxArrayString paths; // Array to store them
count = parent->GetMultiplePaths(paths); // Fill the array with selected pathname/filenames
if (!count) return;
MyGenericDirCtrl::DnDfilearray = paths; // Fill the DnD "clipboard" with paths
MyGenericDirCtrl::DnDfilecount = count; // Store their number
MyGenericDirCtrl::DnDFromID = parent->GetId(); // and the window ID (for refreshing) Note the reasonable assumption that all selections belong to same pane
MyFrame::mainframe->m_CtrlPressed = event.m_controlDown; // Store metakey pattern, so that MyFrame::OnBeginDrag will know if we're copying, moving etc
MyFrame::mainframe->m_ShPressed = event.ShiftDown();
MyFrame::mainframe->m_AltPressed = event.AltDown();
MyFrame::mainframe->OnBeginDrag(this); // Pass control to main Drag functions
}
void MyTreeCtrl::OnEndDrag(wxTreeEvent& event)
{
wxYieldIfNeeded();
// Now we need to find if we've found somewhere to drop onto
wxPoint pt = ScreenToClient(wxGetMousePosition()); // Locate the mouse? Screen coords so -> client
int flags;
wxTreeItemId item = HitTest(pt, flags); // Find out if we're over a valid tree item (& not in the space to the right of it)
if (item.IsOk() && !(flags & wxTREE_HITTEST_ONITEMRIGHT))
{ wxDirItemData* data = (wxDirItemData*) GetItemData(item);
MyGenericDirCtrl::DnDDestfilepath = data->m_path; // so get its path
MyGenericDirCtrl::DnDToID = parent->GetId(); // and its ID (for refreshing)
if (parent->fileview == ISRIGHT) // However, if we're in a fileview pane, need to check that we're not dropping on top of a file
{ FileData fd(MyGenericDirCtrl::DnDDestfilepath);
if (fd.IsSymlinktargetADir(true)) // If we're dropping onto a symlink & its target is a dir
MyGenericDirCtrl::DnDDestfilepath = fd.GetUltimateDestination(); // replace path with the symlink target. NB If the target isn't a dir, we don't want to deref the symlink at all; just paste into its parent dir as usual
else
if (fd.IsValid() && !fd.IsDir()) MyGenericDirCtrl::DnDDestfilepath = fd.GetPath(); // If the overall path isn't a dir, remove the filename, so we drop onto the parent dir
}
}
else
{ MyGenericDirCtrl::DnDDestfilepath = wxEmptyString; // If HitTest() missed, mark invalid
MyFrame::mainframe->m_TreeDragMutex.Unlock();
return; // and bail out
}
if (!MyGenericDirCtrl::DnDfilecount) return;
enum myDragResult dragtype = MyFrame::mainframe->ParseMetakeys(); // First find out if we've been moving, copying or linking
bool ClusterWasNeeded = UnRedoManager::StartClusterIfNeeded();
switch (dragtype)
{
case myDragCopy: parent->OnPaste(true); break;
case myDragMove: {DevicesStruct* ds = MyFrame::mainframe->Layout->m_notebook->
DeviceMan->QueryAMountpoint(MyGenericDirCtrl::DnDfilearray[0], true); // See if we're trying to drag from a ro device
if (ds != NULL && ds->readonly) parent->OnPaste(true); // If we _are_ trying to move from a cdrom or similar, silently alter to Paste
else parent->OnDnDMove(); break;} // Otherwise do a Move as requested
case myDragHardLink:
case myDragSoftLink: parent->OnLink(true, dragtype); break;
case myDragNone: break;
default: break;
}
if (ClusterWasNeeded && !(dragtype==myDragCopy || dragtype==myDragMove)) UnRedoManager::EndCluster(); // Don't end the cluster if threads are involved; it'll be too soon
MyFrame::mainframe->m_TreeDragMutex.Unlock(); // Finally, release the tree-mutex lock
}
void MyTreeCtrl::OnPaint(wxPaintEvent& event) // // Copied from wxTreeCtrl only because it's the caller of the overridden (PaintLevel()->) PaintItem
{
if (parent->fileview == ISLEFT) return wxTreeCtrl::OnPaint(event); // // If it's a dirview, use the original version
Col0 = STRIPE_0; Col1 = STRIPE_1; // // Copy these at the beginning of the paint so, if the defaults get changed halfway thru, we don't end up looking stupid
wxPaintDC dc(this);
PrepareDC(dc);
if (!m_anchor)
return;
dc.SetFont(m_normalFont);
dc.SetPen(m_dottedPen);
// this is now done dynamically
//if(GetImageList() == NULL)
// m_lineHeight = (int)(dc.GetCharHeight() + 4);
int y = 2;
PaintLevel(m_anchor, dc, 0, y, 0);
}
void MyTreeCtrl::PaintLevel(wxGenericTreeItem *item, wxDC &dc, int level, int &y, int index) // // I've added index
{
int x = level*m_indent;
if (!HasFlag(wxTR_HIDE_ROOT))
{
x += m_indent;
}
else
{ if (level == 0)
{
// always expand hidden root
int origY = y;
wxArrayGenericTreeItems& children = item->GetChildren();
int count = children.Count();
if (count > 0)
{
int n = 0, oldY;
do {
oldY = y;
PaintLevel(children[n], dc, 1, y, n);
} while (++n < count);
if (!HasFlag(wxTR_NO_LINES) && HasFlag(wxTR_LINES_AT_ROOT) && count > 0)
{
// draw line down to last child
origY += GetLineHeight(children[0])>>1;
oldY += GetLineHeight(children[n-1])>>1;
dc.DrawLine(3, origY, 3, oldY);
}
}
return;
}
else
{
#if defined(__WXGTK3__)
// Fiddle-factor for gtk3 (at least in fedora 20, & does no harm elsewhere). Otherwise the left edge of each dir icon is lost
x += 5;
#endif
}
}
item->SetX(x+m_spacing);
item->SetY(y);
int h = GetLineHeight(item);
int y_top = y;
int y_mid = y_top + (h>>1);
y += h;
int exposed_x = dc.LogicalToDeviceX(0);
int exposed_y = dc.LogicalToDeviceY(y_top);
if (IsExposed(exposed_x, exposed_y, 10000, h)) // 10000 = very much
{
const wxPen *pen =
#ifndef __WXMAC__
// don't draw rect outline if we already have the
// background color under Mac
(item->IsSelected() && m_hasFocus) ? wxBLACK_PEN :
#endif // !__WXMAC__
wxTRANSPARENT_PEN;
wxColour colText;
if (item->IsSelected())
{
colText = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
}
else
{
wxTreeItemAttr *attr = item->GetAttributes();
if (attr && attr->HasTextColour())
colText = attr->GetTextColour();
else
colText = GetForegroundColour();
}
// prepare to draw
dc.SetTextForeground(colText);
dc.SetPen(*pen);
// draw
PaintItem(item, dc, index);
if (HasFlag(wxTR_ROW_LINES))
{
// if the background colour is white, choose a
// contrasting color for the lines
dc.SetPen(*((GetBackgroundColour() == *wxWHITE)
? wxMEDIUM_GREY_PEN : wxWHITE_PEN));
dc.DrawLine(0, y_top, 10000, y_top);
dc.DrawLine(0, y, 10000, y);
}
// restore DC objects
dc.SetBrush(*wxWHITE_BRUSH);
dc.SetPen(m_dottedPen);
dc.SetTextForeground(*wxBLACK);
if (item->HasPlus() && HasButtons()) // should the item show a button?
{
if (!HasFlag(wxTR_NO_LINES))
{
if (x > (signed)m_indent)
dc.DrawLine(x - m_indent, y_mid, x - 5, y_mid);
else if (HasFlag(wxTR_LINES_AT_ROOT))
dc.DrawLine(3, y_mid, x - 5, y_mid);
dc.DrawLine(x + 5, y_mid, x + m_spacing, y_mid);
}
if (m_imageListButtons != NULL)
{
// draw the image button here
int image_h = 0, image_w = 0, image = wxTreeItemIcon_Normal;
if (item->IsExpanded()) image = wxTreeItemIcon_Expanded;
if (item->IsSelected())
image += wxTreeItemIcon_Selected - wxTreeItemIcon_Normal;
m_imageListButtons->GetSize(image, image_w, image_h);
int xx = x - (image_w>>1);
int yy = y_mid - (image_h>>1);
dc.SetClippingRegion(xx, yy, image_w, image_h);
m_imageListButtons->Draw(image, dc, xx, yy,
wxIMAGELIST_DRAW_TRANSPARENT);
dc.DestroyClippingRegion();
}
}
}
else // no custom buttons
{
static const int wImage = 9;
static const int hImage = 9;
int flag = 0;
if (item->IsExpanded())
flag |= wxCONTROL_EXPANDED;
if (item == m_underMouse)
flag |= wxCONTROL_CURRENT;
wxRendererNative::Get().DrawTreeItemButton
(
this,
dc,
wxRect(x - wImage/2,
y_mid - hImage/2,
wImage, hImage),
flag
);
}
if (item->IsExpanded())
{
wxArrayGenericTreeItems& children = item->GetChildren();
int count = children.Count();
if (count > 0)
{
int n = 0, oldY;
++level;
do {
oldY = y;
PaintLevel(children[n], dc, level, y);
} while (++n < count);
if (!HasFlag(wxTR_NO_LINES) && count > 0)
{
// draw line down to last child
oldY += GetLineHeight(children[n-1])>>1;
if (HasButtons()) y_mid += 5;
// Only draw the portion of the line that is visible, in case it is huge
wxCoord xOrigin=0, yOrigin=0, width, height;
dc.GetDeviceOrigin(&xOrigin, &yOrigin);
yOrigin = abs(yOrigin);
GetClientSize(&width, &height);
// Move end points to the begining/end of the view?
if (y_mid < yOrigin)
y_mid = yOrigin;
if (oldY > yOrigin + height)
oldY = yOrigin + height;
// after the adjustments if y_mid is larger than oldY then the line
// isn't visible at all so don't draw anything
if (y_mid < oldY)
dc.DrawLine(x, y_mid, x, oldY);
}
}
}
}
void MyTreeCtrl::PaintItem(wxGenericTreeItem *item, wxDC& dc, int index)
{
static const int NO_IMAGE = -1; // //
// TODO implement "state" icon on items
wxTreeItemAttr *attr = item->GetAttributes();
if (attr && attr->HasFont())
dc.SetFont(attr->GetFont());
else if (item->IsBold())
dc.SetFont(m_boldFont);
int text_w = 0, text_h = 0;
dc.GetTextExtent(item->GetText(), &text_w, &text_h);
int total_h = GetLineHeight(item);
if (item->IsSelected())
{
dc.SetBrush(*(m_hasFocus ? m_hilightBrush : m_hilightUnfocusedBrush));
}
else
{
wxColour colBg;
if (attr && attr->HasBackgroundColour())
colBg = attr->GetBackgroundColour();
else
if (USE_STRIPES) // // If we want the fileview background to be striped with alternate colours
colBg = (index % 2) ? Col1 : Col0;
else colBg = m_backgroundColour;
#if wxVERSION_NUMBER < 2900
dc.SetBrush(wxBrush(colBg, wxSOLID));
#else
dc.SetBrush(wxBrush(colBg, wxBRUSHSTYLE_SOLID));
#endif
}
int offset = HasFlag(wxTR_ROW_LINES) ? 1 : 0;
dc.DrawRectangle(0, item->GetY()+offset,
headerwindow->GetWidth(), // //
total_h-offset);
dc.SetBackgroundMode(wxTRANSPARENT);
int extraH = (total_h > text_h) ? (total_h - text_h)/2 : 0;
int extra_offset = 0;
DataBase* stat = NULL; // //
// // After simplifying (& so probably speeding up) DirGenericDirCtrl::ReloadTree(), I started getting rare Asserts where index==GetCount() during Moving/Pasting
// // I suspect data is sometimes being added to the treectrl faster than to the array, If a refresh then occurs at the wrong time . . .
if (((FileGenericDirCtrl*)parent)->CombinedFileDataArray.GetCount() <= (size_t)index) return; // //
stat = &((FileGenericDirCtrl*)parent)->CombinedFileDataArray.Item(index); // // Get a ptr to the current stat data
if (!stat) return; // // With USE_FSWATCHER this avoids rare assert, presumably a race
for(size_t i = 0; i < headerwindow->GetColumnCount(); ++i) // //
{
if (headerwindow->IsHidden(i)) continue; // // Not a lot to do for a hidden column
int coord_x = extra_offset, image_x = coord_x;
int clip_width = headerwindow->GetColumnWidth(i); // //
int image_h = 0, image_w = 0; //2;
int image = NO_IMAGE;
if(i == 0) { // //
image = item->GetCurrentImage();
coord_x = item->GetX();
}
else {
image = NO_IMAGE; // //item->GetImage(i);
}
if(image != NO_IMAGE)
{
if(m_imageListNormal) {
m_imageListNormal->GetSize(image, image_w, image_h);
image_w += 4;
}
else {
image = NO_IMAGE;
}
}
// honor text alignment
wxString text(wxT(""));
if (!stat->IsValid()) text = wxT("?"); // // If the file is corrupt, display _something_
if (!i) // // If col 0, do it the standard way
text = stat->ReallyGetName(); // // but use stat->ReallyGetName() as this is might hold a useful string even if the file is corrupt
else // // The whole 'else' is mine
{ wxDateTime time;
if (stat && !headerwindow->IsHidden(i))
switch(i)
{ case ext: if (stat->IsValid())
{ wxString fname(stat->GetFilename().Mid(1)); // Mid(1) to avoid hidden-file confusion
if (EXTENSION_START == 0) // Use the first dot. This one's easy: if AfterFirst() fails it returns ""
{ text = fname.AfterFirst(wxT('.')); break; }
else
{ size_t pos = fname.rfind(wxT('.'));
if (pos != wxString::npos)
{ text = fname.Mid(pos+1); // We've found a last dot. Store the remaining string
if (EXTENSION_START == 1) // and then, if so configured, look for a penultimate one
{ pos = fname.rfind(wxT('.'), pos-1);
if (pos != wxString::npos)
text = fname.Mid(pos+1);
}
}
}
}
break;
case filesize: if (stat->IsValid()) text = stat->GetParsedSize();
break;
case modtime: if (stat->IsValid())
{ time.Set(stat->ModificationTime()); text = time.Format(wxT("%x %R")); } // %x means d/m/y but arranged according to locale. %R is %H:%M
break;
case permissions: if (stat->IsValid()) text = stat->PermissionsToText();
break;
case owner: if (stat->IsValid()) text = stat->GetOwner(); if (text.IsEmpty()) text.Printf(wxT("%u"), stat->OwnerID());
break;
case group: if (stat->IsValid()) text = stat->GetGroup(); if (text.IsEmpty()) text.Printf(wxT("%u"), stat->GroupID());
break;
case linkage: if (stat->IsValid() && stat->IsSymlink())
{ if (stat->GetSymlinkData() && stat->GetSymlinkData()->IsValid())
text.Printf(wxT("-->%s"), stat->GetSymlinkDestination(true).c_str());
else text = _(" *** Broken symlink ***");
}
}
}
switch(headerwindow->GetColumn(i).GetAlignment()) {
case wxTL_ALIGN_LEFT:
coord_x += image_w + 2;
image_x = coord_x - image_w;
break;
case wxTL_ALIGN_RIGHT:
dc.GetTextExtent(text, &text_w, NULL);
coord_x += clip_width - text_w - image_w - 2;
image_x = coord_x - image_w;
break;
case wxTL_ALIGN_CENTER:
dc.GetTextExtent(text, &text_w, NULL);
//coord_x += (clip_width - text_w)/2 + image_w;
image_x += (clip_width - text_w - image_w)/2 + 2;
coord_x = image_x + image_w;
}
wxDCClipper clipper(dc, /*coord_x,*/ extra_offset,
item->GetY() + extraH, clip_width,
total_h);
if(image != NO_IMAGE) {
m_imageListNormal->Draw(image, dc, image_x,
item->GetY() +((total_h > image_h)?
((total_h-image_h)/2):0),
wxIMAGELIST_DRAW_TRANSPARENT);
}
dc.DrawText(text,
(wxCoord)(coord_x /*image_w + item->GetX()*/),
(wxCoord)(item->GetY() + extraH));
extra_offset += headerwindow->GetColumnWidth(i);
}
// restore normal font
dc.SetFont(m_normalFont);
}
void MyTreeCtrl::OnIdle(wxIdleEvent& event) // // Makes sure any change in column width is reflected within
{
if (headerwindow==NULL) { event.Skip(); return; } // Necessary as event may be called before there IS a headerwindow
if (headerwindow->m_dirty) // Although MyTreeCtrl has an m_dirty too, that's just there because TreeListHeaderWindow writes to it!
{ headerwindow->m_dirty = false; // The one that is changed when columns are resized is the TreeListHeaderWindow one
Refresh();
}
event.Skip(); // Without this, gtk1 has focus problems; and in X11 the scrollbars get stuck in the top-left corner on creation!
}
void MyTreeCtrl::OnSize(wxSizeEvent& event) // // Keeps the treectrl columns in step with the headerwindows
{
if (headerwindow) headerwindow->m_dirty = true; // In >=2.5.1, the headerwindows don't otherwise seem to get refreshed on splitter dragging
AdjustMyScrollbars();
event.Skip();
}
void MyTreeCtrl::ScrollToOldPosition(const wxTreeItemId& item) // An altered ScrollTo() that tries as much as possible to maintain what the user had seen
{
wxCHECK_RET(!IsFrozen(), wxT("DoDirtyProcessing() won't work when frozen, at least in 2.9"));
if (!item.IsOk()) return;
if (m_dirty)
DoDirtyProcessing();
wxGenericTreeItem *gitem = (wxGenericTreeItem*) item.m_pItem;
int item_y = gitem->GetY();
static const int PIXELS_PER_UNIT = 10;
const int fiddlefactor = 1;
int start_x = 0; int start_y = 0;
GetViewStart( &start_x, &start_y );
#if wxVERSION_NUMBER < 2900
start_y *= PIXELS_PER_UNIT;
int client_h = 0; int client_w = 0;
GetClientSize( &client_w, &client_h );
//if (item_y < start_y+3)
{
// going down
int x = 0;
int y = 0;
m_anchor->GetSize( x, y, this );
y += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
x += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
int x_pos = GetScrollPos( wxHORIZONTAL );
// Item should appear at top
SetScrollbars( PIXELS_PER_UNIT, PIXELS_PER_UNIT, x/PIXELS_PER_UNIT, y/PIXELS_PER_UNIT, x_pos, (item_y/PIXELS_PER_UNIT) + fiddlefactor);
}
/* else if (item_y+GetLineHeight(gitem) > start_y+client_h)
{
// going up
int x = 0;
int y = 0;
m_anchor->GetSize( x, y, this );
y += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
x += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
item_y += PIXELS_PER_UNIT+2;
int x_pos = GetScrollPos( wxHORIZONTAL );
// Item should appear at bottom
SetScrollbars( PIXELS_PER_UNIT, PIXELS_PER_UNIT, x/PIXELS_PER_UNIT, y/PIXELS_PER_UNIT, x_pos, (item_y+GetLineHeight(gitem)-client_h)/PIXELS_PER_UNIT );
}*/
#else // 2.9
const int clientHeight = GetClientSize().y;
const int itemHeight = GetLineHeight(gitem) + 2;
if ( item_y + itemHeight > start_y*PIXELS_PER_UNIT + clientHeight )
{
// need to scroll up by enough to show this item fully
item_y += itemHeight - clientHeight;
}
/* else if ( itemY > start_y*PIXELS_PER_UNIT )
{
// item is already fully visible, don't do anything
return;
}*/
//else: scroll down to make this item the top one displayed
Scroll(-1, (item_y/PIXELS_PER_UNIT) + fiddlefactor);
#endif
}
void MyTreeCtrl::AdjustMyScrollbars() // // Taken from src/generic/treectlg.cpp, because of the headerwindow line
{
const int PIXELS_PER_UNIT = 10; // // This was set in src/generic/treectlg.cpp
if (m_anchor)
{
int x = 0, y = 0;
m_anchor->GetSize(x, y, this);
if (headerwindow != NULL) x = headerwindow->GetTotalPreferredWidth(); // // This means we get the column width, not just that of m_anchor's name
y += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels
// // x += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels This actually makes things worse
int x_pos = GetScrollPos(wxHORIZONTAL);
int y_pos = GetScrollPos(wxVERTICAL);
SetScrollbars(PIXELS_PER_UNIT, PIXELS_PER_UNIT, x/PIXELS_PER_UNIT, y/PIXELS_PER_UNIT, x_pos, y_pos);
}
else
{
SetScrollbars(0, 0, 0, 0);
}
}
void MyTreeCtrl::OnScroll(wxScrollWinEvent& event) // // Keeps the headerwindows in step with the treectrl colums
{
if (headerwindow != NULL) headerwindow->Refresh();
event.Skip();
}
#if !defined(__WXGTK3__)
void MyTreeCtrl::OnEraseBackground(wxEraseEvent& event) // This is only needed in gtk2 under kde and brain-dead theme-manager, but can cause a blackout in some gtk3(themes?)
{
wxClientDC* clientDC = NULL; // We may or may not get a valid dc from the event, so be prepared
if (!event.GetDC()) clientDC = new wxClientDC(this);
wxDC* dc = clientDC ? clientDC : event.GetDC();
wxColour colBg = GetBackgroundColour(); // Use the chosen background if there is one
if (!colBg.Ok()) colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
#if wxVERSION_NUMBER < 2900
dc->SetBackground(wxBrush(colBg, wxSOLID));
#else
dc->SetBackground(wxBrush(colBg, wxBRUSHSTYLE_SOLID));
#endif
dc->Clear();
if (clientDC) delete clientDC;
}
#endif
BEGIN_EVENT_TABLE(MyTreeCtrl,wxTreeCtrl)
EVT_KEY_DOWN(MyTreeCtrl::AdjustForNumlock)
EVT_SET_FOCUS(MyTreeCtrl::OnReceivingFocus)
EVT_KILL_FOCUS(MyTreeCtrl::OnLosingFocus)
EVT_MENU(SHCUT_SELECTALL,MyTreeCtrl::OnCtrlA)
EVT_RIGHT_DOWN(MyTreeCtrl::OnRtDown) // Just swallows the event, to stop it triggering an unwanted context menu in >GTK-2.5.3
EVT_RIGHT_UP(MyTreeCtrl::OnRtUp) // Takes over the context menu generation
EVT_LEFT_DOWN(MyTreeCtrl::OnLtDown)
EVT_MOTION(MyTreeCtrl::OnMouseMovement)
EVT_MIDDLE_DOWN(MyTreeCtrl::OnMiddleDown) // Allows middle-button paste
EVT_LEAVE_WINDOW(MyTreeCtrl::OnLeavingWindow)
EVT_PAINT (MyTreeCtrl::OnPaint)
#if !defined(__WXGTK3__)
EVT_ERASE_BACKGROUND(MyTreeCtrl::OnEraseBackground)
#endif
EVT_IDLE(MyTreeCtrl::OnIdle)
EVT_SIZE(MyTreeCtrl::OnSize)
EVT_SCROLLWIN(MyTreeCtrl::OnScroll)
END_EVENT_TABLE()
//---------------------------------------------------------------------------
#include
#include
#include
wxTreeItemId PreviewManager::m_LastItem = wxTreeItemId();
PreviewManagerTimer* PreviewManager::m_Timer = NULL;
wxWindow* PreviewManager::m_Tree = NULL;
wxString PreviewManager::m_Filepath;
wxPoint PreviewManager::m_InitialPos = wxPoint();
PreviewPopup* PreviewManager::m_Popup = NULL;
size_t PreviewManager::m_DwellTime;
int PreviewManager::MAX_PREVIEW_IMAGE_HT;
int PreviewManager::MAX_PREVIEW_IMAGE_WT;
int PreviewManager::MAX_PREVIEW_TEXT_HT;
int PreviewManager::MAX_PREVIEW_TEXT_WT;
PreviewManager::~PreviewManager()
{
Clear();
delete m_Timer; m_Timer = NULL;
}
//static
void PreviewManager::Init()
{
wxConfigBase* config = wxConfigBase::Get();
m_DwellTime = (size_t)config->Read(wxT("/Misc/Display/Preview/dwelltime"), 1000l);
MAX_PREVIEW_IMAGE_WT = (int)config->Read(wxT("/Misc/Display/Preview/MAX_PREVIEW_IMAGE_WT"), 100l);
MAX_PREVIEW_IMAGE_HT = (int)config->Read(wxT("/Misc/Display/Preview/MAX_PREVIEW_IMAGE_HT"), 100l);
MAX_PREVIEW_TEXT_WT = (int)config->Read(wxT("/Misc/Display/Preview/MAX_PREVIEW_TEXT_WT"), 300l);
MAX_PREVIEW_TEXT_HT = (int)config->Read(wxT("/Misc/Display/Preview/MAX_PREVIEW_TEXT_HT"), 300l);
}
//static
void PreviewManager::Save(int Iwt, int Iht, int Twt, int Tht, size_t dwell)
{
wxConfigBase* config = wxConfigBase::Get();
config->Write(wxT("/Misc/Display/Preview/dwelltime"), (long)dwell);
config->Write(wxT("/Misc/Display/Preview/MAX_PREVIEW_IMAGE_WT"), (long)Iwt);
config->Write(wxT("/Misc/Display/Preview/MAX_PREVIEW_IMAGE_HT"), (long)Iht);
config->Write(wxT("/Misc/Display/Preview/MAX_PREVIEW_TEXT_WT"), (long)Twt);
config->Write(wxT("/Misc/Display/Preview/MAX_PREVIEW_TEXT_HT"), (long)Tht);
Init(); // We get here when the user has changed the values; so reload to keep the vars current
}
//static
void PreviewManager::ProcessMouseMove(wxTreeItemId item, int flags, const wxString& filepath, wxMouseEvent& event)
{
if (item.IsOk() && !(flags & wxTREE_HITTEST_ONITEMRIGHT)) // Find out if we're near a tree item (& not in the space to the right of it)
{ if (item != m_LastItem)
{ Clear();
m_LastItem = item; m_Tree = (wxWindow*)event.GetEventObject(); m_InitialPos = wxGetMousePosition();
bool InArchive = false; // We might be trying to extract from an archive into this editor
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane();
if (active != NULL && active->arcman != NULL && active->arcman->IsArchive()) InArchive = true;
if (InArchive)
{ FakeFiledata ffd(filepath); if (!ffd.IsValid()) return;
wxArrayString arr; arr.Add(filepath);
wxArrayString tempfilepaths = active->arcman->ExtractToTempfile(arr, false, true); // This extracts filepath to a temporary file, which it returns. The bool params mean not-dirsonly, files-only
if (tempfilepaths.IsEmpty()) return; // Empty == failed
FileData tfp(tempfilepaths[0]); tfp.DoChmod(0444); // Make the file readonly, as we won't be saving any alterations and exec.ing it is unlikely to be sensible
m_Filepath = tempfilepaths[0];
}
else
{ FileData fd(filepath);
if (fd.IsDir() || fd.IsSymlinktargetADir() || !fd.IsValid()) return;
m_Filepath = fd.GetUltimateDestination();
}
if (!m_Timer) m_Timer = new PreviewManagerTimer();
m_Timer->Start(m_DwellTime, true);
}
}
else Clear();
}
//static
void PreviewManager::Clear()
{
if (m_Timer) m_Timer->Stop();
m_LastItem = wxTreeItemId();
m_Filepath.Clear();
m_InitialPos = wxPoint();
if (m_Popup)
{ m_Popup->Dismiss();
m_Popup->Destroy();
m_Popup = NULL;
}
}
//static
void PreviewManager::ClearIfNotInside()
{
if (!m_Popup)
return;
// If we're here, it's because the mouse moved out of the treectrl. However we don't want to close if it's actually _inside_ the popup
wxPoint pt = wxGetMousePosition();
if (!m_Popup->GetRect().Contains(pt))
Clear();
}
//static
void PreviewManager::OnTimer()
{
wxPoint pt = wxGetMousePosition();
if (pt.y - m_InitialPos.y > 30)
{ Clear(); return; } // We must originally have been called on the bottom item, and now we're some way below it. So abort
delete m_Popup;
m_Popup = new PreviewPopup(m_Tree);
if (!m_Popup->GetCanDisplay()) return; // Not an image/txtfile*
wxSize ps = m_Popup->GetPanelSize(); // Ensure the popup will fit on the screen
if (pt.y < ps.GetHeight()) pt.y = ps.GetHeight() + 2;
if (pt.x + ps.GetWidth() >= wxGetClientDisplayRect().GetWidth())
pt.x -= (pt.x + ps.GetWidth() - wxGetClientDisplayRect().GetWidth() + 2);
pt.x += 1; // +1 to prevent very small bitmaps from touching the pointer and immediately deleting
m_Popup->Position(pt, wxSize(0, -ps.GetHeight()));
m_Popup->Popup(m_Tree);
#if wxVERSION_NUMBER < 2900 || defined(__WXGTK3__)
m_Popup->SetSize(m_Popup->GetPanelSize()); // It doesn't size properly otherwise
#endif
}
PreviewPopup::PreviewPopup(wxWindow* parent) : wxPopupTransientWindow(parent), m_CanDisplay(false), m_Size(wxSize())
{
wxString filepath = PreviewManager::GetFilepath();
wxCHECK_RET(!filepath.empty(), wxT("PreviewManager has an empty filepath"));
if (IsText(filepath)) // Try for text first: *.c files seem to return true from wxImage::CanRead :/
{ DisplayText(filepath); m_CanDisplay = true; }
else if (IsImage(filepath))
{ DisplayImage(filepath); m_CanDisplay = true; }
}
bool PreviewPopup::IsImage(const wxString& filepath)
{
wxCHECK_MSG(!filepath.empty(), false, wxT("An empty filepath passed to IsImage()"));
wxLogNull NoErrorMessages;
return (wxImage::CanRead(filepath));
}
bool PreviewPopup::IsText(const wxString& filepath)
{
wxCHECK_MSG(!filepath.empty(), false, wxT("An empty filepath passed to IsText()"));
wxLogNull NoErrorMessages;
wxString mt, ext = filepath.AfterLast(wxT('.')), filename = filepath.AfterLast(wxT('/')).Lower();
// Do some specials first: not recognised by wxTheMimeTypesManager, but can usefully be previewed
// Do 'txt' too, as wxTheMimeTypesManager doesn't spot this in some distros :/
if (ext == wxT("txt") || ext == wxT("sh") || ext == wxT("xrc") || ext == wxT("in") || ext == wxT("bkl") || filename == wxT("makefile") || filename == wxT("readme"))
return true;
wxFileType* ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
if (!ft) return false;
bool result(false);
if (ft->GetMimeType(&mt))
{ if (mt.StartsWith(wxT("text")))
result = true;
}
delete ft;
return result;
}
void PreviewPopup::DisplayImage(const wxString& filepath)
{
wxLogNull NoErrorMessages;
wxImage image(filepath);
if (!image.IsOk()) return;
int ht = wxMin(image.GetHeight(), PreviewManager::MAX_PREVIEW_IMAGE_HT);
int wt = wxMin(image.GetWidth(), PreviewManager::MAX_PREVIEW_IMAGE_WT);
if (ht != image.GetHeight() || wt != image.GetWidth())
{ if (image.GetHeight() != image.GetWidth())
{ bool wider = image.GetWidth() > image.GetHeight(); // Scale retaining the aspect ratio
if (wider) ht = (int)(ht * ((float)image.GetHeight()/(float)image.GetWidth()));
else wt = (int)(wt * ((float)image.GetWidth()/(float)image.GetHeight()));
}
image.Rescale(wt, ht);
}
wxPanel* panel = new wxPanel(this, wxID_ANY);
panel->SetBackgroundColour(*wxLIGHT_GREY);
wxStaticBitmap* bitmap = new wxStaticBitmap(panel, wxID_ANY, wxBitmap(image));
wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL);
topSizer->Add(bitmap, 0);
panel->SetClientSize(wxSize(wt,ht));
panel->SetSizer(topSizer);
m_Size = wxSize(wt,ht);
}
void PreviewPopup::DisplayText(const wxString& filepath)
{
wxPanel* toppanel = new wxPanel(this, wxID_ANY);
toppanel->SetBackgroundColour(*wxLIGHT_GREY);
wxPanel* whitepanel = new wxPanel(toppanel, wxID_ANY);
whitepanel->SetBackgroundColour(*wxWHITE);
wxString previewstring;
wxFileInputStream fis(filepath);
if (!fis.IsOk()) return;
wxTextInputStream tis(fis);
for (size_t n=0; n < 30; ++n)
{ if (!fis.CanRead()) break;
previewstring << tis.ReadLine() << wxT('\n');
}
wxStaticText* text = new wxStaticText(whitepanel, wxID_ANY, previewstring);
wxBoxSizer* whitesizer = new wxBoxSizer(wxVERTICAL);
whitesizer->Add(text, 1, wxEXPAND);
whitepanel->SetSizer(whitesizer);
whitepanel->SetClientSize(PreviewManager::MAX_PREVIEW_TEXT_WT-4, PreviewManager::MAX_PREVIEW_TEXT_HT-4);
wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL);
topSizer->Add(whitepanel, 1, wxEXPAND | wxALL, 2);
toppanel->SetSizer(topSizer);
toppanel->SetClientSize(wxSize(PreviewManager::MAX_PREVIEW_TEXT_WT,PreviewManager::MAX_PREVIEW_TEXT_HT));
m_Size = wxSize(PreviewManager::MAX_PREVIEW_TEXT_WT, PreviewManager::MAX_PREVIEW_TEXT_HT);
}
4pane-5.0/compile 0000755 0001750 0001750 00000016245 12753041535 010701 0000000 0000000 #! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey .
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to or send patches to
# .
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to .
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
4pane-5.0/MyDragImage.h 0000644 0001750 0001750 00000005446 12675313657 011635 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: MyDragImage.h
// Purpose: Pseudo D'n'D
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef MYDRAGIMAGEH
#define MYDRAGIMAGEH
#include "wx/wx.h"
#include "wx/dragimag.h"
#include "Externs.h"
class MyDragImageSlideTimer;
class MyDragImageScrollTimer;
class MyDragImage : public wxDragImage
{
public:
MyDragImage();
~MyDragImage();
void SetCursor(enum DnDCursortype cursortype);
wxPoint pt;
void IncSlide();
void SetImageType(enum myDragResult type); // Are we (currently) copying, softlinking etc? Sets the image appropriately
void DoLineScroll(wxMouseEvent& event); // Scrolling a line during DnD in response to scrollwheel
void DoPageScroll(wxMouseEvent& event); // Scrolling a page during DnD in response to Rt-click
// The next paragraph deals with scroll during DnD in response to mouse-positioning
void OnLeavingPane(wxWindow* lastwin); // Checks to see whether to start the scroll timer
void QueryScroll(); // Called by the scroll timer, scrolls if appropriate
protected:
void SetCorrectCursorForWindow(wxWindow* win) const; // When leaving a window, or cancelling DnD, revert to the correct cursor
int height; int width; // Holds the size of WindowToScroll
int exitlocation; // The y-location where we left the WindowToScroll
size_t scrollno; // Remembers the no of previous scrolls, so that acceleration can be intelligent
wxWindow* m_PreviousWin;
wxWindow* WindowToScroll;
MyDragImageScrollTimer* scrolltimer;
wxIcon drag_icon;
wxIcon* copier_icon;
wxIcon hardlink_icon;
wxIcon softlink_icon;
MyDragImageSlideTimer* slidetimer;
enum myDragResult dragtype; // Drag, copy, hardlink, softlink
size_t slide; // For animated images, this holds which slide is next to be shown
wxCursor m_standardcursor;
wxCursor m_textctlcursor;
enum DnDCursortype currentcursor;
};
class MyDragImageSlideTimer : public wxTimer // Used by MyDragImage. Notify() incs the slide-show counter
{
public:
void Init(MyDragImage* mdi){ parent = mdi; }
void Notify(){ parent->IncSlide(); }
protected:
MyDragImage* parent;
};
class MyDragImageScrollTimer : public wxTimer // Used by MyDragImage. Notify() scrolls a pane's tree
{
public:
void Init(MyDragImage* mdi){ parent = mdi; }
void Notify(){ parent->QueryScroll(); }
protected:
MyDragImage* parent;
};
#endif
// MYDRAGIMAGEH
4pane-5.0/ExecuteInDialog.h 0000644 0001750 0001750 00000005121 12675313657 012506 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: ExecuteInDialog.h
// Purpose: Displays exec output in a dialog
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef EXECUTEINDIALOGH
#define EXECUTEINDIALOGH
#include "wx/wx.h"
#include "wx/process.h"
#include "wx/txtstrm.h"
class CommandDisplay;
class DisplayProcess : public wxProcess // Executes a command, displaying output in a textctrl. Adapted from the exec sample
{ // Very similar to MyPipedProcess in Tools.cpp, but enough differences to make derivation difficult
public:
DisplayProcess(CommandDisplay* display);
bool HasInput();
void OnKillProcess();
void SetPid(long pid) { m_pid = pid; }
protected:
void OnTerminate(int pid, int status);
bool AlreadyCancelled() const { return m_WasCancelled; }
long m_pid; // Stores the process's pid, in case we want to kill it
bool m_WasCancelled;
CommandDisplay* m_parent;
wxTextCtrl* m_text;
};
class CommandDisplay : public wxDialog // A dialog with a textctrl that displays output from a wxExecuted command
{
enum timertype { wakeupidle=5000, endmodal };
public:
void Init(wxString& command); // Do the ctor work here, as otherwise wouldn't be done under xrc. Also calls RunCommand()
void AddInput(wxString input); // Displays input received from the running Process
void OnProcessTerminated(DisplayProcess *process);
void OnProcessKilled(DisplayProcess *process); // Similar to OnProcessTerminated but Detaches rather than deletes, following a Cancel
int exitstatus;
wxTextCtrl* text;
protected:
void RunCommand(wxString& command); // Do the Process/Execute things to run the command
void AddAsyncProcess(DisplayProcess *process);
void OnCancel(wxCommandEvent& event);
void SetupClose(); // Re-labels Cancel button as Close, & starts the endmodal timer if desired
void OnProcessTimer(wxTimerEvent& event); // Called by timer to generate wakeupidle events
void OnEndmodalTimer(wxTimerEvent& event); // Called when the one-shot shutdown timer fires
void OnIdle(wxIdleEvent& event);
void OnAutocloseCheckBox(wxCommandEvent& event);
DisplayProcess* m_running;
wxTimer m_timerIdleWakeUp; // The idle-event-wake-up timer
wxTimer shutdowntimer; // The shutdown timer
private:
DECLARE_EVENT_TABLE()
};
#endif
//EXECUTEINDIALOGH
4pane-5.0/LICENCE 0000644 0001750 0001750 00000000735 12120710621 010270 0000000 0000000 I copied sections of code from the wxWidgets source, and some from other places, especially http://wxcode.sourceforge.net/index.php. These retain their original wxWindows licence (see http://www.wxwidgets.org/about/).
Otherwise 4Pane is covered by the GNU General Public Licence v.3 (http://www.gnu.org/licenses/gpl.html).
If there are 4Pane classes or other parts of the code that you wish to use in your code under a different licence, please contact me: david@4pane.co.uk
4pane-5.0/README 0000644 0001750 0001750 00000000650 13056344641 010175 0000000 0000000 Welcome to 4Pane, a multi-pane, detailed-list file manager for Linux. You will find installation instructions in INSTALL. Once that's done, you can run 4Pane by typing 4Pane in a console, or from the desktop shortcut that should have been created.
Packagers should read the file cunningly called PACKAGERS.
Full documentation is available online at http://www.4Pane.co.uk, or within 4Pane from the menu or by pressing F1.
4pane-5.0/MyFiles.h 0000644 0001750 0001750 00000011776 13120031110 011021 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: MyFiles.h
// Purpose: File-view
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef MYFILESH
#define MYFILESH
#include "wx/filename.h"
#include "wx/dir.h"
#include "wx/toolbar.h"
#include "wx/wx.h"
#include "wx/notebook.h"
#include "wx/listctrl.h"
#include "Externs.h"
#include "MyGenericDirCtrl.h"
//--------------------------------------------------------------------------
#include
#include
#include
WX_DECLARE_OBJARRAY(class DataBase, FileDataObjArray); // Declare the array of FileData objects (or the FakeFiledata alternative for archives), to hold the result of each file's wxStat
class TreeListHeaderWindow;
class FileGenericDirCtrl : public MyGenericDirCtrl // The class that displays & manipulates files
{
public:
FileGenericDirCtrl(wxWindow* parent, const wxWindowID id, const wxString& START_DIR , const wxPoint& pos, const wxSize& size,
long style = wxSUNKEN_BORDER, bool full_tree=false, const wxString& name = wxT("FileGenericDirCtrl"));
~FileGenericDirCtrl(){ CombinedFileDataArray.Clear(); FileDataArray.Clear(); }
void CreateColumns(bool left); // Called after ctor to create the columns. left says use tabdata's Lwidthcol
void OnColumnSelectMenu(wxCommandEvent& event);
void OnSize(wxSizeEvent& event){ DoSize(); event.Skip(); }
void DoSize();
virtual void UpdateStatusbarInfo(const wxString& selected); // Writes the selection's name & size in the statusbar
void ReloadTree(wxString path, wxArrayInt& IDs);
void OnOpen(wxCommandEvent& event); // From DClick, Context menu or OpenWithKdesu, passes on to DoOpen
void DoOpen(wxString& filepath); // From Context menu or DClick in pane or TerminalEm
virtual void NewFile(wxCommandEvent& event); // Create a new File or Dir
TreeListHeaderWindow* GetHeaderWindow(){ return headerwindow; }
enum columntype GetSelectedColumn();
void SetSelectedColumn(enum columntype col);
bool GetSortorder(){ return reverseorder; }
void SetSortorder(bool Sortorder){ reverseorder = Sortorder; }
bool GetIsDecimalSort(){ return m_decimalsort; }
void SetIsDecimalSort(bool decimalsort){ m_decimalsort = decimalsort; }
void SortStats(FileDataObjArray& array); // Sorts the FileData array according to column selection
void UpdateFileDataArray(const wxString& filepath); // Update an CombinedFileDataArray entry from filepath
void UpdateFileDataArray(DataBase* fd); // Update an CombinedFileDataArray entry from fd
void DeleteFromFileDataArray(const wxString& filepath); // Remove filepath from CombinedFileDataArray and update CumFilesize etc
void ShowContextMenu(wxContextMenuEvent& event); // Right-Click menu
void RecreateAcceleratorTable(); // When shortcuts are reconfigured, calls CreateAcceleratorTable()
void OnToggleHidden(wxCommandEvent& event); // Toggles whether hidden dirs & files are visible
void OnToggleDecimalAwareSort(wxCommandEvent& event); // Toggles decimal-aware sort order
void SelectFirstItem(); // Selects the first item in the tree. Used during navigation via keyboard
bool UpdateTreeFileModify(const wxString& filepath); // Called when a wxFSW_EVENT_MODIFY arrives
bool UpdateTreeFileAttrib(const wxString& filepath); // Called when a wxFSW_EVENT_ATTRIB arrives
size_t NoOfDirs; // These 3 vars are filled during MyGenericDirCtrl::ExpandDir. Data is displayed in statusbar
size_t NoOfFiles;
wxULongLong CumFilesize;
wxULongLong SelectedCumSize;
FileDataObjArray CombinedFileDataArray; // Array of FileData objects, which store etc the wxStat data. Stores dirs & files
FileDataObjArray FileDataArray; // Temporary version just for files
wxArrayString CommandArray; // Used to store an applic's launch-command, found by FiletypeManager which then loses scope
protected:
void CreateAcceleratorTable();
void OpenWithSubmenu(wxCommandEvent& event); // Events from the submenu of the context menu end up here
void OnSelectAll(wxCommandEvent& event) { GetTreeCtrl()->GetEventHandler()->ProcessEvent(event); }
void OnArchiveAppend(wxCommandEvent& event);
void OnArchiveTest(wxCommandEvent& event);
void OnOpenWith(wxCommandEvent& event);
void OpenWithKdesu(wxCommandEvent& event);
void HeaderWindowClicked(wxListEvent& event); // A L or R click occurred on the header window
bool reverseorder; // Is the selected column reverse-sorted?
bool m_decimalsort; // Should we sort filenames in a decimal-aware manner i.e. foo1, foo2 above foo11?
TreeListHeaderWindow* headerwindow;
private:
DECLARE_EVENT_TABLE()
};
#endif
// MYFILESH
4pane-5.0/MyGenericDirCtrl.cpp 0000644 0001750 0001750 00000310537 13126671406 013177 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// (Original) Name: dirctrlg.cpp
// Purpose: wxGenericDirCtrl class
// Builds on wxDirCtrl class written by Robert Roebling for the
// wxFile application, modified by Harm van der Heijden.
// Further modified for Windows. Further modified for 4Pane
// Author: Robert Roebling, Harm van der Heijden, Julian Smart et al
// Modified by: David Hart 2003-16
// Created: 21/3/2000
// Copyright: (c) Robert Roebling, Harm van der Heijden, Julian Smart. Alterations (c) David Hart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/log.h"
#include "wx/app.h"
#include "wx/frame.h"
#include "wx/scrolwin.h"
#include "wx/menu.h"
#include "wx/dirctrl.h"
#include "wx/config.h"
#include "wx/splitter.h"
#include "wx/filename.h"
#include "wx/sizer.h"
#include "wx/dnd.h"
#include "wx/dcmemory.h"
#include "wx/dragimag.h"
#include "wx/clipbrd.h"
#include "wx/arrimpl.cpp"
#include "wx/dir.h"
#include "Devices.h"
#include "Archive.h"
#include "MyGenericDirCtrl.h"
#include "Filetypes.h"
#include "MyTreeCtrl.h"
#include "MyDirs.h"
#include "MyFiles.h"
#include "MyFrame.h"
#include "Misc.h"
#if defined __WXGTK__
#include
#endif
#if USE_MYFSWATCHER
#include "sdk/fswatcher/MyFSWatcher.h"
#endif
WX_DEFINE_OBJARRAY(FileDataObjArray); // Define the array of (Fake)FileData objects
#if wxVERSION_NUMBER < 2900
DEFINE_EVENT_TYPE(FSWatcherProcessEvents)
DEFINE_EVENT_TYPE(FSWatcherRefreshWatchEvent)
#else
wxDEFINE_EVENT(FSWatcherProcessEvents, wxNotifyEvent);
wxDEFINE_EVENT(FSWatcherRefreshWatchEvent, wxNotifyEvent);
#endif
/* Closed folder */
static const char * icon1_xpm[] = {
/* width height ncolors chars_per_pixel */
"16 16 6 1",
/* colors */
" s None c None",
". c #000000",
"+ c #c0c0c0",
"@ c #808080",
"# c #ffff00",
"$ c #ffffff",
/* pixels */
" ",
" ",
" @@@@@ ",
" @#+#+#@ ",
" @#+#+#+#@@@@@@ ",
" @$$$$$$$$$$$$@.",
" @$#+#+#+#+#+#@.",
" @$+#+#+#+#+#+@.",
" @$#+#+#+#+#+#@.",
" @$+#+#+#+#+#+@.",
" @$#+#+#+#+#+#@.",
" @$+#+#+#+#+#+@.",
" @$#+#+#+#+#+#@.",
" @@@@@@@@@@@@@@.",
" ..............",
" "};
/* Open folder */
static const char * icon2_xpm[] = {
/* width height ncolors chars_per_pixel */
"16 16 6 1",
/* colors */
" s None c None",
". c #000000",
"+ c #c0c0c0",
"@ c #808080",
"# c #ffff00",
"$ c #ffffff",
/* pixels */
" ",
" ",
" @@@@@ ",
" @$$$$$@ ",
" @$#+#+#$@@@@@@ ",
" @$+#+#+$$$$$$@.",
" @$#+#+#+#+#+#@.",
"@@@@@@@@@@@@@#@.",
"@$$$$$$$$$$@@+@.",
"@$#+#+#+#+##.@@.",
" @$#+#+#+#+#+.@.",
" @$+#+#+#+#+#.@.",
" @$+#+#+#+##@..",
" @@@@@@@@@@@@@.",
" .............",
" "};
/* File */
static const char * icon3_xpm[] = {
/* width height ncolors chars_per_pixel */
"16 16 3 1",
/* colors */
" s None c None",
". c #000000",
"+ c #ffffff",
/* pixels */
" ",
" ",
" ........ ",
" .++++++.. ",
" .+.+.++.+. ",
" .++++++.... ",
" .+.+.+++++. ",
" .+++++++++. ",
" .+.+.+.+.+. ",
" .+++++++++. ",
" .+.+.+.+.+. ",
" .+++++++++. ",
" .+.+.+.+.+. ",
" .+++++++++. ",
" ........... ",
" "};
/* Computer */
static const char * icon4_xpm[] = {
"16 16 7 1",
" s None c None",
". c #808080",
"X c #c0c0c0",
"o c Black",
"O c Gray100",
"+ c #008080",
"@ c Blue",
" ........... ",
" .XXXXXXXXXX.o",
" .OOOOOOOOO..o",
" .OoooooooX..o",
" .Oo+...@+X..o",
" .Oo+XXX.+X..o",
" .Oo+....+X..o",
" .Oo++++++X..o",
" .OXXXXXXXX.oo",
" ..........o.o",
" ...........Xo",
" .XXXXXXXXXX.o",
" .o.o.o.o.o...o",
" .oXoXoXoXoXo.o ",
".XOXXXXXXXXX.o ",
"............o "};
/* Drive */
static const char * icon5_xpm[] = {
"16 16 7 1",
" s None c None",
". c #808080",
"X c #c0c0c0",
"o c Black",
"O c Gray100",
"+ c Green",
"@ c #008000",
" ",
" ",
" ",
" ",
" ............. ",
" .XXXXXXXXXXXX.o",
".OOOOOOOOOOOO..o",
".XXXXXXXXX+@X..o",
".XXXXXXXXXXXX..o",
".X..........X..o",
".XOOOOOOOOOOX..o",
"..............o ",
" ooooooooooooo ",
" ",
" ",
" "};
/* CD-ROM */
static const char *icon6_xpm[] = {
"16 16 10 1",
" s None c None",
". c #808080",
"X c #c0c0c0",
"o c Yellow",
"O c Blue",
"+ c Black",
"@ c Gray100",
"# c #008080",
"$ c Green",
"% c #008000",
" ... ",
" ..XoX.. ",
" .O.XoXXX+ ",
" ...O.oXXXX+ ",
" .O..X.XXXX+ ",
" ....X.+..XXX+",
" .XXX.+@+.XXX+",
" .X@XX.+.X@@X+",
" .....X...#XX@+ ",
".@@@...XXo.O@X+ ",
".@XXX..XXoXOO+ ",
".@++++..XoX+++ ",
".@$%@@XX+++X.+ ",
".............+ ",
" ++++++++++++ ",
" "};
/* Floppy */ // // I changed this to a floppy disk
static const char * icon7_xpm[] = {
"16 16 11 1",
" s None c None",
". c #a0a0a4",
"# c #008686",
"a c #0000ff",
"b c #0000c0",
"c c #dddddd",
"d c #ffffff",
"e c #c0c0c0",
"f c #006bc9",
"g c #000080",
"h c #969696",
"bbbbbbbbbbbbbbbh",
"baageeeeeeeeefab",
"baagdddddddddfab",
"baageeeeeeeedfab",
"baagdddddddddfab",
"baageeeeeeeddfab",
"baagddddddddefab",
"baaaaaaaaaaaafab",
"baaaaaaaaaaaafab",
"baaggggggggggfab",
"baag.eeeeegaafab",
"baag.aa.eegaafab",
"baag.aa..egaafab",
"baag.aa..egaafab",
"hb#gccccccg##fab",
" bbbbbbbbbbbbbh"};
/* Removeable */
static const char * icon8_xpm[] = {
"16 16 7 1",
" s None c None",
". c #808080",
"X c #c0c0c0",
"o c Black",
"O c Gray100",
"+ c Red",
"@ c #800000",
" ",
" ",
" ",
" ............. ",
" .XXXXXXXXXXXX.o",
".OOOOOOOOOOOO..o",
".OXXXXXXXXXXX..o",
".O+@.oooooo.X..o",
".OXXOooooooOX..o",
".OXXXOOOOOOXX..o",
".OXXXXXXXXXXX..o",
".O............o ",
" ooooooooooooo ",
" ",
" ",
" "};
#include "bitmaps/include/symlink.xpm" // // Icon for Symlink
#include "bitmaps/include/symlinkbroken.xpm" // // Icon for broken Symlinks
#include "bitmaps/include/SymlinkToFolder.xpm" // // Icon for Symlink-to-folder
#include "bitmaps/include/LockedFolder.xpm" // // Icon for Locked Folder
#include "bitmaps/include/usb.xpm" // // Icon for usb drive
#include "bitmaps/include/pipe.xpm" // // Icon for FIFO
#include "bitmaps/include/blockdevice.xpm" // // Icon for Block device
#include "bitmaps/include/chardevice.xpm" // // Icon for Char device
#include "bitmaps/connect_no.xpm" // // Icon for Socket
#include "bitmaps/include/compressedfile.xpm" // // Icon for compressed files
#include "bitmaps/include/tarball.xpm" // // Icon for tarballs et al e.g. .a
#include "bitmaps/include/compressedtar.xpm" // // Icon for compressed tarballs, .cpio, packages e.g. rpms
#include "bitmaps/include/GhostClosedFolder.xpm" // // Icon for closed folder inside a virtual archive
#include "bitmaps/include/GhostOpenFolder.xpm" // // Icon for open folder inside a virtual archive
#include "bitmaps/include/GhostFile.xpm" // // Icon for file inside a virtual archive
#include "bitmaps/include/GhostCompressedFile.xpm" // // Icon for compressed file inside a virtual archive
#include "bitmaps/include/GhostTarball.xpm" // // Icon for archive inside a virtual archive
#include "bitmaps/include/GhostCompressedTar.xpm" // // Icon for compressed archive inside a virtual archive
#include "bitmaps/include/UnknownFolder.xpm" // // Icon for corrupted folder
#include "bitmaps/include/UnknownFile.xpm" // // Icon for corrupted file
// Function which is called by quick sort. We want to override the default wxArrayString behaviour,
// by using wxStrcoll(), which makes the sort locale-aware (see bug 2863704)
static int LINKAGEMODE wxDirCtrlStringCompareFunctionLC_COLLATE(const void *first, const void *second)
{
wxString strFirst(*((wxString*)(first)));
wxString strSecond(*((wxString*)(second)));
return wxStrcoll((strFirst.c_str()), (strSecond.c_str()));
}
// The original, non-local-aware method
static int LINKAGEMODE wxDirCtrlStringCompareFunction(const void *first, const void *second)
{
wxString *strFirst = (wxString *)first;
wxString *strSecond = (wxString *)second;
return strFirst->CmpNoCase(*strSecond);
}
static int LINKAGEMODE (*wxDirCtrlStringCompareFunc)(const void *first, const void *second) = &wxDirCtrlStringCompareFunctionLC_COLLATE;
void SetDirpaneSortMethod(const bool LC_COLLATE_aware) // If true, make the dirpane sorting take account of LC_COLLATE
{
if (LC_COLLATE_aware)
wxDirCtrlStringCompareFunc = &wxDirCtrlStringCompareFunctionLC_COLLATE;
else
wxDirCtrlStringCompareFunc = &wxDirCtrlStringCompareFunction;
}
//-----------------------------------------------------------------------------
// wxGenericDirCtrl
//-----------------------------------------------------------------------------
#if wxVERSION_NUMBER < 2900
DEFINE_EVENT_TYPE(MyUpdateToolbartextEvent) // A custom event-type, used by DisplaySelectionInTBTextCtrl()
#else
wxDEFINE_EVENT(MyUpdateToolbartextEvent, wxNotifyEvent);
#endif
#define EVT_MYUPDATE_TBTEXT(fn) \
DECLARE_EVENT_TABLE_ENTRY( \
MyUpdateToolbartextEvent, wxID_ANY, wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction)(wxNotifyEventFunction)&fn, \
(wxObject*) NULL),
IMPLEMENT_DYNAMIC_CLASS(MyGenericDirCtrl, wxControl)
BEGIN_EVENT_TABLE(MyGenericDirCtrl, wxGenericDirCtrl)
EVT_TREE_ITEM_EXPANDED(-1, MyGenericDirCtrl::OnExpandItem)
EVT_TREE_ITEM_COLLAPSED(-1, MyGenericDirCtrl::OnCollapseItem)
EVT_MENU(SHCUT_CUT, MyGenericDirCtrl::OnShortcutCut)
EVT_MENU(SHCUT_COPY, MyGenericDirCtrl::OnShortcutCopy)
EVT_MENU(SHCUT_PASTE, MyGenericDirCtrl::OnShortcutPaste)
EVT_MENU(SHCUT_HARDLINK, MyGenericDirCtrl::OnShortcutHardLink)
EVT_MENU(SHCUT_SOFTLINK, MyGenericDirCtrl::OnShortcutSoftLink)
EVT_MENU(SHCUT_TRASH, MyGenericDirCtrl::OnShortcutTrash)
EVT_MENU(SHCUT_DELETE, MyGenericDirCtrl::OnShortcutDel)
EVT_MENU(SHCUT_RENAME, MyGenericDirCtrl::OnRename)
EVT_MENU(SHCUT_DUP, MyGenericDirCtrl::OnDup)
EVT_MENU(SHCUT_REPLICATE, MyGenericDirCtrl::OnReplicate)
EVT_MENU(SHCUT_SWAPPANES, MyGenericDirCtrl::OnSwapPanes)
EVT_MENU(SHCUT_FILTER, MyGenericDirCtrl::OnFilter)
EVT_MENU(SHCUT_PROPERTIES, MyGenericDirCtrl::OnProperties)
EVT_MENU(SHCUT_SPLITPANE_VERTICAL, MyGenericDirCtrl::OnSplitpaneVertical)
EVT_MENU(SHCUT_SPLITPANE_HORIZONTAL, MyGenericDirCtrl::OnSplitpaneHorizontal)
EVT_MENU(SHCUT_SPLITPANE_UNSPLIT, MyGenericDirCtrl::OnSplitpaneUnsplit)
EVT_MENU(SHCUT_UNDO, MyGenericDirCtrl::OnShortcutUndo)
EVT_MENU(SHCUT_REDO, MyGenericDirCtrl::OnShortcutRedo)
EVT_MENU(SHCUT_REFRESH, MyGenericDirCtrl::OnRefreshTree)
EVT_MENU(SHCUT_GOTO_SYMLINK_TARGET, MyGenericDirCtrl::OnShortcutGoToSymlinkTarget)
EVT_MENU(SHCUT_GOTO_ULTIMATE_SYMLINK_TARGET, MyGenericDirCtrl::OnShortcutGoToSymlinkTarget)
EVT_SIZE(MyGenericDirCtrl::OnSize)
EVT_TREE_SEL_CHANGED (-1, MyGenericDirCtrl::OnTreeSelected) // //
EVT_TREE_ITEM_ACTIVATED(-1, MyGenericDirCtrl::OnTreeItemDClicked) // //
EVT_MYUPDATE_TBTEXT(MyGenericDirCtrl::DoDisplaySelectionInTBTextCtrl) // //
EVT_IDLE(MyGenericDirCtrl::OnIdle)
#if defined(__LINUX__) && defined(__WXGTK__) && !USE_MYFSWATCHER
EVT_FSWATCHER(wxID_ANY, MyGenericDirCtrl::OnFileWatcherEvent) // //
#endif
END_EVENT_TABLE()
MyGenericDirCtrl::MyGenericDirCtrl(void) : pos(wxDefaultPosition), size(wxDefaultSize)
{
Init();
}
bool MyGenericDirCtrl::Create(wxWindow *parent,
const wxWindowID id,
const wxString& dir,
long style,
const wxString& filter,
int defaultFilter,
const wxString& name
)
{
if (!wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name))
return false;
SelFlag = false; // // Flags if a selection event is real or from internals
DisplayFilesOnly = false; // //
NoVisibleItems = false; // // Flags whether the user has filtered out all the items
wxColour backgroundcol = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
SetBackgroundColour(backgroundcol);
if (!USE_DEFAULT_TREE_FONT && CHOSEN_TREE_FONT.Ok()) SetFont(CHOSEN_TREE_FONT); // //
else
#ifdef __WXGTK20__
{ wxFont font = GetFont(); font.SetPointSize(font.GetPointSize() - 2); SetFont(font); } // // GTK2 gives a font-size that is c.2 points larger than GTK1.2
#endif
Init();
if (fileview==ISLEFT) // // Directory view
treeStyle = wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT;
else
treeStyle = wxTR_HIDE_ROOT; // // File view so no "+-boxes"
treeStyle |= wxTR_MULTIPLE; // // Implement multiple selection
if (style & wxDIRCTRL_EDIT_LABELS)
treeStyle |= wxTR_EDIT_LABELS;
if ((style & wxDIRCTRL_3D_INTERNAL) == 0)
treeStyle |= wxNO_BORDER;
else
treeStyle |= wxBORDER_SUNKEN;
filterStyle = 0;
if ((style & wxDIRCTRL_3D_INTERNAL) == 0)
filterStyle |= wxNO_BORDER;
else
filterStyle |= wxBORDER_SUNKEN;
m_filter = filter;
// SetFilterIndex(defaultFilter);
if (m_filterListCtrl)
m_filterListCtrl->FillFilterList(filter, defaultFilter);
m_treeCtrl = new MyTreeCtrl(this, NextID++/*wxID_TREECTRL*/, pos, size, treeStyle); // // Originally wxTreeCtrl
if (COLOUR_PANE_BACKGROUND) // //
{ if (fileview == ISLEFT) backgroundcol = BACKGROUND_COLOUR_DV;
else backgroundcol = SINGLE_BACKGROUND_COLOUR ? BACKGROUND_COLOUR_DV:BACKGROUND_COLOUR_FV;
m_treeCtrl->SetBackgroundColour(backgroundcol);
}
#if wxVERSION_NUMBER >= 3000 && defined(__WXGTK3__) && !GTK_CHECK_VERSION(3,10,0)
else // An early gtk+3, which by default will give the tree a grey background
{ m_treeCtrl->SetBackgroundColour( GetSaneColour(m_treeCtrl, true, wxSYS_COLOUR_LISTBOX) ); }
#endif
m_imageList = new wxImageList(16, 16, true);
m_imageList->Add(wxIcon(icon1_xpm));
m_imageList->Add(wxIcon(icon2_xpm));
m_imageList->Add(wxIcon(icon3_xpm));
m_imageList->Add(wxIcon(icon4_xpm));
m_imageList->Add(wxIcon(icon5_xpm));
m_imageList->Add(wxIcon(icon6_xpm));
m_imageList->Add(wxIcon(icon7_xpm));
m_imageList->Add(wxIcon(icon8_xpm));
m_imageList->Add(wxIcon(symlink_xpm)); // //
m_imageList->Add(wxIcon(symlinkbroken_xpm)); // //
m_imageList->Add(wxIcon(SymlinkToFolder_xpm)); // //
m_imageList->Add(wxIcon(LockedFolder_xpm)); // //
m_imageList->Add(wxIcon(usb_xpm)); // //
m_imageList->Add(wxIcon(pipe_xpm)); // //
m_imageList->Add(wxIcon(blockdevice_xpm)); // //
m_imageList->Add(wxIcon(chardevice_xpm)); // //
m_imageList->Add(wxIcon(connect_no_xpm)); // //
m_imageList->Add(wxIcon(compressedfile_xpm)); // //
m_imageList->Add(wxIcon(tarball_xpm)); // //
m_imageList->Add(wxIcon(compressedtar_xpm)); // //
m_imageList->Add(wxIcon(ghostclosedfolder_xpm)); // //
m_imageList->Add(wxIcon(ghostopenfolder_xpm)); // //
m_imageList->Add(wxIcon(ghostfile_xpm)); // //
m_imageList->Add(wxIcon(ghostcompressedfile_xpm)); // //
m_imageList->Add(wxIcon(ghosttarball_xpm)); // //
m_imageList->Add(wxIcon(ghostcompressedtar_xpm)); // //
m_imageList->Add(wxIcon(UnknownFolder_xpm)); // //
m_imageList->Add(wxIcon(UnknownFile_xpm)); // //
m_treeCtrl->AssignImageList(m_imageList); // //
m_showHidden = SHOWHIDDEN;
return true;
}
void MyGenericDirCtrl::FinishCreation() // // Separated from Create() so that MyFileDirCtrl can be initialised first
{
#if defined(__LINUX__) && defined(__WXGTK__)
m_eventmanager.SetOwner(this);
m_watcher = NULL; // // In case we can't instantiate it here as the eventloop isn't yet available
#endif
if (fileview == ISLEFT) arcman = new ArchiveStreamMan; // // The twin views share an archive manager
else if (partner) arcman = partner->arcman; // // So create in the dirview (which is made first), copy when in fileview
CreateTree();
if (fileview == ISLEFT)
static_cast(this)->GetNavigationManager().PushEntry(startdir); // // startdir will probably have been empty until the CreateTree() call
SelFlag = true; // // Permits future selection events
#if defined(__LINUX__) && defined(__WXGTK__)
if (wxApp::IsMainLoopRunning()) // If the loop's not running yet, this will happen from OnIdle()
{ m_watcher = new MyFSWatcher(this);
if (USE_FSWATCHER && !(arcman && arcman->IsArchive()))
{ if (fileview == ISLEFT)
m_watcher->SetDirviewWatch(GetActiveDirPath());
else
m_watcher->SetFileviewWatch(GetActiveDirPath());
}
}
Connect(wxID_ANY, FSWatcherProcessEvents, wxNotifyEventHandler(MyGenericDirCtrl::OnProcessStoredFSWatcherEvents), NULL, this);
#if USE_MYFSWATCHER
Connect(wxID_ANY, wxEVT_FSWATCHER, wxFileSystemWatcherEventHandler(MyGenericDirCtrl::OnFileWatcherEvent), NULL, this);
#endif
#endif
}
void MyGenericDirCtrl::OnIdle(wxIdleEvent& WXUNUSED(event))
{
#if defined(__LINUX__) && defined(__WXGTK__)
if (!m_watcher && !GetActiveDirPath().empty()) // If not already done, and the event-loop is now running
{ m_watcher = new MyFSWatcher(this);
if (USE_FSWATCHER && !(arcman && arcman->IsArchive()))
{ if (fileview == ISLEFT)
m_watcher->SetDirviewWatch(GetActiveDirPath());
else
m_watcher->SetFileviewWatch(GetActiveDirPath());
}
}
if (USE_FSWATCHER && arcman && arcman->IsArchive())
m_eventmanager.ClearStoredEvents();
#endif
if (m_StatusbarInfoValid) return; // Call UpdateStatusbarInfo() if needed
wxString selected = GetPath();
if (selected.IsEmpty()) return; //We must check for emptiness, as this method is called before creation is absolutely finished, whereupon arcman->IsArchive() segs
if (arcman && !arcman->IsArchive() && (fileview == ISRIGHT))
{ if (SHOW_RECURSIVE_FILEVIEW_SIZE)
wxStaticCast(this, FileGenericDirCtrl)->SelectedCumSize = GetDirSizeRecursively(selected); // Do we use the slow & complete recursive method
else wxStaticCast(this, FileGenericDirCtrl)->SelectedCumSize = GetDirSize(selected); // or the quick and incomplete one-shot?
}
m_StatusbarInfoValid = true;
UpdateStatusbarInfo(selected);
}
#if defined(__LINUX__) && defined(__WXGTK__)
void MyGenericDirCtrl::OnProcessStoredFSWatcherEvents(wxNotifyEvent& event)
{
if (USE_FSWATCHER && !(arcman && arcman->IsArchive()))
{ int count = event.GetInt();
if (count > 0) // If the count > 0 resend it, decremented. Otherwise do the actual processing
{ event.SetInt(count - 1);
wxPostEvent(this, event);
}
else
m_eventmanager.ProcessStoredEvents();
}
}
#endif
void MyGenericDirCtrl::CreateTree() // // Extracted from Create, reused in ReCreateTreeFromSelection()
{
if (startdir.IsEmpty()) startdir = wxGetApp().GetHOME(); // // If startdir = null, go straight HOME
bool InsideArchive = false; // // Used below as we can't use FileData within an archive
ziptype ArchiveType = zt_invalid; // //
// // This is all mine
if (fileview == ISLEFT) // // If dirview and inside an archive, make sure we're still inside it. If not, come out layer by layer until startdir is found
while (arcman->IsArchive() && // // If within an archive, see if we just dclicked inside the current archive
!(arcman->IsWithinThisArchive(startdir) || arcman->IsWithinThisArchive(startdir + wxFILE_SEP_PATH)))
OnExitingArchive(); // // If not, remove a layer of nested archives & try again
InsideArchive = arcman && arcman->IsWithinArchive(startdir);
bool success = true; // //
ArchiveType = Archive::Categorise(startdir); // // Check if startdir is likely to be an archive
if (fileview == ISLEFT && ArchiveType != zt_invalid)
{ if (arcman && (!arcman->GetArc() || (startdir+wxFILE_SEP_PATH) != arcman->GetArc()->Getffs()->GetRootDir()->GetFilepath())) // // and not this one
success = arcman->NewArc(startdir, ArchiveType); // // If so, this Pushes any old arc and creates a new one
}
else if (InsideArchive) ArchiveType = arcman->GetArchiveType(); // // Otherwise, if we're still inside an archive, revert to its type
if (fileview==ISLEFT)
{ if (!success || (ArchiveType == zt_invalid && !wxDirExists(startdir))) // // If it's not a dir or an archive, or if NewArc failed above
{ while (startdir.Right(1) == wxFILE_SEP_PATH && startdir.Len() > 1) startdir.RemoveLast();
startdir = startdir.BeforeLast(wxFILE_SEP_PATH); // // If the requested startdir doesn't exist, try its parent
if (!wxDirExists(startdir))
{ startdir = wxGetApp().GetHOME(); // // If this still doesn't exist, use any passed HOME
if (!wxDirExists(startdir))
startdir = wxGetHomeDir(); // // If this doesn't exist either, use $HOME (which surely . . . )
}
}
MyGenericDirCtrl* active = MyFrame::mainframe->GetActivePane();
if (active)
if (active->GetId() == GetId())
DisplaySelectionInTBTextCtrl(startdir); // // If we're the active pane, update the textctrl
if (!startdir.IsSameAs(wxFILE_SEP_PATH)) // // Don't want to root-prune
while (startdir.Right(1) == wxFILE_SEP_PATH // // Avoid '/' problems
&& startdir.Len() > 1) startdir.RemoveLast(); // // but don't remove too many --- lest someone enters "///" ?
}
m_defaultPath = startdir; // //
SetTreePrefs(); // // Sets the Tree widths according to prefs
wxDirItemData* rootData;
if (fulltree && fileview==ISLEFT)
rootData = new wxDirItemData(wxT("/"), wxT(""), true); // // The original way
else
if (fileview==ISLEFT) rootData = new wxDirItemData(/*startdir*/wxT("foo"), wxT(""), true);
else rootData = new wxDirItemData(startdir, wxT(""), true);
wxString rootName;
#if defined(__WINDOWS__) || defined(__WXPM__) || defined(__DOS__)
rootName = _("Computer");
#else
rootName = _("Sections");
#endif
m_rootId = m_treeCtrl->AddRoot(rootName, 3, -1, rootData);
m_treeCtrl->SetItemHasChildren(m_rootId);
if (!InsideArchive) // //
{ FileData startdirFD(startdir); // //
if (fileview == ISLEFT || (fileview == ISRIGHT && startdirFD.CanTHISUserExecute())) // // If this is a fileview, check we have exec permission for parent dir. Otherwise it looks horrible
ExpandDir(m_rootId); // automatically expand first level
}
else
ExpandDir(m_rootId); // automatically expand first level
//Expand and select the default path
if (!m_defaultPath.IsEmpty()) // This was set above to the passed param "dir"
ExpandPath(m_defaultPath);
DoResize();
}
MyGenericDirCtrl::~MyGenericDirCtrl()
{
if (fileview == ISLEFT) { delete arcman; arcman = NULL; } // //
else arcman = NULL; // // Needed as Redo sometimes stores subsequently-deleted MyGenericDirCtrls*
#if defined(__LINUX__) && defined(__WXGTK__)
delete m_watcher;
#endif
}
void MyGenericDirCtrl::Init()
{
partner = NULL;
arcman = NULL;
m_showHidden = SHOWHIDDEN; // //
m_imageList = NULL;
m_currentFilter = 0;
SetFilterArray(wxEmptyString, false); // // Default: any file
m_treeCtrl = NULL;
m_filterListCtrl = NULL;
}
void MyGenericDirCtrl::ShowHidden(bool show)
{
m_showHidden = show;
wxString path = GetPath();
ReCreateTree();
if (!path.empty()) SetPath(path);
}
const wxTreeItemId MyGenericDirCtrl::AddSection(const wxString& path, const wxString& name, int imageId)
{
wxDirItemData *dir_item = new wxDirItemData(path,name,true);
wxTreeItemId id = m_treeCtrl->AppendItem(m_rootId, name, imageId, -1, dir_item);
m_treeCtrl->SetItemHasChildren(id);
return id;
}
void MyGenericDirCtrl::SetupSections()
{
#if defined(__WINDOWS__) || defined(__DOS__) || defined(__WXPM__)
#ifdef __WIN32__
wxChar driveBuffer[256];
size_t n = (size_t) GetLogicalDriveStrings(255, driveBuffer);
size_t i = 0;
while (i < n)
{
wxString path, name;
path.Printf(wxT("%c:\\"), driveBuffer[i]);
name.Printf(wxT("(%c:)"), driveBuffer[i]);
int imageId = GDC_drive;
int driveType = ::GetDriveType(path);
switch (driveType)
{
case DRIVE_REMOVABLE:
if (path == wxT("a:\\") || path == wxT("b:\\"))
imageId = GDC_floppy;
else
imageId = GDC_removable;
break;
case DRIVE_FIXED:
imageId = GDC_drive;
break;
case DRIVE_REMOTE:
imageId = GDC_drive;
break;
case DRIVE_CDROM:
imageId = GDC_cdrom;
break;
default:
imageId = GDC_drive;
break;
}
AddSection(path, name, imageId);
while (driveBuffer[i] != wxT('\0'))
i ++;
i ++;
if (driveBuffer[i] == wxT('\0'))
break;
}
#else // !__WIN32__
int drive;
/* If we can switch to the drive, it exists. */
for(drive = 1; drive <= 26; drive++)
{
wxString path, name;
path.Printf(wxT("%c:\\"), (wxChar) (drive + 'a' - 1));
name.Printf(wxT("(%c:)"), (wxChar) (drive + 'A' - 1));
if (wxIsDriveAvailable(path))
{
AddSection(path, name, (drive <= 2) ? GDC_floppy : GDC_drive);
}
}
#endif // __WIN32__/!__WIN32__
#elif defined(__WXMAC__)
FSSpec volume ;
short index = 1 ;
while(1) {
short actualCount = 0 ;
if (OnLine(&volume , 1 , &actualCount , &index) != noErr || actualCount == 0)
break ;
wxString name = wxMacFSSpec2MacFilename(&volume) ;
AddSection(name + wxFILE_SEP_PATH, name, GDC_closedfolder);
}
#elif defined(__UNIX__)
if (fulltree) // //If we're displaying the whole directory tree, need to provide a "My Computer" equivalent
AddSection(wxT("/"), wxT("/"), GDC_computer);
else // // Otherwise, if just displaying part of the disk, this plonks in the start dir & selects the appropriate icon
{ DeviceAndMountManager* pDM = MyFrame::mainframe->Layout->m_notebook->DeviceMan;
DevicesStruct* ds = pDM->QueryAMountpoint(startdir);
treerooticon roottype = ordinary; // Provide a bland default
if (ds != NULL) roottype = pDM->deviceman->DevInfo->GetIcon(ds->devicetype);
switch(roottype)
{ case floppytype: AddSection(startdir, startdir, GDC_floppy); break;
case cdtype: AddSection(startdir, startdir, GDC_cdrom); break;
case usbtype: AddSection(startdir, startdir, GDC_usb); break;
case ordinary: if (arcman && arcman->IsArchive())
{ AddSection(startdir, startdir, Archive::GetIconForArchiveType(arcman->GetArchiveType(), false)); break; } // Archive. Otherwise fall thru to default
default: AddSection(startdir, startdir, GDC_openfolder); break;
}
}
#else
#error "Unsupported platform in wxGenericDirCtrl!"
#endif
}
void MyGenericDirCtrl::OnBeginEditItem(wxTreeEvent &event)
{
// don't rename the main entry "Sections"
if (event.GetItem() == m_rootId)
{
event.Veto();
return;
}
// don't rename the individual sections
if (m_treeCtrl->GetItemParent(event.GetItem()) == m_rootId)
{
event.Veto();
return;
}
}
void MyGenericDirCtrl::OnEndEditItem(wxTreeEvent &event)
{
if ((event.GetLabel().IsEmpty()) ||
(event.GetLabel() == wxT(".")) ||
(event.GetLabel() == wxT("..")) ||
(event.GetLabel().First(wxT("/")) != wxNOT_FOUND))
{
wxMessageDialog dialog(this, _("Illegal directory name."), _("Error"), wxOK | wxICON_ERROR);
dialog.ShowModal();
event.Veto();
return;
}
wxTreeItemId id = event.GetItem();
wxDirItemData *data = (wxDirItemData*)m_treeCtrl->GetItemData(id);
wxASSERT(data);
wxString new_name(wxPathOnly(data->m_path));
new_name += wxString(wxFILE_SEP_PATH);
new_name += event.GetLabel();
wxLogNull log;
if (wxFileExists(new_name))
{
wxMessageDialog dialog(this, _("File name exists already."), _("Error"), wxOK | wxICON_ERROR);
dialog.ShowModal();
event.Veto();
}
if (wxRenameFile(data->m_path,new_name))
{
data->SetNewDirName(new_name);
}
else
{
wxMessageDialog dialog(this, _("Operation not permitted."), _("Error"), wxOK | wxICON_ERROR);
dialog.ShowModal();
event.Veto();
}
}
void MyGenericDirCtrl::OnExpandItem(wxTreeEvent &event)
{
wxTreeItemId parentId = event.GetItem();
// VS: this is needed because the event handler is called from wxTreeCtrl
// ctor when wxTR_HIDE_ROOT was specified
if (!m_rootId.IsOk())
m_rootId = m_treeCtrl->GetRootItem();
ExpandDir(parentId);
#if defined(__LINUX__) && defined(__WXGTK__)
if (USE_FSWATCHER && m_watcher)
// // We've changed the visible dirs, so need to update what's watched
// // But not immediately in case it's recursive i.e. '*' on e.g. /usr/lib, which would take a significant time if repeated for each dir
// // Also, don't try to watch an archive stream that's just being opened, or a subdir inside one. That'll give wxLogErrors in FileSystemWatcher::Add
{ // wxLogDebug(wxT("About to SetDirviewWatch from OnExpandItem()"));
FileData fd(startdir);
if (!fd.IsValid() || (!fd.IsDir() && !fd.IsSymlinktargetADir()))
return;
if (fulltree)
m_watcher->DoDelayedSetDirviewWatch(wxT("/"));
else m_watcher->DoDelayedSetDirviewWatch(startdir);
}
#endif
}
void MyGenericDirCtrl::OnCollapseItem(wxTreeEvent &event)
{
CollapseDir(event.GetItem());
//wxLogDebug(wxT("About to SetDirviewWatch from OnCollapseItem()"));
#if defined(__LINUX__) && defined(__WXGTK__)
if (m_watcher)
m_watcher->SetDirviewWatch(startdir); // // We've changed the visible dirs, so need to update what's watched
#endif
}
void MyGenericDirCtrl::CollapseDir(wxTreeItemId parentId)
{
wxTreeItemId child;
wxDirItemData *data = (wxDirItemData *) m_treeCtrl->GetItemData(parentId);
if (!data || !data->m_isExpanded)
return;
data->m_isExpanded = false;
wxTreeItemIdValue cookie;
/* Workaround because DeleteChildren has disapeared (why?) and
* CollapseAndReset doesn't work as advertised (deletes parent too) */
child = m_treeCtrl->GetFirstChild(parentId, cookie);
while (child.IsOk())
{
m_treeCtrl->Delete(child);
/* Not GetNextChild below, because the cookie mechanism can't
* handle disappearing children! */
child = m_treeCtrl->GetFirstChild(parentId, cookie);
}
}
void MyGenericDirCtrl::ExpandDir(wxTreeItemId parentId)
{
wxDirItemData *data = (wxDirItemData *) m_treeCtrl->GetItemData(parentId);
if (!data || data->m_isExpanded)
return;
data->m_isExpanded = true;
if (fileview == ISLEFT) // // if we're supposed to be showing directories, rather than files
if (parentId == m_treeCtrl->GetRootItem())
{
SetupSections();
return;
}
wxASSERT(data);
wxString search,path,filename;
wxString dirName(data->m_path);
#if defined(__WINDOWS__) || defined(__DOS__) || defined(__WXPM__)
// Check if this is a root directory and if so,
// whether the drive is avaiable.
if (!wxIsDriveAvailable(dirName))
{
data->m_isExpanded = false;
//wxMessageBox(wxT("Sorry, this drive is not available."));
return;
}
#endif
// This may take a longish time. Go to busy cursor
wxBusyCursor busy;
#if defined(__WINDOWS__) || defined(__DOS__) || defined(__WXPM__)
if (dirName.Last() == ':')
dirName += wxString(wxFILE_SEP_PATH);
#endif
if (dirName.Last() != wxFILE_SEP_PATH) // // I'm speeding things up by taking this out of the loops below
dirName += wxString(wxFILE_SEP_PATH);
wxArrayString dirs;
wxArrayString filenames;
// wxDir d;
DirBase* d; // // This is the base-class both for mywxDir and for ArcDir (for archives)
bool IsArchv = arcman && arcman->IsArchive(); // //
if (IsArchv) d = new ArcDir(arcman->GetArc()); // //
else d = new mywxDir; // //
wxString eachFilename;
wxLogNull log;
d->Open(dirName);
FileGenericDirCtrl* FileCtrl; // //
if (fileview==ISRIGHT) // // If this is a fileview, do things differently from normal: use array of FileData* to store & sort the data
{ FileCtrl = (FileGenericDirCtrl*)this;
FileCtrl->CombinedFileDataArray.Clear(); // // Clear the array of FileData* (the place where the stat data will be stored)
FileCtrl->FileDataArray.Clear(); // // & the temp one for files
FileCtrl->CumFilesize = 0; // // & this dir's cum filesize, to display in statusbar
if (d->IsOpened())
{
int style = wxDIR_FILES; // //
if (!DisplayFilesOnly) style |= wxDIR_DIRS; // //
if (m_showHidden) style |= wxDIR_HIDDEN; // //
if (GetFilterArray().GetCount() < 2) // // If we're not using multiple filter strings, do things the standard way
{ m_currentFilterStr = GetFilterArray().Item(0); // // Find the sole filter-string (which may well be "")
if (d->GetFirst(&eachFilename, m_currentFilterStr, style)) // // Since wxDir can't (currently) distinguish a dir from a symlink-to-dir, get every filetype at once
{ do
{ if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
{ DataBase* stat=NULL;
if (IsArchv)
{ wxString path(dirName + eachFilename);
if (path.Right(1)==wxFILE_SEP_PATH)
{ FakeDir* fd = arcman->GetArc()->Getffs()->GetRootDir()->FindSubdirByFilepath(eachFilename);
if (fd) stat = new FakeDir(*fd);
}
else
{ FakeFiledata* fd = arcman->GetArc()->Getffs()->GetRootDir()->FindFileByName(eachFilename);
if (fd) stat = new FakeFiledata(*fd);
}
}
else stat = new FileData(dirName + eachFilename); // // Create a new FileData for the entry & add it to the appropriate array
if (stat->IsValid())
{ if (stat->IsDir() // // Is it a dir?
|| (TREAT_SYMLINKTODIR_AS_DIR && stat->IsSymlinktargetADir())) // // or a symlink to one, & user wants to display it with dirs
FileCtrl->CombinedFileDataArray.Add(stat); // // Yes, so put it in combined array
else FileCtrl->FileDataArray.Add(stat); // // No, so put it in file array
}
else // Invalid, so presumably a corrupt item
{ if (ReallyIsDir(dirName, eachFilename))
FileCtrl->CombinedFileDataArray.Add(stat); // // It's probably a corrupt dir
else
FileCtrl->FileDataArray.Add(stat); // // It's not likely to be a dir
}
}
}
while (d->GetNext(&eachFilename));
}
}
else
{ if (d->GetFirst(&eachFilename, wxEmptyString, style)) // // Otherwise, get ALL the entries that match style, and do the filtering separately
{ do
{ if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
{ bool matches=false;
for (size_t n=0; n < GetFilterArray().GetCount(); ++n)// // Go thru the list of filters, applying each in turn until one matches
if (wxMatchWild(GetFilterArray().Item(n), eachFilename))
{ matches = true; break; } // // Got a match so flag & skip the rest of the for-loop
if (matches) // // If there was a match, add to the correct array. Otherwise ignore this entry
{ DataBase* stat=NULL;
if (IsArchv)
{ wxString path(dirName + eachFilename);
if (path.Right(1)==wxFILE_SEP_PATH)
{ FakeDir* fd = arcman->GetArc()->Getffs()->GetRootDir()->FindSubdirByFilepath(eachFilename);
if (fd) stat = new FakeDir(*fd);
}
else
{ FakeFiledata* fd = arcman->GetArc()->Getffs()->GetRootDir()->FindFileByName(eachFilename);
if (fd) stat = new FakeFiledata(*fd);
}
}
else stat = new FileData(dirName + eachFilename); // // Create a new FileData for the entry & add it to the appropriate array
if (stat->IsValid())
{ if (stat->IsDir() // // Is it a dir?
|| (TREAT_SYMLINKTODIR_AS_DIR && stat->IsSymlinktargetADir())) // // or a symlink to one, & user wants to display it with dirs
FileCtrl->CombinedFileDataArray.Add(stat); // // Yes, so put it in combined array
else FileCtrl->FileDataArray.Add(stat); // // No, so put it in file array
}
else // Invalid, so presumably a corrupt item
{ if (ReallyIsDir(dirName, eachFilename))
FileCtrl->CombinedFileDataArray.Add(stat); // // It's probably a corrupt dir
else
FileCtrl->FileDataArray.Add(stat); // // It's not likely to be a dir
}
}
}
}
while (d->GetNext(&eachFilename));
}
}
FileCtrl->SortStats(FileCtrl->CombinedFileDataArray); // // Sort the dirs
FileCtrl->NoOfDirs = FileCtrl->CombinedFileDataArray.GetCount(); // // Store the no of dirs
FileCtrl->SortStats(FileCtrl->FileDataArray); // // Sort the files
FileCtrl->NoOfFiles = FileCtrl->FileDataArray.GetCount(); // // Store the no of files
// Add the sorted dirs
size_t i;
for (i = 0; i < FileCtrl->CombinedFileDataArray.GetCount(); ++i)
{
if (FileCtrl->CombinedFileDataArray[i].IsValid())
{ wxString eachFilename(FileCtrl->CombinedFileDataArray[i].GetFilename()); // // Note that we take the filenames from the sorted FileDataArray
path = dirName + eachFilename;
// // if (path.Last() != wxFILE_SEP_PATH)
// // path += wxString(wxFILE_SEP_PATH);
// // path += eachFilename;
wxDirItemData *dir_item = new wxDirItemData(path,eachFilename,true);
wxTreeItemId id;
if (TREAT_SYMLINKTODIR_AS_DIR && FileCtrl->CombinedFileDataArray[i].IsSymlinktargetADir()) // //
id = m_treeCtrl->AppendItem(parentId, eachFilename, GDC_symlinktofolder, -1, dir_item); // // Display as symlink-to-dir
else
{ int imageindex = 0 + (GDC_ghostclosedfolder*IsArchv) + ((!IsArchv && access(path.mb_str(wxConvUTF8), R_OK))*GDC_lockedfolder); // // access() checks if the dir is locked
id = m_treeCtrl->AppendItem(parentId, eachFilename, imageindex, -1, dir_item);
}
m_treeCtrl->SetItemImage(id, IsArchv ? GDC_ghostopenfolder : GDC_openfolder, wxTreeItemIcon_Expanded);
}
else
{ wxString name(FileCtrl->CombinedFileDataArray[i].ReallyGetName());
wxDirItemData *dir_item = new wxDirItemData(dirName + name,name,false);
m_treeCtrl->AppendItem(parentId, name, GDC_unknownfolder, -1, dir_item); // // An invalid filedata, so presumably a corrupt dir
}
// Has this got any children? If so, make it expandable.
// (There are two situations when a dir has children: either it
// has subdirectories or it contains files that weren't filtered
// out. The latter only applies to dirctrl with files.)
// // if (dir_item->HasSubDirs() || // // This isn't needed for a fileview
// // (((GetWindowStyle() & wxDIRCTRL_DIR_ONLY) == 0) &&
// // dir_item->HasFiles(m_currentFilterStr)))
// // {
// // m_treeCtrl->SetItemHasChildren(id);
// // }
}
// Add the sorted filenames
for (i = 0; i < FileCtrl->FileDataArray.GetCount(); i++)
{
if (FileCtrl->FileDataArray[i].IsValid())
{ FileCtrl->CumFilesize += FileCtrl->FileDataArray[i].Size(); // // Grab the opportunity to update the cumulative files-size
wxString eachFilename(FileCtrl->FileDataArray[i].GetFilename());// // Note that we take the filenames from the sorted FileDataArray
path = dirName + eachFilename;
wxDirItemData *dir_item = new wxDirItemData(path,eachFilename,false);
if (FileCtrl->FileDataArray[i].IsRegularFile()) // // If the item is a file
{ ziptype zt = Archive::Categorise(path);
if (zt != zt_invalid) // // There are special icons for archives etc
(void)m_treeCtrl->AppendItem(parentId, eachFilename, Archive::GetIconForArchiveType(zt, IsArchv), -1, dir_item);
else (void)m_treeCtrl->AppendItem(parentId, eachFilename, IsArchv? GDC_ghostfile : GDC_file, -1, dir_item); // // otherwise use the standard icon
}
else if (FileCtrl->FileDataArray[i].IsSymlink()) // // If the item is a symlink
{
if (FileCtrl->FileDataArray[i].IsSymlinktargetADir()) // // If it's pointing to a dir, use the appropriate icon
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_symlinktofolder, -1, dir_item); // //
else
{ if (FileCtrl->FileDataArray[i].IsBrokenSymlink())
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_brokensymlink, -1, dir_item);
else
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_symlink, -1, dir_item); // // If it's pointing to a file, use that icon
}
}
else if (FileCtrl->FileDataArray[i].IsFIFO()) // // FIFO
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_pipe, -1, dir_item);
else if (FileCtrl->FileDataArray[i].IsBlkDev()) // // Block device
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_blockdevice, -1, dir_item);
else if (FileCtrl->FileDataArray[i].IsCharDev()) // // Char device
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_chardevice, -1, dir_item);
else if (FileCtrl->FileDataArray[i].IsSocket()) // // Socket
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_socket, -1, dir_item);
else (void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_unknownfile, -1, dir_item); // // wtf is this?
}
else // // An invalid filedata, so presumably a corrupt file (corrupt dirs were dealt with earlier)
{ wxString name(FileCtrl->FileDataArray[i].ReallyGetName());
if (!ReallyIsDir(dirName, name))
{ wxDirItemData *dir_item = new wxDirItemData(path,eachFilename,false);
(void)m_treeCtrl->AppendItem(parentId, name, GDC_unknownfile, -1, dir_item);
}
}
}
size_t count = FileCtrl->FileDataArray.Count(); // // Merge the 2 arrays, Dir <-- File
for (size_t n = 0; n < count; ++n) // // For count iterations,
FileCtrl->CombinedFileDataArray.Add(FileCtrl->FileDataArray.Detach(0)); // // transfer array[0], as detaching shifts everything down
}
}
else // // dirview, so do it the standard way
{
if (d->IsOpened())
{
int style = wxDIR_DIRS;
if (m_showHidden) style |= wxDIR_HIDDEN;
if (GetFilterArray().GetCount() < 2) // // If we're not using multiple filter strings, do things the standard way
{ m_currentFilterStr = GetFilterArray().Item(0); // // Find the sole filter-string (which may well be "")
if (d->GetFirst(&eachFilename, m_currentFilterStr, style)) // //
{ do
{ if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
{ DataBase* stat;
if (IsArchv)
stat = new FakeDir(eachFilename); // //
else stat = new FileData(dirName + eachFilename); // //
if (stat->IsValid())
{ if (stat->IsDir()) // // Ensure it IS a dir, & not a symlink-to-dir
dirs.Add(eachFilename);
}
else // Invalid, so presumably a corrupt item
{ if (ReallyIsDir(dirName, eachFilename))
dirs.Add(eachFilename); // // It's probably a corrupt dir
}
delete stat;
}
}
while (d->GetNext(&eachFilename));
}
}
else
{ if (d->GetFirst(&eachFilename, wxEmptyString, style)) // // Otherwise, get ALL the entries that match style, and do the filtering separately
{ do
{ if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
{ bool matches=false;
for (size_t n=0; n < GetFilterArray().GetCount(); ++n) // // Go thru the list of filters, applying each in turn until one matches
if (wxMatchWild(GetFilterArray().Item(n), eachFilename))
{ matches = true; break; } // // Got a match so flag & skip the rest of the for-loop
if (matches) // // If there was a match, add to the correct array. Otherwise ignore this entry
{ DataBase* stat;
if (IsArchv)
stat = new FakeDir(eachFilename); // //
else stat = new FileData(dirName + eachFilename); // //
if (stat->IsDir()) // // Ensure it IS a dir, & not a symlink-to-dir
dirs.Add(eachFilename);
delete stat;
}
}
}
while (d->GetNext(&eachFilename));
}
}
}
dirs.Sort((wxArrayString::CompareFunction) (*wxDirCtrlStringCompareFunc));
// Now do the filenames -- but only if we're allowed to
if ((GetWindowStyle() & wxDIRCTRL_DIR_ONLY) == 0)
{
int style = wxDIR_FILES; // //
if (m_showHidden) style |= wxDIR_HIDDEN; // //
wxLogNull log;
d->Open(dirName);
if (d->IsOpened())
{
if (d->GetFirst(& eachFilename, m_currentFilterStr, style)) // //
{
do
{
if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
{
filenames.Add(eachFilename);
}
}
while (d->GetNext(& eachFilename));
}
}
dirs.Sort((wxArrayString::CompareFunction) (*wxDirCtrlStringCompareFunc));
}
// Add the sorted dirs
size_t i;
for (i = 0; i < dirs.Count(); i++)
{
wxString eachFilename(dirs[i]);
if (IsArchv)
{ if (eachFilename.Last() == wxFILE_SEP_PATH) eachFilename = eachFilename.BeforeLast(wxFILE_SEP_PATH); // //
path = eachFilename; // // Archives are already Path.ed
eachFilename = eachFilename.AfterLast(wxFILE_SEP_PATH); // // and here we *don't* want the path
}
else
path = dirName + eachFilename;
wxDirItemData *dir_item = new wxDirItemData(path,eachFilename,true);
int imageindex = 0 + (GDC_ghostclosedfolder * IsArchv) + (!IsArchv && access(path.mb_str(wxConvUTF8), R_OK) * GDC_lockedfolder);
wxTreeItemId id = m_treeCtrl->AppendItem(parentId, eachFilename, imageindex, -1, dir_item); // // access() checks if the dir is locked
m_treeCtrl->SetItemImage(id, IsArchv? GDC_ghostopenfolder : GDC_openfolder, wxTreeItemIcon_Expanded);
// Has this got any children? If so, make it expandable.
// (There are two situations when a dir has children: either it
// has subdirectories or it contains files that weren't filtered
// out. The latter only applies to dirctrl with files.)
if (dir_item->HasSubDirs() ||
(IsArchv && arcman->GetArc()->Getffs()->GetRootDir()->HasSubDirs(path)) || // // If it's an archive, we have to use our own method
(((GetWindowStyle() & wxDIRCTRL_DIR_ONLY) == 0) && // // I've left this in, but since this is a dir-view, it always is false
dir_item->HasFiles(m_currentFilterStr))) // // in which case this is never reached. I've therefore not updated it for multiple filters
{
m_treeCtrl->SetItemHasChildren(id);
}
}
// Add the sorted filenames /// // It's a dirview so won't happen
if ((GetWindowStyle() & wxDIRCTRL_DIR_ONLY) == 0)
{
for (i = 0; i < filenames.Count(); i++)
{
wxString eachFilename(filenames[i]);
path = dirName;
// // if (path.Last() != wxFILE_SEP_PATH)
// // path += wxString(wxFILE_SEP_PATH);
path += eachFilename;
//path = dirName + wxString(wxT("/")) + eachFilename;
wxDirItemData *dir_item = new wxDirItemData(path,eachFilename,false);
(void)m_treeCtrl->AppendItem(parentId, eachFilename, GDC_file, -1, dir_item);
}
}
}
delete d;
}
void MyGenericDirCtrl::ReCreateTree()
{
const wxTreeItemId root = m_treeCtrl->GetRootItem();
if (root.IsOk())
ReCreateTreeBranch(&root);
}
void MyGenericDirCtrl::ReCreateTreeBranch(const wxTreeItemId* ItemToRefresh) // // Implements wxGDC::ReCreateTree, but with parameter
{
wxCHECK_RET(ItemToRefresh->IsOk(), wxT("Trying to refresh an invalid item"));
wxString topitem;
wxTreeItemId fv = GetTreeCtrl()->GetFirstVisibleItem(); // // Find the first visible item and cache its path
if (fv.IsOk())
{ wxDirItemData* data = (wxDirItemData*)GetTreeCtrl()->GetItemData(fv);
if (data) topitem = data->m_path;
}
Freeze();
CollapseDir(*ItemToRefresh);
ExpandDir(*ItemToRefresh);
Thaw();
if (!topitem.empty()) // // Now make a valiant effort to replicate the previous tree's appearance
{ fv = FindIdForPath(topitem);
if (fv.IsOk())
wxStaticCast(GetTreeCtrl(), MyTreeCtrl)->ScrollToOldPosition(fv);
}
}
// Find the child that matches the first part of 'path'.
// E.g. if a child path is "/usr" and 'path' is "/usr/include"
// then the child for /usr is returned.
wxTreeItemId MyGenericDirCtrl::FindChild(wxTreeItemId parentId, const wxString& path, bool& done)
{
wxString path2(path);
// Make sure all separators are as per the current platform
path2.Replace(wxT("\\"), wxString(wxFILE_SEP_PATH));
path2.Replace(wxT("/"), wxString(wxFILE_SEP_PATH));
// Append a separator to foil bogus substring matching
path2 += wxString(wxFILE_SEP_PATH);
// In MSW or PM, case is not significant
#if defined(__WINDOWS__) || defined(__DOS__) || defined(__WXPM__)
path2.MakeLower();
#endif
wxTreeItemIdValue cookie;
wxTreeItemId childId = m_treeCtrl->GetFirstChild(parentId, cookie);
while (childId.IsOk())
{
wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(childId);
if (data && !data->m_path.IsEmpty())
{
wxString childPath(data->m_path);
if (childPath.Last() != wxFILE_SEP_PATH)
childPath += wxString(wxFILE_SEP_PATH);
// In MSW and PM, case is not significant
#if defined(__WINDOWS__) || defined(__DOS__) || defined(__WXPM__)
childPath.MakeLower();
#endif
if (childPath.Len() <= path2.Len())
{
wxString path3 = path2.Mid(0, childPath.Len());
if (childPath == path3)
{
if (path3.Len() == path2.Len())
done = true;
else
done = false;
return childId;
}
}
}
childId = m_treeCtrl->GetNextChild(parentId, cookie);
}
wxTreeItemId invalid;
return invalid;
}
// Try to expand as much of the given path as possible,
// and select the given tree item.
bool MyGenericDirCtrl::ExpandPath(const wxString& path)
{
bool done = false;
wxTreeItemId id = FindChild(m_rootId, path, done);
wxTreeItemId lastId = id; // The last non-zero id
while (id.IsOk() && !done)
{
ExpandDir(id);
id = FindChild(id, path, done);
if (id.IsOk())
lastId = id;
}
if (lastId.IsOk())
{
wxDirItemData *data = (wxDirItemData *) m_treeCtrl->GetItemData(lastId);
if (data->m_isDir)
{
m_treeCtrl->Expand(lastId);
}
if ((GetWindowStyle() & wxDIRCTRL_SELECT_FIRST) && data->m_isDir)
{
// Find the first file in this directory
wxTreeItemIdValue cookie;
wxTreeItemId childId = m_treeCtrl->GetFirstChild(lastId, cookie);
bool selectedChild = false;
while (childId.IsOk())
{
wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(childId);
if (data && data->m_path != wxT("") && !data->m_isDir)
{
m_treeCtrl->SelectItem(childId);
m_treeCtrl->EnsureVisible(childId);
selectedChild = true;
break;
}
childId = m_treeCtrl->GetNextChild(lastId, cookie);
}
if (!selectedChild)
{
m_treeCtrl->SelectItem(lastId);
m_treeCtrl->EnsureVisible(lastId);
}
}
else
{
m_treeCtrl->SelectItem(lastId);
m_treeCtrl->EnsureVisible(lastId);
}
return true;
}
else
return false;
}
wxString MyGenericDirCtrl::GetPath() const
{
#if wxVERSION_NUMBER < 2900
wxTreeItemId id = m_treeCtrl->GetSelection();
#else // From 2.9, an assert prevents the use of GetSelection in a multiple-selection treectrl
wxTreeItemId id = m_treeCtrl->GetFocusedItem ();
#endif
if (id)
{ wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(id);
return data->m_path;
}
else
return wxEmptyString;
}
size_t MyGenericDirCtrl::GetMultiplePaths(wxArrayString& paths) const // // Get an array of selected paths, used as multiple selection is enabled
{
size_t count; // No of selections
wxArrayTreeItemIds selectedIds; // Array in which to store them
count = m_treeCtrl->GetSelections(selectedIds); // Make the tree fill the array
paths.Alloc(count); // and allocate that much space in the path array
for (size_t c=0; c < count; c++)
{
wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(selectedIds[c]);
paths.Add(data->m_path);
}
return count;
}
wxString MyGenericDirCtrl::GetFilePath() const
{
#if wxVERSION_NUMBER < 2900
wxTreeItemId id = m_treeCtrl->GetSelection();
#else // From 2.9, an assert prevents the use of GetSelection in a multiple-selection treectrl
wxTreeItemId id = m_treeCtrl->GetFocusedItem ();
#endif
if (id)
{
wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(id);
if (data->m_isDir)
return wxEmptyString;
else
return data->m_path;
}
else
return wxEmptyString;
}
void MyGenericDirCtrl::SetPath(const wxString& path)
{
wxCHECK_RET(!path.empty(), wxT("Trying to set an empty path"));
m_defaultPath = path;
if (!m_rootId) return;
if (arcman && arcman->IsArchive()) // // If we're in an archive situation
if (!arcman->GetArc()->SetPath(path)) // // Tell the archive about the new path. If that takes us out of the archive, clean up
{ do OnExitingArchive();
while (arcman->IsArchive() && !arcman->GetArc()->SetPath(path)); // If we were inside a nested, child archive, retry
}
ExpandPath(path);
#if defined(__LINUX__) && defined(__WXGTK__)
if (USE_FSWATCHER && m_watcher && (fileview == ISRIGHT) && !(arcman && arcman->IsArchive()))
{ FileData fd(path);
if (fd.IsValid())
{ if (fd.IsDir() || fd.IsSymlinktargetADir())
m_watcher->SetFileviewWatch(path);
else
m_watcher->SetFileviewWatch(fd.GetPath()); // This can happen when a file is selected, then F5 pressed
}
}
#endif
}
void MyGenericDirCtrl::DoResize()
{
wxSize sz = GetClientSize();
int verticalSpacing = 3;
if (m_treeCtrl)
{
wxSize filterSz ;
if (m_filterListCtrl)
{
#ifdef __WXMSW__
// For some reason, this is required in order for the
// correct control height to always be returned, rather
// than the drop-down list height which is sometimes returned.
wxSize oldSize = m_filterListCtrl->GetSize();
m_filterListCtrl->SetSize(-1, -1, oldSize.x+10, -1, wxSIZE_USE_EXISTING);
m_filterListCtrl->SetSize(-1, -1, oldSize.x, -1, wxSIZE_USE_EXISTING);
#endif
filterSz = m_filterListCtrl->GetSize();
sz.y -= (filterSz.y + verticalSpacing);
}
if (fileview==ISLEFT) m_treeCtrl->SetSize(0, 0, sz.x, sz.y); // // A fileview will sort itself out
if (m_filterListCtrl)
{
m_filterListCtrl->SetSize(0, sz.y + verticalSpacing, sz.x, filterSz.y);
// Don't know why, but this needs refreshing after a resize (wxMSW)
m_filterListCtrl->Refresh();
}
}
}
void MyGenericDirCtrl::OnSize(wxSizeEvent& WXUNUSED(event))
{
DoResize();
}
void MyGenericDirCtrl::SetTreePrefs() // // MINE. Adjusts the Tree width parameters according to prefs
{
if (fileview==ISLEFT) // If this is a left-side, directory view, set the indent between tree branches, horiz twig spacing
{ m_treeCtrl->SetIndent(TREE_INDENT);
m_treeCtrl->SetSpacing(TREE_SPACING);
}
else
{ m_treeCtrl->SetIndent(0); // If this is a right-side, file view, turn off left margin and the prepended horiz lines
m_treeCtrl->SetSpacing(0);
}
}
wxString MyGenericDirCtrl::GetActiveDirectory() // // MINE. Returns the root dir if in branch-mode, or the selected dir in Fulltree-mode
{
if (fileview==ISRIGHT) return partner->GetActiveDirectory(); // This is a dir-view thing
if (fulltree) return GetPath();
return startdir;
}
wxString MyGenericDirCtrl::GetActiveDirPath() // // MINE. Returns selected dir in either mode NB GetPath returns either dir OR file
{
wxString invalid;
if(!this) return invalid; // in case we arrived here when there aren't any tabs
if (fileview==ISRIGHT) return partner->GetActiveDirPath(); // This is a dir-view thing
return GetPath();
}
void MyGenericDirCtrl::OnTreeSelected(wxTreeEvent &event) // // MINE. When change of selected item, tells Fileview to mimic change
{
if (SelFlag == false) return; // To avoid responding to internal selection events, causing infinite looping
wxTreeItemId sel = event.GetItem(); // There's been a selection event. Get the selected item
#if wxVERSION_NUMBER > 2603 && !(defined(__WXGTK20__) || defined(__WXX11__))
GetTreeCtrl()->Refresh(); // Recent wxGTK1.2's have a failure-to-highlight problem otherwise
#endif
if (sel.IsOk() && (partner != NULL)) // Check there IS a valid selection, and a valid partner
{ wxDirItemData* data = (wxDirItemData*)m_treeCtrl->GetItemData(sel); // Find the referenced data
DisplaySelectionInTBTextCtrl(data->m_path); // Take the opportunity to display selection in textctrl
if (arcman && arcman->IsArchive() && fileview == ISLEFT) // If we're in an archive situation, & it's a dirview: can't escape from an archive if fileview!
{ wxString filepath(data->m_path);
if (!filepath.IsEmpty() && filepath.GetChar(filepath.Len()-1) != wxFILE_SEP_PATH) filepath << wxFILE_SEP_PATH;
if (!arcman->GetArc()->SetPath(filepath)) // Tell the archive about the new path. If that takes us out of the archive, clean up
{ do OnExitingArchive();
while (arcman->IsArchive() && !arcman->GetArc()->SetPath(filepath)); // If we were inside a nested, child archive, retry
}
}
if (fileview == ISRIGHT) // If this is a fileview
{ m_StatusbarInfoValid = false; // Flag to show the new selection's data in the statusbar
MyFrame::mainframe->Layout->OnChangeDir(data->m_path); // Tell Layout to tell any extant terminal-emulator or commandline of the change
wxArrayString filepaths; GetMultiplePaths(filepaths);
CopyToClipboard(filepaths, true); // FWIW, copy the filepath(s) to the primary selection too
return; // & bug out. We set fileview from dirview, not vice versa. (That comes from DClick)
}
partner->startdir = data->m_path;
partner->ReCreateTreeFromSelection(); // Tell Right partner to Redo itself with new selection
((DirGenericDirCtrl*)this)->UpdateStatusbarInfo(data->m_path);// Show the new selection's data in the statusbar
MyFrame::mainframe->Layout->OnChangeDir(data->m_path); // Tell Layout to tell any extant terminal-emulator or commandline of the change
}
}
void MyGenericDirCtrl::ReCreateTreeFromSelection() // // MINE. On selection/DClick event, this redoes the tree & reselects
{
SelFlag = false; // Turn off to avoid loops
wxASSERT(GetTreeCtrl());
wxString topitem;
wxTreeItemId fv = GetTreeCtrl()->GetFirstVisibleItem(); // Find the first visible item and cache its path
if (fv.IsOk())
{ wxDirItemData* data = (wxDirItemData*)GetTreeCtrl()->GetItemData(fv);
if (data) topitem = data->m_path;
}
Freeze();
GetTreeCtrl()->DeleteAllItems(); // Uproot the old tree
CreateTree(); // and recreate from new root
Thaw(); // We must thaw before calling ScrollToOldPosition()
if (!topitem.empty()) // Now make a valiant effort to replicate the previous tree's appearance
{ fv = FindIdForPath(topitem);
if (fv.IsOk())
wxStaticCast(GetTreeCtrl(), MyTreeCtrl)->ScrollToOldPosition(fv);
}
#if defined(__LINUX__) && defined(__WXGTK__)
if (USE_FSWATCHER && m_watcher && !(arcman && arcman->IsArchive()))
{ if (fileview == ISRIGHT)
{ FileData fd(startdir);
if (fd.IsDir() || fd.IsSymlinktargetADir())
m_watcher->SetFileviewWatch(startdir);
}
}
#endif
SelFlag = true; // Reset flag
}
void MyGenericDirCtrl::OnTreeItemDClicked(wxTreeEvent &event) // // What to do when a tree-item is double-clicked
{
wxTreeItemId sel = event.GetItem(); // There's been a dclick event. Get the selected item.
if (!sel.IsOk()) return; // Check there IS a valid selection
wxDirItemData* data = (wxDirItemData*)m_treeCtrl->GetItemData(sel); // Find the referenced data
ziptype zt = Archive::Categorise(data->m_path); // Check if the item is (probably) an archive
if (arcman && arcman->IsArchive()) // Check that we didn't just dclick inside an open archive
{ if (arcman->GetArc()->Getffs()->GetRootDir()->FindSubdirByFilepath(data->m_path) != NULL // If it's a subdir,
|| zt != zt_invalid) // or a child archive
{ OnOutsideSelect(data->m_path, false); // If on a subdir just move within it; open a child archive
return;
}
else
{ ((FileGenericDirCtrl*)this)->OnOpen(event); return; } // Otherwise it's a file, so pass to FileGenericDirCtrl::OnOpen
}
FileData fd(data->m_path);
if (fd.IsRegularFile() || (fd.IsSymlink() && !fd.IsSymlinktargetADir())) // Check if the DClick was on a file
{ if (zt == zt_invalid) // (We deal with archives differently)
{ ((FileGenericDirCtrl*)this)->OnOpen(event); return; } // It's a file, so pass to FileGenericDirCtrl::OnOpen
}
if (fileview==ISRIGHT) // If the dclick is from a Right pane,
{ if (fd.IsSymlinktargetADir()) // Do things differently if it's a symlink-to-dir
{ wxString ultdest(fd.GetUltimateDestination()); return OnOutsideSelect(ultdest); }
if (zt != zt_invalid // Do things very differently if it's an archive
&& (fd.IsRegularFile() || (fd.IsSymlink() && !fd.IsSymlinktargetADir()))) // Just in case someone labelled a dir or symlink-to-dir with an archive-y ext!
{ OnOutsideSelect(data->m_path, false); return; } // If so, peer into it
if (partner != NULL) // Otherwise just get Left partner to do the work
{ partner->GetTreeCtrl()->UnselectAll(); // Remove the current selection, otherwise both become selected
partner->SetPath(data->m_path);
}
return;
}
// OK, it was a Left-pane dclick
if (fulltree) // Are we in full-tree mode
m_treeCtrl->Toggle(sel); // If so, we don't want to redo tree, just toggle expansion/collapse of this branch
else // We're NOT in full-tree mode
{ startdir = data->m_path; // Reset Startdir accordingly to new selection
((DirGenericDirCtrl*)ParentControl)->AddPreviouslyVisitedDir(startdir, GetPathIfRelevant()); // Store this root-dir for posterity
ReCreateTreeFromSelection(); // Redo the tree with new selection as root
}
if (partner != NULL)
partner->ReCreateTreeFromSelection(); // Tell right-pane partner what to do
}
void MyGenericDirCtrl::OnOutsideSelect(wxString& path, bool CheckDevices/*=true*/) // // Used to redo the control from outside, eg the floppy-button clicked, or internally after e.g. a DClick
{
wxString oldpath(path);
if (path.IsEmpty()) return;
if (fileview == ISRIGHT) // If this is a fileview pane, switch to partner to deal with it
{ partner->OnOutsideSelect(path, CheckDevices);
SetPath(oldpath); return; // Select the originally passed filepath, using the carefully preserved string in case it was an archive (when 'path' will be altered)
}
// Assuming path isn't root, remove terminal '/'s. It doesn't matter otherwise, but if we're jumping into an archive, the '/' causes problems
while (path != wxT("/") && path.Last() == wxFILE_SEP_PATH) path = path.BeforeLast(wxFILE_SEP_PATH);
if (arcman->NavigateArchives(path) == Snafu) // This should ensure that any archives are opened/closed as necessary
{ wxLogError(wxT("Sorry, that selection doesn't seem to exist")); return; }
ziptype zt = Archive::Categorise(path);
if (!arcman->IsArchive() && zt == zt_invalid) // If we're not already in an archive, and not just about to
{ if (!wxDirExists(path))
{ if (!wxFileExists(path)) // If path is no longer valid, abort
{ wxLogError(wxT("Sorry, that selection doesn't seem to exist")); return; }
else path = path.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // If it's a file (& there's nothing to stop us bookmarking a file), revert to its path
}
}
else if (arcman->IsArchive() && zt == zt_invalid && arcman->GetArc()->Getffs()->GetRootDir()->FindFileByName(path) != NULL)
path = path.BeforeLast(wxFILE_SEP_PATH) + wxFILE_SEP_PATH; // Again, if this is a bookmarked fakefile, amputate
// Check that any attempt at archive peeking is likely to work, as failure messes up the dirview display
if (zt != zt_invalid && !ArchiveStream::IsStreamable(zt))
{ switch(zt)
{ case zt_gzip: case zt_bzip: case zt_lzma: case zt_xz: case zt_lzop: case zt_compress:
wxMessageBox(_("This file is compressed, but it's not an archive so you can't peek inside."), _("Sorry")); return;
default: wxMessageBox(_("I'm afraid I can't peek inside that sort of archive."), _("Sorry")); return;
}
}
wxString OriginalSelection = GetPathIfRelevant();
startdir = path; // Reset Startdir accordingly to new selection
RefreshTree(path, CheckDevices); // so that Refresh() actually changes tree
((DirGenericDirCtrl*)ParentControl)->AddPreviouslyVisitedDir(startdir,OriginalSelection); // Store this root-dir for posterity
if (fulltree)
{ GetTreeCtrl()->UnselectAll(); // Unselect any current items first, else we'll have an ambiguous multiple selection
SetPath(oldpath); // Then select the real one; it's not selected otherwise
}
}
void MyGenericDirCtrl::OnRefreshTree(wxCommandEvent& event) // // From Context menu or F5
{
RefreshTree(startdir); // Needed to provide the parameter for RefreshTree
}
void MyGenericDirCtrl::RefreshTree(const wxString& path, bool CheckDevices, bool RetainSelection) // // Refreshes the display to show any outside changes (or following a change of rootitem via OnOutsideSelect)
{
const wxString selected = GetPath(); // Retrieve the current selection for use below
// We need to see if startdir was also selected (as part of a multiple selection)
// If so, we don't want to deselect it later
bool StartdirWasSelected = false;
if (startdir != selected)
{ wxTreeItemId item = FindIdForPath(startdir);
if (item.IsOk()) StartdirWasSelected = GetTreeCtrl()->IsSelected(item);
}
if (fileview == ISRIGHT) // If this is a fileview pane, switch to partner to deal with it
{ partner->RefreshTree(path, CheckDevices);
if (!selected.empty()) SetPath(selected); // Reinstate original selection. This also ensures it's visible
return;
}
if (CheckDevices) // No point doing this if we've only just done it in calling method --- thus the bool
{ DevicesStruct* ds = MyFrame::mainframe->Layout->m_notebook->DeviceMan->QueryAMountpoint(path); // Look up whether this is a relevant device
if (ds) MyFrame::mainframe->Layout->m_notebook->DeviceMan->Mount(ds->buttonnumber); // If so, (re)Mount it
}
wxString CopyOfPath(path); // When within an archive, valgrind complains about invalid reads below if I use 'path' directly
ReCreateTreeFromSelection(); // Redo the tree (with any new selection as root)
if (!selected.empty() && selected != startdir // If we're supposed to, and selection isn't rootitem,
&& (selected.StartsWith(startdir) || fulltree)) // and is still a child of startdir (which may have just changed), or we're in fulltree mode
{ SetPath(selected); // reinstate original selection, to preserve (as much as poss) the original pattern of dir-expansion
if (RetainSelection && !StartdirWasSelected) // Unless startdir was originally selected...
{ wxTreeItemId item = FindIdForPath(startdir); // recreating the tree automatically selects startdir too
if (item.IsOk()) GetTreeCtrl()->SelectItem(item, false); // This should deselect it
}
if (!RetainSelection)
{ wxTreeItemId item = FindIdForPath(selected); // Similarly, if we're not retaining the old path, deselect it
if (item.IsOk()) GetTreeCtrl()->SelectItem(item, false);
}
}
if (MyFrame::mainframe->GetActivePane())
MyFrame::mainframe->GetActivePane()->DisplaySelectionInTBTextCtrl(CopyOfPath); // Otherwise put in path
MyFrame::mainframe->Layout->OnChangeDir(CopyOfPath); // Tell Layout to tell any extant terminal-emulator or commandline of the change
((DirGenericDirCtrl*)ParentControl)->UpdateStatusbarInfo(CopyOfPath);
if (partner) // Keep right-pane partner in synch
{ if (RetainSelection)
{ partner->startdir = GetPath(); // This caters both for new dirview startdirs, and startdir != selected above
partner->ReCreateTreeFromSelection();
}
else
{ partner->startdir = startdir; // If we're using the navigation tools, the fileview should follow the dirview's startdir
partner->ReCreateTreeFromSelection();
}
}
}
MyGenericDirCtrl* MyGenericDirCtrl::GetOppositeDirview(bool OnlyIfUnsplit /*=true*/) // Return a pointer to the dirview of the twin-pane opposite this one
{
if (OnlyIfUnsplit && (ParentTab->GetSplitStatus() == unsplit)) return NULL; // OTOH if we're not split, don't unless we really want to
if (isright) // A MyGenericDirCtrl knows its own parity, so use this to locate the opposite one
return ParentTab->LeftorTopDirCtrl;
else
return ParentTab->RightorBottomDirCtrl;
}
MyGenericDirCtrl* MyGenericDirCtrl::GetOppositeEquivalentPane() // Return a pointer to the equivalent view of the twin-pane opposite this one
{
MyGenericDirCtrl* oppositedv = GetOppositeDirview();
if (!oppositedv) return NULL;
return (fileview == ISLEFT) ? oppositedv : oppositedv->partner;
}
void MyGenericDirCtrl::SetFocusViaKeyboard(wxCommandEvent& event)
{
MyGenericDirCtrl* fv;
if (event.GetId() == SHCUT_SWITCH_FOCUS_OPPOSITE)
{ MyGenericDirCtrl* dv = GetOppositeDirview();
if (!dv) return;
if (fileview == ISLEFT)
{ dv->GetTreeCtrl()->SetFocus(); return; } // Do the easy one first; dirviews don't have selection issues
fv = dv->partner;
}
else //SHCUT_SWITCH_FOCUS_ADJACENT
{ if (fileview == ISRIGHT)
{ partner->GetTreeCtrl()->SetFocus(); return; } // As above
fv = partner;
}
// If we're here, the focus destination is a fileview
if (fv->GetPath().empty()) // If there was no highlit item, we need to set one. SetFocus() alone doesn't do this
{ FileGenericDirCtrl* fgdc = wxStaticCast(fv, FileGenericDirCtrl);
if (fgdc) fgdc->SelectFirstItem();
}
fv->GetTreeCtrl()->SetFocus();
}
void MyGenericDirCtrl::RefreshVisiblePanes(wxFont* font/*=NULL*/) // Called e.g. after a change of font
{
if (font) { GetTreeCtrl()->SetFont(*font); partner->GetTreeCtrl()->SetFont(*font); }
wxColour backgroundcolDV = COLOUR_PANE_BACKGROUND ? BACKGROUND_COLOUR_DV : GetSaneColour(GetTreeCtrl(), true, wxSYS_COLOUR_WINDOW);
wxColour backgroundcolFV = COLOUR_PANE_BACKGROUND ? BACKGROUND_COLOUR_FV : GetSaneColour(GetTreeCtrl(), true, wxSYS_COLOUR_WINDOW);
if (SINGLE_BACKGROUND_COLOUR) backgroundcolFV = backgroundcolDV;
if (fileview==ISLEFT)
{ GetTreeCtrl()->SetBackgroundColour(backgroundcolDV);
partner->GetTreeCtrl()->SetBackgroundColour(backgroundcolFV);
}
else
{ GetTreeCtrl()->SetBackgroundColour(backgroundcolFV);
partner->GetTreeCtrl()->SetBackgroundColour(backgroundcolDV);
}
if (fileview==ISLEFT)
{ if (SHOW_TREE_LINES) GetTreeCtrl()->SetWindowStyle(GetTreeCtrl()->GetWindowStyle() & ~wxTR_NO_LINES);
else GetTreeCtrl()->SetWindowStyle(GetTreeCtrl()->GetWindowStyle() | wxTR_NO_LINES);
}
else
{ if (SHOW_TREE_LINES) partner->GetTreeCtrl()->SetWindowStyle(partner->GetTreeCtrl()->GetWindowStyle() & ~wxTR_NO_LINES);
else partner->GetTreeCtrl()->SetWindowStyle(partner->GetTreeCtrl()->GetWindowStyle() | wxTR_NO_LINES);
}
RefreshTree(startdir, false); partner->RefreshTree(startdir, false); // Refresh each of these 2 panes
if (ParentTab->GetSplitStatus() == unsplit) return; // Only 1 visible twin-pane, so we're done
MyGenericDirCtrl* oppositepane = GetOppositeDirview(); // Otherwise switch to the opposite split and repeat
if (oppositepane == NULL) return;
if (font) { oppositepane->GetTreeCtrl()->SetFont(*font); oppositepane->partner->GetTreeCtrl()->SetFont(*font); }
oppositepane->GetTreeCtrl()->SetBackgroundColour(backgroundcolDV);
oppositepane->partner->GetTreeCtrl()->SetBackgroundColour(backgroundcolFV);
if (SHOW_TREE_LINES) oppositepane->GetTreeCtrl()->SetWindowStyle(oppositepane->GetTreeCtrl()->GetWindowStyle() & ~wxTR_NO_LINES);
else oppositepane->GetTreeCtrl()->SetWindowStyle(oppositepane->GetTreeCtrl()->GetWindowStyle() | wxTR_NO_LINES);
oppositepane->RefreshTree(oppositepane->startdir, false); oppositepane->partner->RefreshTree(oppositepane->startdir, false);
}
void MyGenericDirCtrl::ReloadDirviewToolbars() // Called after a change of user-defined tools
{
if (fileview == ISLEFT) ((DirGenericDirCtrl*)this)->CreateToolbar(); // Reload the dirview TB for this pane
else ((DirGenericDirCtrl*)partner)->CreateToolbar();
if (ParentTab->GetSplitStatus() == unsplit) return; // Only 1 visible twin-pane, so we're done
MyGenericDirCtrl* oppositepane = GetOppositeDirview(); // Otherwise switch to the opposite split and repeat
if (oppositepane) ((DirGenericDirCtrl*)oppositepane)->CreateToolbar(); // Reload the dirview TB for this pane
}
void MyGenericDirCtrl::OnReplicate(wxCommandEvent& event) // Duplicates this pane's filepath in the opposite pane
{
if (fileview == ISRIGHT) // If this is a fileview pane, switch to partner to deal with it
return partner->OnReplicate(event);
MyGenericDirCtrl* oppositepane = GetOppositeDirview();
if (oppositepane == NULL) return;
FileGenericDirCtrl* Fileview = dynamic_cast(partner);
wxCHECK_RET(Fileview, wxT("A partner that isn't a FileGenericDirCtrl"));
FileGenericDirCtrl* oppFileview = dynamic_cast(oppositepane->partner);
wxCHECK_RET(oppFileview, wxT("A partner that isn't a FileGenericDirCtrl"));
wxString OriginalSelection = oppositepane->GetPathIfRelevant();
oppositepane->fulltree = fulltree; // Now we can duplicate ourselves, fulltree-status and path
oppositepane->startdir = startdir;
oppositepane->SetFilterArray(GetFilterArray());
oppositepane->ReCreateTreeFromSelection();
oppositepane->SetPath(GetPath());
if (!oppositepane->fulltree) // If opposite pane is not in fulltree mode store its startdir for possible returning
((DirGenericDirCtrl*)oppositepane)->AddPreviouslyVisitedDir(oppositepane->startdir, OriginalSelection);
if (oppFileview) // Keep right-pane partner in synch
{ oppFileview->startdir = GetPath();
oppFileview->GetHeaderWindow()->SetSelectedColumn(Fileview->GetHeaderWindow()->GetSelectedColumn());
oppFileview->GetHeaderWindow()->SetSortOrder(Fileview->GetHeaderWindow()->GetSortOrder());
oppFileview->GetHeaderWindow()->SetSelectedColumnImage(Fileview->GetHeaderWindow()->GetSortOrder());
oppFileview->SetIsDecimalSort(Fileview->GetIsDecimalSort());
oppFileview->SetFilterArray(partner->GetFilterArray(), partner->DisplayFilesOnly);
oppFileview->ReCreateTreeFromSelection();
}
}
void MyGenericDirCtrl::OnSwapPanes(wxCommandEvent& event) // Swaps this pane's filepath etc with the opposite pane
{
if (fileview == ISRIGHT) // If this is a fileview pane, switch to partner to deal with it
return partner->OnSwapPanes(event);
MyGenericDirCtrl* oppositepane = GetOppositeDirview(false); // Passing false says we really want the answer, even if the tab is unsplit. This lets swapping switch to the hidden twin-pane
if (oppositepane == NULL) return;
FileGenericDirCtrl* Fileview = dynamic_cast(partner);
wxCHECK_RET(Fileview, wxT("A partner that isn't a FileGenericDirCtrl"));
FileGenericDirCtrl* oppFileview = dynamic_cast(oppositepane->partner);
wxCHECK_RET(oppFileview, wxT("A partner that isn't a FileGenericDirCtrl"));
bool oppfulltree = oppositepane->fulltree; // Store the opposite pane's current settings
bool oppFilesOnly=false;
wxArrayString opppartnerfilter;
wxArrayString oppfilter = oppositepane->GetFilterArray();
wxString oppstartdir = oppositepane->startdir;
wxString opppath = oppositepane->GetPath();
int opppartnerSelectedCol(0);
bool opppartnerReversesort(false);
bool opppartnerDecimalsort(false);
wxString OriginalSelection = GetPathIfRelevant();
wxString OppOriginalSelection = oppositepane->GetPathIfRelevant();
oppositepane->fulltree = fulltree; // Now we duplicate this pane into opposite, fulltree-status and path
oppositepane->SetFilterArray(GetFilterArray());
oppositepane->startdir = startdir;
oppositepane->ReCreateTreeFromSelection();
oppositepane->SetPath(GetPath());
if (!oppositepane->fulltree) // If opposite pane is not in fulltree mode store its startdir for possible returning
((DirGenericDirCtrl*)oppositepane)->AddPreviouslyVisitedDir(oppositepane->startdir, OppOriginalSelection);
if (oppFileview) // Keep right-pane partner in synch
{ oppFilesOnly = oppFileview->DisplayFilesOnly;
opppartnerfilter = oppFileview->GetFilterArray();
opppartnerSelectedCol = oppFileview->GetHeaderWindow()->GetSelectedColumn();
opppartnerReversesort = oppFileview->GetHeaderWindow()->GetSortOrder();
opppartnerDecimalsort = oppFileview->GetIsDecimalSort();
oppFileview->startdir = GetPath();
oppFileview->GetHeaderWindow()->SetSelectedColumn(Fileview->GetHeaderWindow()->GetSelectedColumn());
oppFileview->GetHeaderWindow()->SetSortOrder(Fileview->GetHeaderWindow()->GetSortOrder());
oppFileview->GetHeaderWindow()->SetSelectedColumnImage(Fileview->GetHeaderWindow()->GetSortOrder());
oppFileview->SetIsDecimalSort(Fileview->GetIsDecimalSort());
oppFileview->SetFilterArray(partner->GetFilterArray(), partner->DisplayFilesOnly);
oppFileview->ReCreateTreeFromSelection();
}
fulltree = oppfulltree; // Use stores to replicate opposite's settings here
startdir = oppstartdir;
SetFilterArray(oppfilter);
ReCreateTreeFromSelection();
SetPath(opppath);
if (!fulltree) // If not in fulltree mode store startdir for possible returning
((DirGenericDirCtrl*)ParentControl)->AddPreviouslyVisitedDir(startdir, OriginalSelection);
if (partner) // Keep right-pane partner in synch
{ partner->startdir = opppath;
partner->SetFilterArray(opppartnerfilter, oppFilesOnly);
Fileview->GetHeaderWindow()->SetSelectedColumn(opppartnerSelectedCol);
Fileview->GetHeaderWindow()->SetSortOrder(opppartnerReversesort);
Fileview->GetHeaderWindow()->SetSelectedColumnImage(opppartnerReversesort);
Fileview->SetIsDecimalSort(opppartnerDecimalsort);
partner->ReCreateTreeFromSelection();
}
wxYieldIfNeeded(); // This is needed to give time for an UpdateUI event, to ensure the toolbar appearance is correct
}
void MyGenericDirCtrl::DisplaySelectionInTBTextCtrl(const wxString& selection)
{
// In >=wx2.9 we need to post an event to create a delay; otherwise the old textctrl value is sometimes not cleared
// and it does no harm in 2.8...
if (MyFrame::mainframe && MyFrame::mainframe->SelectionAvailable && MyFrame::mainframe->m_tbText != NULL)
{ wxNotifyEvent event(MyUpdateToolbartextEvent);
event.SetString(selection);
wxPostEvent(this, event);
}
}
void MyGenericDirCtrl::DoDisplaySelectionInTBTextCtrl(wxNotifyEvent& event) // Change the value in the toolbar textctrl to match the tree selection
{
if (MyFrame::mainframe && MyFrame::mainframe->SelectionAvailable && MyFrame::mainframe->m_tbText != NULL)
MyFrame::mainframe->m_tbText->ChangeValue(event.GetString());
}
bool MyGenericDirCtrl::OnExitingArchive() // // We were displaying the innards of an archive, and now we're not
{
if (arcman) return arcman->RemoveArc(); // This should remove 1 layer of archive, or the sole archive, or do nothing. False means no longer within any archive
else return false;
}
void MyGenericDirCtrl::CopyToClipboard(const wxArrayString& filepaths, bool primary/*=false*/) const
{
if (filepaths.empty()) return;
wxString selection = filepaths.Item(0); // We just checked that this exists
for (size_t n=1; n < filepaths.GetCount(); ++n) // Add any further items, separated by \n
selection << wxT('\n') << filepaths.Item(n);
if (primary)
{ // In >=wx2.9 it's possible to add the path(s) to the primary selection
#if defined(__WXGTK__) && wxCHECK_VERSION(2,9,0)
wxTheClipboard->UsePrimarySelection(true);
if (wxTheClipboard->Open())
{ wxTheClipboard->SetData(new wxTextDataObject(selection));
wxTheClipboard->Close();
}
wxTheClipboard->UsePrimarySelection(false);
#endif
}
else
{ if (wxTheClipboard->Open())
{ wxTheClipboard->SetData(new wxTextDataObject(selection));
wxTheClipboard->Close();
}
}
}
wxString MyGenericDirCtrl::GetPathIfRelevant() // Helper function used to get selection to pass to NavigationManager
{
wxString selection, path = GetPath();
if (!path.empty())
{ FileData stat(path);
if (stat.IsValid())
{ if (!(stat.IsDir() || stat.IsSymlinktargetADir())) selection = stat.GetPath();
else selection = stat.GetFilepath();
}
}
return selection;
}
#if defined(__LINUX__) && defined(__WXGTK__)
void MyGenericDirCtrl::OnFileWatcherEvent(wxFileSystemWatcherEvent& event)
{
try
{
wxString filepath = event.GetPath().GetFullPath();
wxString newfilepath = event.GetNewPath().GetFullPath(); // For renames
switch(event.GetChangeType())
{ case wxFSW_EVENT_CREATE:
m_eventmanager.AddEvent(event);
break;
case wxFSW_EVENT_MODIFY:
m_eventmanager.AddEvent(event);
break;
case wxFSW_EVENT_ATTRIB:
m_eventmanager.AddEvent(event);
break;
case wxFSW_EVENT_RENAME:
m_eventmanager.AddEvent(event);
break;
case wxFSW_EVENT_DELETE: /*IN_DELETE, IN_DELETE_SELF or IN_MOVE_SELF (both in & out)*/
m_eventmanager.AddEvent(event);
break;
case wxFSW_EVENT_UNMOUNT:
m_watcher->RemoveWatchLineage(filepath);
m_eventmanager.AddEvent(event);
break;
case wxFSW_EVENT_WARNING:
if (event.GetWarningType() == wxFSW_WARNING_OVERFLOW)
{ WatchOverflowTimer* otimer = m_watcher->GetOverflowTimer();
if (!otimer->IsRunning()) // We'll probably get more warnings after we've already done this
{ wxString basepath = m_watcher->GetWatchedBasepath(); // filepath will be "" for overflow warnings
m_watcher->GetWatcher()->RemoveAll(); // Turn off the current watch, to give inotify a chance to catch up with itself
m_eventmanager.ClearStoredEvents();
otimer->SetFilepath(basepath); otimer->SetType(fileview == ISLEFT);
//wxLogDebug("Starting the %s overflow timer", basepath);
otimer->Start(500, wxTIMER_ONE_SHOT);
}
}
else // Report warnings, but not if they're wxFSW_WARNING_OVERFLOW, which is 1) not interesting, and 2) very, very multiple
{ wxLogDebug(wxT("FSW WARNING: winID:%i: Type:%i %s"), GetId(), event.GetWarningType(), event.GetErrorDescription().c_str()); }
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyGenericDirCtrl::OnFileWatcherEvent")); }
}
MyFSWatcher::MyFSWatcher(wxWindow* owner/* = NULL*/) : m_owner(owner)
{
m_fswatcher = NULL;
m_DelayedDirwatchTimer = new DirviewWatchTimer(this);
m_OverflowTimer = new WatchOverflowTimer(this);
}
MyFSWatcher::~MyFSWatcher()
{
delete m_fswatcher;
delete m_DelayedDirwatchTimer;
delete m_OverflowTimer;
}
void MyFSWatcher::SetDirviewWatch(const wxString& path)
{
try
{
if (!CreateWatcherIfNecessary()) return;
m_fswatcher->RemoveAll();
if (path.empty())
return; // as things have probably gone pear-shaped
DirGenericDirCtrl* owner = wxDynamicCast(m_owner, DirGenericDirCtrl);
wxCHECK_RET(owner, wxT("m_owner is not a DirGenericDirCtrl"));
wxTreeItemId rootId = owner->GetTreeCtrl()->GetRootItem();
if (!rootId.IsOk()) return;
wxArrayString dirs; // Find the visible dirs and watch them
owner->GetVisibleDirs(rootId, dirs);
wxLogNull NoLogWarningsAboutWrongPaths;
bool need_startdir = true;
for (size_t n=0; n < dirs.GetCount(); ++n)
{ m_fswatcher->Add(StrWithSep(dirs.Item(n)));
// Usually 'path' is found by GetVisibleDirs(); but not always...
if (StripSep(dirs.Item(n)) == StripSep(path)) need_startdir = false;
}
if (need_startdir) m_fswatcher->Add(StrWithSep(path));
if (!owner->fulltree) // If fulltree, parents are already visible and so are auto-added
{ wxString parent(path); // Otherwise watch the hidden rootdir too, and all its ancestors; they can't be seen, but what if one were renamed...
if (parent != wxT("/")) // Unless 'path' is actually '/', in which case 1) it doesn't have a parent, and 2) it's already added
while (true)
{ wxFileName fn(parent); parent = fn.GetPath(); // GetVisibleDirs() included the original 'path', so start the loop with a GetPath()
if (parent == wxT("/")) break;
m_fswatcher->Add(StrWithSep(parent), wxFSW_EVENT_RENAME);
}
}
m_WatchedBasepath = path; // Needed if we need to reset due to an inotify stack overflow
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSWatcher::SetDirviewWatch")); }
}
void MyFSWatcher::SetFileviewWatch(const wxString& path)
{
wxCHECK_RET(!path.empty(), wxT("Trying to watch an empty path"));
try
{
if (!CreateWatcherIfNecessary()) return;
if (StripSep(path) == m_WatchedBasepath) // This can happen with e.g. SetPath(). It's not only pointless, but can result in lost events during the change
{ if (m_fswatcher->GetWatchedPathsCount()) // There are ways (involving UnDo) that result in a blank, unwatched fileview, even though startdir is set (idk how to make it not-set)
return;
}
FileData* fd = new FileData(path);
if (!fd->IsValid())
{ delete fd; // This happened on some boxes when a usbpen was unmounted, as a race condition which I hope I've solved elsewhere in this commit. But just in case:
fd = new FileData(wxGetHomeDir());
}
wxASSERT(fd->IsDir() || fd->IsSymlinktargetADir()); // Keep this code for a while, in case there're more ways to arrive here with 'path' holding a file
m_fswatcher->RemoveAll();
wxLogNull NoLogWarningsAboutWrongPaths;
m_fswatcher->Add(StrWithSep(fd->GetFilepath()));
m_WatchedBasepath = StripSep(fd->GetFilepath());
//PrintWatches(wxString(wxT("SetFileviewWatch() end")));
delete fd;
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSWatcher::SetFileviewWatch")); }
}
void MyFSWatcher::RefreshWatch(const wxString& filepath1 /*=wxT("")*/, const wxString& filepath2 /*=wxT("")*/) // Updates after an fsw rename event
{
try
{
if (!CreateWatcherIfNecessary()) return;
if (!filepath1.empty() && !filepath2.empty()) // A rename
{ RemoveWatchLineage(StripSep(filepath1)); // Remove the now-defunct lineage of watches
AddWatchLineage(StripSep(filepath2)); // and add the new dir and any visible descendant dirs
}
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in the 'rename' MyFSWatcher::RefreshWatch")); }
}
void MyFSWatcher::RefreshWatchDirCreate(const wxString& filepath) // Updates after an fsw create (dir) event
{
wxCHECK_RET(!filepath.empty(), wxT("Passed an empty filepath"));
try
{
if (!CreateWatcherIfNecessary()) return;
wxArrayString CurrentWatches;
m_fswatcher->GetWatchedPaths(&CurrentWatches);
if ((CurrentWatches.Index(filepath) != wxNOT_FOUND) || (CurrentWatches.Index(StrWithSep(filepath)) != wxNOT_FOUND))
{ wxLogTrace(wxT("myfswatcher"), wxT("Filepath %s, allegedly newly created, was already watched in RefreshWatch()"), filepath.c_str()); return; }
AddWatchLineage(StripSep(filepath)); // Add the new dir and any visible descendant dirs
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSWatcher::RefreshWatchDirCreate")); }
}
void MyFSWatcher::AddWatchLineage(const wxString& filepath) // Add a watch for filepath and all visible descendant dirs
{
DirGenericDirCtrl* owner = wxDynamicCast(m_owner, DirGenericDirCtrl);
wxCHECK_RET(owner && owner->fileview == ISLEFT, wxT("m_owner is not a DirGenericDirCtrl"));
try
{
wxArrayString dirs; // If called from a dirview, find the visible dirs to be watched
wxTreeItemId treeId;
if (owner)
{ treeId = owner->FindIdForPath(filepath);
if (treeId.IsOk())
owner->GetVisibleDirs(treeId, dirs);
}
//PrintWatches(wxString(wxT("AddWatchLineage() start. filepath=")) + filepath);
wxLogNull NoLogWarningsAboutWrongPaths;
bool need_startdir = true;
for (size_t n=0; n < dirs.GetCount(); ++n)
{ m_fswatcher->Add(StrWithSep(dirs.Item(n)));
// Usually 'filepath' is found by GetVisibleDirs(); but not always...
if (StripSep(dirs.Item(n)) == StripSep(filepath)) need_startdir = false;
}
if (need_startdir)
m_fswatcher->Add(StrWithSep(filepath));
if (!owner->fulltree) // If fulltree, parents are already visible and so are auto-added
{ wxString parent(filepath); // Otherwise add a wxFSW_EVENT_RENAME watch the hidden rootdir too, and all its ancestors; they can't be seen, but what if one were renamed...
if (parent != wxT("/")) // Unless 'filepath' is actually '/', in which case 1) it doesn't have a parent, and 2) it's already added
while (true)
{ wxFileName fn(parent); parent = fn.GetPath(); // GetVisibleDirs() included the original 'filepath', so start the loop with a GetPath()
if (parent == wxT("/")) break;
m_fswatcher->Add(StrWithSep(parent), wxFSW_EVENT_RENAME);
}
}
//PrintWatches(wxT("AddWatchLineage() end:"));
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSWatcher::AddWatchLineage")); }
}
void MyFSWatcher::RemoveWatchLineage(const wxString& filepath) // Remove all watches starting with this filepath
{
wxCHECK_RET(!filepath.empty(), wxT("Passed an empty filepath"));
try
{
if (!CreateWatcherIfNecessary()) return;
wxArrayString CurrentWatches;
int currentcount = m_fswatcher->GetWatchedPaths(&CurrentWatches);
wxLogTrace(wxT("myfswatcher"), wxT("RemoveWatchLineage() start: %i watches"), currentcount);
if ((CurrentWatches.Index(StripSep(filepath)) == wxNOT_FOUND) && (CurrentWatches.Index(StrWithSep(filepath)) == wxNOT_FOUND))
{ wxLogTrace(wxT("myfswatcher"), wxT("Filepath %s wasn't watched in RemoveWatchLineage()"), filepath.c_str()); return; }
//PrintWatches(wxT("RemoveWatchLineage() start loop:"));
for (int n = currentcount-1; n >= 0; --n)
{ wxString item = CurrentWatches.Item(n);
if ((StripSep(CurrentWatches.Item(n)) == StripSep(filepath)) || (CurrentWatches.Item(n).StartsWith(StrWithSep(filepath))))
{ wxLogNull NoLogWarningsAboutWrongPaths;
do
{ m_fswatcher->Remove(item); }
while (IsWatched(item));
CurrentWatches.RemoveAt(n);
}
}
wxLogTrace(wxT("myfswatcher"), wxT("RemoveWatchLineage() end: %i watches after removal starting with %s"), m_fswatcher->GetWatchedPathsCount(), filepath.c_str());
//PrintWatches(wxT("RemoveWatchLineage() end:"));
}
catch(...)
{ wxLogWarning(wxT("Caught an unknown exception in MyFSWatcher::RemoveWatchLineage")); }
}
bool MyFSWatcher::IsWatched(const wxString& filepath) const
{
wxArrayString CurrentWatches;
m_fswatcher->GetWatchedPaths(&CurrentWatches);
return (CurrentWatches.Index(StrWithSep(filepath)) != wxNOT_FOUND) || (CurrentWatches.Index(StripSep(filepath)) != wxNOT_FOUND);
}
bool MyFSWatcher::CreateWatcherIfNecessary()
{
if (m_fswatcher) return true;
#if wxVERSION_NUMBER > 2809
if (!wxApp::IsMainLoopRunning()) return false; // Until 2.8.10 wxApp::IsMainLoopRunning always returned false
#endif
#if USE_MYFSWATCHER
m_fswatcher = new MyFileSystemWatcher;
#else
m_fswatcher = new wxFileSystemWatcher;
#endif
if (m_owner) m_fswatcher->SetOwner(m_owner);
return true;
}
void MyFSWatcher::DoDelayedSetDirviewWatch(const wxString& path)
{
// Check we're fully made: I got a segfault once on starting: m_fswatcher was valid, but not m_DelayedDirwatchTimer
// If it isn't, ignore: we must be doing an initial expand of startdir, and the timer is irrelevant
if (m_DelayedDirwatchTimer)
{ m_DelayedDirwatchPath = path;
m_DelayedDirwatchTimer->Start(200, wxTIMER_ONE_SHOT);
}
}
void MyFSWatcher::OnDelayedDirwatchTimer()
{
if (!m_DelayedDirwatchPath.empty())
SetDirviewWatch(m_DelayedDirwatchPath); // The timer fired, meaning that there was a, possibly recursive, expansion of a dir
m_DelayedDirwatchPath.Clear();
}
void MyFSWatcher::PrintWatches(const wxString& msg /*=wxT("")*/) const
{
wxArrayString CurrentWatches;
int currentcount = m_fswatcher->GetWatchedPaths(&CurrentWatches);
wxLogTrace(wxT("myfswatcher"), wxT("PrintWatches(): %s Count = %i"), msg.c_str(), currentcount);
for (int n = 0; n < currentcount; ++n)
wxLogTrace(wxT("myfswatcher"), CurrentWatches.Item(n));
}
void WatchOverflowTimer::Notify()
{
if (m_isdirview) m_watch->SetDirviewWatch(m_filepath);
else m_watch->SetFileviewWatch(m_filepath);
// We must also force an update here. If not, any changes from the last 500ms won't display if the thread completed during that time
MyGenericDirCtrl* gdc = dynamic_cast(m_watch->GetOwner());
if (gdc && !m_isdirview) // Don't update a dirview: it doesn't seem 2b needed and it'll collapse the dir structure
gdc->ReCreateTree();
}
#endif // defined(__LINUX__) && defined(__WXGTK__)
4pane-5.0/config.h 0000644 0001750 0001750 00000021675 13112553266 010743 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: config.h
// Purpose: Constants and similar
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#ifndef CONFIGH
#define CONFIGH
size_t MyGenericDirCtrl::filecount = 0; // Initialisation of static members that act as a clipboard
wxArrayString MyGenericDirCtrl::filearray;
wxWindowID MyGenericDirCtrl::FromID = -1;
MyGenericDirCtrl* MyGenericDirCtrl::Originpane = NULL;
size_t MyGenericDirCtrl::DnDfilecount = 0; // Similarly for DragnDrop
wxArrayString MyGenericDirCtrl::DnDfilearray;
wxString MyGenericDirCtrl::DnDDestfilepath;
wxWindowID MyGenericDirCtrl::DnDFromID = -1;
wxWindowID MyGenericDirCtrl::DnDToID = -1;
bool MyGenericDirCtrl::Clustering = false;
MyFrame* MyFrame::mainframe; // To facilitate access to the frame from deep inside
bool FLOPPY_DEVICES_AUTOMOUNT; // Some distos automount floppies
bool CDROM_DEVICES_AUTOMOUNT; // Some distos automount dvds etc
bool USB_DEVICES_AUTOMOUNT; // Some distos automount usb devices
bool FLOPPY_DEVICES_SUPERMOUNT = false; // Similarly, some distos use supermount instead or as well
bool CDROM_DEVICES_SUPERMOUNT = false;
bool USB_DEVICES_SUPERMOUNT = false;
enum DiscoveryMethod DEVICE_DISCOVERY_TYPE; // Which method of info-discovery is used for hotplugged devices
enum TableInsertMethod FLOPPY_DEVICES_DISCOVERY_INTO_FSTAB;// Where is floppy-device data hotplugged to? fstab or mtab
enum TableInsertMethod CD_DEVICES_DISCOVERY_INTO_FSTAB; // Ditto cdrom
enum TableInsertMethod USB_DEVICES_DISCOVERY_INTO_FSTAB = MtabInsert; // Ditto usb
wxString AUTOMOUNT_USB_PREFIX(wxT("/dev/sd")); // See above. This holds the constant bit of the dir onto which usb devices are loaded. Probably "/dev/sd"
wxString SCSI_DEVICES(wxT("/sys/bus/scsi/devices")); // Some HAL/Sys data is discovered here
bool SUPPRESS_EMPTY_USBDEVICES = true; // Do we want to avoid displaying usb devices like multi-card readers, that will otherwise have multiple icons despite being largely empty
bool SUPPRESS_SWAP_PARTITIONS = true; // Do we want to avoid displaying swap partitions in the Mount/Unmount dialogs. Surely we do . . .
wxString PROGRAMDIR;
wxString BITMAPSDIR;
wxString RCDIR;
wxString HELPDIR;
size_t MAX_COMMAND_HISTORY = 25; // How many recent commands from eg grep or locate, should be stored
wxArrayString FilterHistory;
enum greptype WHICHGREP = PREFER_QUICKGREP;
enum findtype WHICHFIND = PREFER_QUICKFIND;
split_type WINDOW_SPLIT_TYPE = vertical; // Split each pane vertically by default
#if defined(__WXGTK20__)
bool USE_F10_KEY = true;
#endif
wxFont TREE_FONT; // Which font is currently used in the panes
wxFont CHOSEN_TREE_FONT; // Which font to use in the panes if USE_DEFAULT_TREE_FONT is false
bool USE_DEFAULT_TREE_FONT = true;
bool SHOW_TREE_LINES = true; // Whether (esp in gtk2) to show the branches, or just the leaves
int TREE_INDENT = 10; // Holds the horizontal indent for each subbranch relative to its parent
size_t TREE_SPACING = 10; // Holds the indent for each branch, +-box to Folder
int DnDXTRIGGERDISTANCE = 10; // How far before D'n'D triggers
int DnDYTRIGGERDISTANCE = 15;
int METAKEYS_COPY = wxACCEL_CTRL, METAKEYS_MOVE = 0, // These hold the flags that signify DnD Copy, Softlink etc
METAKEYS_HARDLINK = wxACCEL_CTRL+wxACCEL_SHIFT, METAKEYS_SOFTLINK = wxACCEL_ALT+wxACCEL_SHIFT;
bool TREAT_SYMLINKTODIR_AS_DIR = true;
bool SHOWHIDDEN = true;
bool SHOWPREVIEW = false;
bool USE_LC_COLLATE = true;
bool ASK_ON_TRASH = true; // Do we show the "Are you sure?" message
bool ASK_ON_DELETE = true;
bool USE_STOCK_ICONS = true;
bool SHOW_DIR_IN_TITLEBAR = true;
bool USE_FSWATCHER = true;
bool ASK_BEFORE_UMOUNT_ON_EXIT = false;
bool SHOW_TB_TEXTCTRL = true; // The textctrl in the toolbar that shows filepaths
wxString TRASHCAN; // Where to base the rubbish dirs
bool KONSOLE_PRESENT; // Which terminal emulators are present on the system
bool GNOME_TERM_PRESENT;
bool XTERM_PRESENT;
bool XCFE4_PRESENT;
bool LXTERMINAL_PRESENT;
bool MATETERMINAL_PRESENT;
wxString TERMINAL = wxT("konsole"); // The name of the terminal for terminal sessions
wxString TERMINAL_COMMAND = wxT("xterm -e "); // Command to prepend to an applic to launch in terminal window. Could also use konsole -e
// Ditto for Tools>Run a Program. --noclose or -hold mean don't close the terminal afterwards, so user can actually see the displayed results!
wxString TOOLS_TERMINAL_COMMAND = wxT("konsole --noclose -e "); // Could also use xterm -hold -e. Can't use gnome-terminal or lxterminal here, as no equivalent option
bool KDESU_PRESENT;
bool XSU_PRESENT;
bool GKSU_PRESENT;
sutype WHICH_SU = mysu;
bool USE_SUDO = false; // Is this a su or a sudo distro?
bool STORE_PASSWD = false; // Do we cache the password (from the builtin su)?
size_t PASSWD_STORE_TIME = 15; // If so, for how many minutes?
bool RENEW_PASSWD_TTL = false; // and do we extend the time-to-live whenever the cached password is supplied?
sutype WHICH_EXTERNAL_SU; // If WHICH_SU == mysu, this stores any external-su preference
wxString OTHER_SU_COMMAND; // A user-provided kdesu-equivalent, used when WHICH_SU==othersu
bool LIBLZMA_LOADED = false;
const bool ISLEFT = 0; // The flag for a directory window
const bool ISRIGHT = 1; // as opposed to a file window
bool SHOW_RECURSIVE_FILEVIEW_SIZE = false; // in fileview display, calculate the size of a dir recursively (and slowly!)
bool RETAIN_REL_TARGET = false; // If we Move a relative symlink, keep the original target
size_t MAX_NUMBER_OF_UNDOS = 10000; // Amount of memory to allocate for UnRedo
size_t MAX_NUMBER_OF_PREVIOUSDIRS = 1000; // Similarly for previously-visited dirs. I think 1000 should be enough.
size_t MAX_DROPDOWN_DISPLAY = 15; // How many to display at a time on a dropdown menu
const int MAX_NO_TABS = 26; // Can't have >26 tabs, mostly because they are labelled in config-file by a-z!
size_t MAX_TERMINAL_HISTORY = 200; // How many recent terminal-emulator commands should be stored
wxString TERMEM_PROMPTFORMAT = wxT("%u@%h: %w %$>"); // The preferred format for the terminal-emulator prompt
wxFont TERMINAL_FONT;
wxFont CHOSEN_TERMINAL_FONT; // This stores the user-defined terminalem font, so that it's still available if he reverts to default
bool USE_DEFAULT_TERMINALEM_FONT = true;
size_t CHECK_USB_TIMEINTERVAL = 3; // No of seconds between checks for new usb devices
size_t AUTOCLOSE_TIMEOUT = 2000; // How long to hold open an autoclose dialog
size_t AUTOCLOSE_FAILTIMEOUT = 5000; // Ditto if the process failed
size_t DEFAULT_BRIEFLOGSTATUS_TIME = 10; // The default BriefLogStatus message time, in seconds
bool COLOUR_PANE_BACKGROUND;
bool SINGLE_BACKGROUND_COLOUR;
wxColour BACKGROUND_COLOUR_DV, BACKGROUND_COLOUR_FV;
bool USE_STRIPES = false; // For those who like a naffly-striped fileview
wxColour STRIPE_0, STRIPE_1;
bool HIGHLIGHT_PANES; // Do we subtly emphasise which pane has focus?
int DIRVIEW_HIGHLIGHT_OFFSET; // If so, how subtly?
int FILEVIEW_HIGHLIGHT_OFFSET;
const size_t TOTAL_NO_OF_FILEVIEWCOLUMNS = 8;
size_t DEFAULT_COLUMN_WIDTHS[ TOTAL_NO_OF_FILEVIEWCOLUMNS ] = { 30, 6, 6, 15, 9, 10, 6, 25 }; // How wide is a visible column by default
bool DEFAULT_COLUMN_TEMPLATE[] = { 1, 1, 1, 1, 0, 0, 0, 0 }; // and which of them are shown by default
unsigned int EXTENSION_START = 0; // Do the exts shown in the 'ext' column start with the first, penultimate or last dot?
wxString FLOPPYINFOPATH( wxT("/sys/block/fd") );
wxString CDROMINFO( wxT("/proc/sys/dev/cdrom/info") );
wxString PARTITIONS( wxT("/proc/partitions") );
wxString SCSIUSBDIR( wxT("/proc/scsi/usb-storage-") );// Used by DeviceManager::ReadScsiUsbStorage()
wxString SCSISCSI( wxT("/proc/scsi/scsi") ); // Used by DeviceManager::ParseProcScsiScsi()
wxString DEVICEDIR( wxT("/dev/") );
wxString LVMPREFIX( wxT("dm-") );
wxString LVM_INFO_FILE_PREFIX( wxT("/dev/.udevdb/block@") );
size_t LINES_PER_MOUSEWHEEL_SCROLL = 5;
wxString SMBPATH = wxT("/usr/bin/"); // Where is the dir with samba stuff? Might be symlinked from here instead
wxString SHOWMOUNTFPATH = wxT("/usr/sbin/showmount"); // Where is showmount?
wxArrayString NFS_SERVERS; // Any known servers
int DEFAULT_STATUSBAR_WIDTHS[ 4 ] = { 5, 3, 8, 2 };
bool USE_SYSTEM_OPEN(true);
bool USE_BUILTIN_OPEN(true);
bool PREFER_SYSTEM_OPEN(true);
#endif
// #ifndef CONFIGH
4pane-5.0/ExecuteInDialog.cpp 0000644 0001750 0001750 00000021574 12675313657 013053 0000000 0000000 /////////////////////////////////////////////////////////////////////////////
// Name: ExecuteInDialog.cpp
// Purpose: Displays exec output in a dialog
// Part of: 4Pane
// Author: David Hart
// Copyright: (c) 2016 David Hart
// Licence: GPL v3
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#include "wx/xrc/xmlres.h"
#include "Externs.h"
#include "ExecuteInDialog.h"
DisplayProcess::DisplayProcess(CommandDisplay* display) : wxProcess(wxPROCESS_REDIRECT), m_WasCancelled(false), m_parent(display)
{
m_text = m_parent->text;
}
bool DisplayProcess::HasInput() // The following methods are adapted from the exec sample. This one manages the stream redirection
{
char c;
bool hasInput = false;
// The original used wxTextInputStream to read a line at a time. Fine, except when there was no \n, whereupon the thing would hang
// Instead, read the stream (which may occasionally contain non-ascii bytes e.g. from g++) into a memorybuffer, then to a wxString
while (IsInputAvailable()) // If there's std input
{ wxMemoryBuffer buf;
do
{ c = GetInputStream()->GetC(); // Get a char from the input
if (GetInputStream()->Eof()) break; // Check we've not just overrun
buf.AppendByte(c);
if (c==wxT('\n')) break; // If \n, break to print the line
}
while (IsInputAvailable()); // Unless \n, loop to get another char
wxString line((const char*)buf.GetData(), wxConvUTF8, buf.GetDataLen()); // Convert the line to utf8
m_parent->AddInput(line); // Either there's a full line in 'line', or we've run out of input. Either way, print it
hasInput = true;
}
while (IsErrorAvailable())
{ wxMemoryBuffer buf;
do
{ c = GetErrorStream()->GetC();
if (GetErrorStream()->Eof()) break;
buf.AppendByte(c);
if (c==wxT('\n')) break;
}
while (IsErrorAvailable());
wxString line((const char*)buf.GetData(), wxConvUTF8, buf.GetDataLen());
m_parent->AddInput(line);
hasInput = true;
}
return hasInput;
}
void DisplayProcess::OnTerminate(int pid, int status) // When the subprocess has finished, show the rest of the output, then an exit message
{
while (HasInput());
wxString exitmessage;
if (!status) exitmessage = _("Success\n");
else
if (!AlreadyCancelled()) exitmessage = _("Process failed\n");
*m_text << exitmessage;
m_parent->exitstatus = status; // Tell the dlg what the exit status was, in case caller is interested
m_parent->OnProcessTerminated(this);
}
void DisplayProcess::OnKillProcess()
{
if (!m_pid) return;
// Take the pid we stored earlier & kill it. SIGTERM seems to work now we use wxEXEC_MAKE_GROUP_LEADER and wxKILL_CHILDREN but first send a SIGHUP because of
// the stream redirection (else if the child is saying "Are you sure?" and waiting for input, SIGTERM fails in practice -> zombie processes and a non-deleted wxProcess)
Kill(m_pid, wxSIGHUP, wxKILL_CHILDREN);
wxKillError result = Kill(m_pid, wxSIGTERM, wxKILL_CHILDREN);
if (result == wxKILL_OK)
{ (*m_text) << _("Process successfully aborted\n");
m_parent->exitstatus = 1; // Tell the dlg we exited abnormally, in case caller is interested
m_parent->OnProcessKilled(this); // Go thru the termination process, but detaching rather than deleting
}
else
{ (*m_text) << _("SIGTERM failed\nTrying SIGKILL\n"); // If we could be bothered, result holds the index in an enum that'd tell us why it failed
result = Kill(m_pid, wxSIGKILL, wxKILL_CHILDREN); // Fight dirty
if (result == wxKILL_OK)
{ (*m_text) << _("Process successfully killed\n");
m_parent->exitstatus = 1;
m_parent->OnProcessKilled(this);
}
else
{ (*m_text) << _("Sorry, Cancel failed\n");
m_parent->OnProcessKilled(this); // We need to do this anyway, otherwise the dialog can't be closed
}
}
m_WasCancelled = true;
}
//-----------------------------------------------------------------------------------------------------------------------
void CommandDisplay::Init(wxString& command)
{
m_running = NULL; // Null to show there isn't currently a running process
m_timerIdleWakeUp.SetOwner(this, wakeupidle); // Initialise the process timer
shutdowntimer.SetOwner(this, endmodal); // & the shutdown timer
text = (wxTextCtrl*)FindWindow(wxT("text"));
RunCommand(command); // Actually run the process. This has to happen before ShowModal()
}
void CommandDisplay::RunCommand(wxString& command) // Do the Process/Execute things to run the command
{
if (command.IsEmpty()) return;
DisplayProcess* process = new DisplayProcess(this); // Make a new Process, the sort with built-in redirection
long pid = wxExecute(command, wxEXEC_ASYNC | wxEXEC_MAKE_GROUP_LEADER, process); // Try & run the command. pid of 0 means failed
if (!pid)
{ wxLogError(_("Execution of '%s' failed."), command.c_str());
delete process;
}
else
{ process->SetPid(pid); // Store the pid in case Cancel is pressed
AddAsyncProcess(process); // Start the timer to poll for output
}
}
void CommandDisplay::AddInput(wxString input) // Displays input received from the running Process
{
if (input.IsEmpty()) return;
text->AppendText(input); // Add string to textctrl
}
void CommandDisplay::OnCancel(wxCommandEvent& event)
{
if (m_running) m_running->OnKillProcess(); // If there's a running process, murder it
else // If not, the user just pressed Close
{ shutdowntimer.Stop(); // Stop the shutdowntimer, in case it was running (to avoid 2 coinciding EndModals)
wxDialog::EndModal(!exitstatus);
}
}
void CommandDisplay::AddAsyncProcess(DisplayProcess *process) // Starts up the timer that generates wake-ups for OnIdle
{
if (m_running==NULL) // If it's not null, there's already a running process
{ m_timerIdleWakeUp.Start(100); // Tell the timer to create idle events every 1/10th sec
m_running = process; // Store the process
}
}
void CommandDisplay::OnProcessTerminated(DisplayProcess *process) // Stops everything, deletes process
{
m_timerIdleWakeUp.Stop(); // Stop the process timer
delete process;
m_running = NULL;
SetupClose(); // Relabels Cancel button as Close, & starts the endmodal timer if desired
}
void CommandDisplay::OnProcessKilled(DisplayProcess *process) // Similar to OnProcessTerminated but Detaches rather than deletes, following a Cancel
{
m_timerIdleWakeUp.Stop();
process->Detach();
m_running = NULL;
SetupClose();
}
void CommandDisplay::SetupClose() // Relabels Cancel button as Close, & starts the endmodal timer if desired
{
if (((wxCheckBox*)FindWindow(wxT("Autoclose")))->IsChecked())
shutdowntimer.Start(exitstatus ? AUTOCLOSE_FAILTIMEOUT : AUTOCLOSE_TIMEOUT, wxTIMER_ONE_SHOT);
((wxButton*)FindWindow(wxT("wxID_CANCEL")))->SetLabel(_("Close"));
}
void CommandDisplay::OnProcessTimer(wxTimerEvent& WXUNUSED(event)) // When the timer fires, it wakes up the OnIdle method
{
wxWakeUpIdle();
}
void CommandDisplay::OnEndmodalTimer(wxTimerEvent& WXUNUSED(event)) // Called when the one-shot shutdown timer fires
{
wxDialog::EndModal(!exitstatus);
}
void CommandDisplay::OnIdle(wxIdleEvent& event) // Made to happen by the process timer firing; runs HasInput()
{
if (m_running==NULL) return; // Ensure there IS a process
m_running->HasInput(); // Check for input from the process
}
void CommandDisplay::OnAutocloseCheckBox(wxCommandEvent& event)
{
shutdowntimer.Stop(); // Either way, start with stop
if (event.IsChecked() // If the autoclose checkbox was unchecked, & has just been checked
&& m_running==NULL) // If the process has finished/aborted, start the shutdown timer
shutdowntimer.Start(exitstatus ? AUTOCLOSE_FAILTIMEOUT : AUTOCLOSE_TIMEOUT, wxTIMER_ONE_SHOT);
}
BEGIN_EVENT_TABLE(CommandDisplay, wxDialog)
EVT_CHECKBOX(XRCID("Autoclose"), CommandDisplay::OnAutocloseCheckBox)
EVT_IDLE(CommandDisplay::OnIdle)
EVT_BUTTON(wxID_CANCEL, CommandDisplay::OnCancel)
EVT_TIMER(wakeupidle, CommandDisplay::OnProcessTimer)
EVT_TIMER(endmodal, CommandDisplay::OnEndmodalTimer)
END_EVENT_TABLE()
4pane-5.0/configure.ac 0000644 0001750 0001750 00000010141 13130150240 011556 0000000 0000000 dnl Process this file with autoconf to produce a configure script.
AC_INIT([4Pane],[5.0])
AC_PREREQ(2.59)
AC_CONFIG_MACRO_DIRS([.build])
AC_CONFIG_SRCDIR([MyDirs.cpp])
AC_CONFIG_FILES([Makefile locale/Makefile])
AC_PROG_INSTALL
AC_PROG_LN_S
dnl For some reason, if AC_PROG_CC/CXX find C(XX)FLAGS empty they maliciously fill both with "-g -02"
dnl We append to them in WX_STANDARD_OPTIONS later, causing a confusing duplication or inconsistency in the build output
dnl So cache any user-supplied value and reapply it (or "") after these calls
_CFLAGS=$CFLAGS
_CXXFLAGS=$CXXFLAGS
AC_PROG_CC
AC_PROG_CXX
CFLAGS=$_CFLAGS
CXXFLAGS=$_CXXFLAGS
AC_PROG_CXXCPP
dnl These macros from wxwin.m4 check for a suitable wxWidgets build
WX_CONFIG_OPTIONS dnl Supports --wx-prefix, --wx-exec-prefix, --with-wxdir and --wx-config command line options
WX_CONFIG_CHECK([2.8.0],[wxWin=1],[wxWin=0],[core,xrc,xml,adv,html])
AS_IF( [test "$wxWin" = 1],
[], [AC_MSG_ERROR([
wxWidgets must be installed on your system
but wx-config script couldn't be found.
Please check that wx-config is in your \$PATH
and the wxWidgets version is 2.8.0 or above.
])
]
)
WX_STANDARD_OPTIONS([debug,unicode,wxshared,toolkit]) dnl Handles e.g. --enable-debug --with-gtk
WX_DETECT_STANDARD_OPTION_VALUES dnl Handles option values e.g. --with-gtk3 Requires a wxwin.m4 >=wx3.1
AM_INIT_AUTOMAKE([subdir-objects foreign -Wall -Werror])
dnl If building against gtk2 or 3, check the headers are installed
AS_IF( [test "x$WX_PORT" = xgtk3], [FP_CHECK_GTK_HEADERS(3)],
[test "x$WX_PORT" = xgtk2], [FP_CHECK_GTK_HEADERS(2)],
[AC_MSG_ERROR([
No gtk2 or gtk3 wxWidgets build found in your \$PATH.
Please install one and try again.
])
]
)
dnl See if we use the system bzip2 headers/lib instead of our built-in versions (the default)
dnl LIBBZ2 gets filled with -lbz2, or nothing if we're using the built-in
FP_BZIP2_CHECK(LIBBZ2)
dnl Check for the xz/lzma headers, without which we can't build the code for xz archive streams
dnl LIBLZMA gets filled with -llzma, or nothing if we're not using xz/lzma
FP_LZMA_ARCHIVE_STREAMS(LIBLZMA)
dnl We need to link to glib-2 for gtk3 builds that use the built-in FSWatcher i.e. those < wx3.0.3 plus wx3.1.0
AS_IF( [test $WX_VERSION_MAJOR -lt 3], [GLIB2="-lglib-2.0"],
[test $WX_VERSION_MAJOR$WX_VERSION_MINOR$WX_VERSION_MICRO -lt 303], [GLIB2="-lglib-2.0"],
[test $WX_VERSION_MAJOR$WX_VERSION_MINOR$WX_VERSION_MICRO = 310], [GLIB2="-lglib-2.0"],
[GLIB2=]
)
dnl link explicitly to required non-wx libs, as needed for non-DT_NEEDED distros
AS_IF( [test "x$WX_PORT" = x2], [AC_SUBST([XTRLIBS], ["-lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0 -lgio-2.0 -lutil $LIBBZ2 $LIBLZMA"])],
[test "x$WX_PORT" = x3], [AC_SUBST([XTRLIBS], ["-lgtk-3 -lgobject-2.0 $GLIB2 -lgio-2.0 -lutil $LIBBZ2 $LIBLZMA"])],
[AC_SUBST([XTRLIBS], ["-lutil $LIBBZ2 $LIBLZMA"])]
)
FP_CONTROL_ASSERTS
FP_DETECT_GETTEXT
FP_GETARG_ENABLE([install_app], [install_app], [--disable-install_app stops make install installing the app], [enable])
FP_GETARG_ENABLE([symlink], [symlink], [--disable-symlink stops make install creating a 4Pane to 4pane symlink], [enable])
FP_GETARG_ENABLE([desktop], [desktop], [--disable-desktop stops make install trying to create a 4Pane desktop shortcut], [enable])
FP_GETARG_ENABLE([locale], [locale], [--disable-locale stops make install trying to install 4Pane's locale files], [enable])
FP_GETARG_ENABLE([install_rc], [install_rc], [--disable-install_rc stops make install installing the resource files], [enable])
FP_GETARG_ENABLE([install_docs], [install_docs], [--disable-install_docs stops make install installing the manual files], [enable])
dnl Provide an easy way of appending to CXXFLAGS etc, as this is currently hard
dnl It can be used e.g. for the 'hardening' flags when building packages
AC_SUBST([EXTRA_CPPFLAGS])
AC_SUBST([EXTRA_CFLAGS])
AC_SUBST([EXTRA_CXXFLAGS])
AC_SUBST([EXTRA_LDFLAGS])
AC_OUTPUT
4pane-5.0/doc/ 0000755 0001750 0001750 00000000000 13130150240 010120 5 0000000 0000000 4pane-5.0/doc/DnDSelectedCursor.png 0000644 0001750 0001750 00000000265 12120710621 014070 0000000 0000000 ‰PNG
IHDR óÿa bKGD ²æÈn pHYs d_‘ tIMEÔ °ž§~ BIDATxœc` ü‡bÀH¤0C0ô1â2™ÀÈÀÀÀÀD¦f¸‹ðy(—x
¢ÄD» ¯+H‰F¼‚!
¨' †Ü IEND®B`‚ 4pane-5.0/doc/OpenWith.htm 0000644 0001750 0001750 00000007760 12513534125 012335 0000000 0000000
The "Open With" dialog
The "Open With" dialog
This is 4Pane's substitute for MIME-types. You can get to the dialog by right-clicking a file and choosing "Open with...",
or by double-clicking a file that has an extension unknown to 4Pane.
In the middle of the dialog is a tree of the applications that 4Pane knows about, stored in folders with names like Editors or Graphics .
You can add more folders using the "Add Folder" button on the top right, and delete the currently-selected folder with the "Remove Folder" button.
If a folder isn't empty, it has an Expand box to the left of its name. Clicking this opens it to show the names of the contained applications.
Select one of the folder's applications. You will see that its name is now displayed in the box at the top of the dialog, and the "Edit Application"
button is now enabled. Clicking OK at this stage will open the file with that application just this once, without altering any settings.
To make persistent changes, click the "Edit Application" button. A new dialog appears, showing the settings for the application.
You can alter any of these, but you will most often want to add or remove entries in the "Extension(s) that it should launch" box. This contains
the extensions that this application can open e.g. txt for a text editor. If the application can cope with several different extensions,
put them all here, separated by commas e.g. htm,html,HTM,HTML . Though I've called these entries 'extensions', and they almost always
will be, you can actually put filenames there too if appropriate: for example, you might well want an editor to open "README" files, so
enter txt,README,readme .
At the bottom of the dialog are two tickboxes. The first says "Open in terminal". A few applications will only work from a terminal, in which
case tick this box. The other button, "Always use the selected application for this kind of file" does just that. If you tick this, the selected
application will be used in the future if you double-click any file with this extension. Such extensions are displayed bold in the "Extension(s) that it should launch" box.
The other buttons at the top of the "Open With" dialog are "Remove Application", which does just that, and "Add Application", which launches a dialog
similar to the "Edit Application" one just described.
That was all a bit confusing, so let me recap. You want an application to be associated with files having a particular extension,
and so to appear on those files' context menu's "Open with..." submenu. Add that extension to the application's "Open With" dialog entry.
If you want several applications to appear on the submenu, do this for each of them.
You want files having the extension "bar", when double-clicked, automatically to open in an application called "foo". Make sure that foo has
an entry in the dialog, and the entry contains the extension bar. Then tick the entry's "Always use the selected application for this kind of file" box.
4pane-5.0/doc/Open.htm 0000644 0001750 0001750 00000006375 12513534125 011502 0000000 0000000
Opening and Launching
Opening and Launching
Opening a file
If you double-click e.g. a text file (a file with the extension ".txt"), 4Pane tries to open it in your chosen text editor. Since 4Pane 3.0 there are two ways it can decide which editor to use:
It can ask your system for the default application for that extension, and use that.
The original, built-in method. When 4Pane first starts, it searches your system for standard applications like kwrite and gedit, and 'associates' these with text files.
You can change these and add others at any time using the "Open With..." dialog.
By default it tries the first way first, then the second, but this can be configured here .
If you try to open a file that isn't recognised, the "Open With..." dialog will automatically open.
Another way to open a file is from the context menu, and this is useful if there is more than one application available to open
a particular type of file. If you right-click such a file, one of the items in the resulting context menu will be "Open with...". Selecting
this produces a submenu containing the known applications appropriate to the file; beneath these will be the option "Other" which again
leads to the "Open With..." dialog.
If you bring up a context menu for a file that 4Pane doesn't know how to open, it will still contain "Open with...", but this time not as a
submenu. Selecting it will once again produce the "Open With..." dialog.
Launching an Executable file
An executable file is an application or a script that your computer can run. If you double-click such a file in 4Pane it will be launched (assuming that you
have the right permissions etc).
However you might sometimes want an executable script to be opened in an editor instead of running. The easiest way to do so is to drag it onto
an Editor icon , but an alternative is to double-click the file while pressing the Ctrl key. 4Pane will then treat it
as though it were not executable, and try to open it.
4pane-5.0/doc/FileviewCols.htm 0000644 0001750 0001750 00000005343 12120710621 013155 0000000 0000000
Fileview Columns
Fileview Columns
The right-hand part of each twin pane is a file-view: it shows the contents of the directory selected in the dir-view. While a dir-view has only one column, containing the directory names,
a file-view can have several. The first, the Name column, is always present. The others are configurable, either from the file-view Context menu, or by right-clicking on a column header.
The optional columns are: Extension (the 'txt' bit of foo.txt); the Size of each file; its date and Time ; Permissions ; Owner ; Group ; and finally Link , which shows its target if it's a symlink.
You can also choose to Show All the columns, or None (except for the name).
From the file-view context menu, or that of the 'ext' section of the column header, you can also choose how much of a multi-dot extension is displayed in the 'ext' column.
By default an extension starts at the first '.' e.g. for foo-1.2.tar.gz it will be 2.tar.gz. This isn't always what you want, so you can change it to the last dot, or the penultimate one (appropriate for e.g. foo.tar.gz).
You can alter the width of a column by dragging the border between its header and an adjoining one. If you click once on the header of a column, the files will be sorted by that column's data; click again, and the sort will be reversed. For example, two clicks on the Size column header will sort the files by size, with the largest first.
Which columns are shown, their widths, and how they sort, are some of the things saved by Options > Save Pane Settings and Options > Save Pane Settings On Exit .
4pane-5.0/doc/Running.htm 0000644 0001750 0001750 00000004467 12675313657 012237 0000000 0000000
Starting 4Pane
Starting 4Pane
The usual way to invoke 4Pane is by typing 4Pane into "Run command" or a console, or putting this in a desktop shortcut.
However you might occasionally need a more complicated method:
If you want to open 4Pane at a particular directory (or directories --- one on the left, one on the right),
you can pass it as a parameter:
4Pane /path/to/foo or 4Pane /path/to/foo /path/to/bar
You would use this if you make 4Pane your desktop manager's default file manager: it would then open a new instance of 4Pane when removable media was plugged in.
If you are running a LiveCD: you'd need 4Pane's configuration file to be in a writable location, or in one that persists. You can do this with the -c option:
e.g. 4Pane -c /media/usbpen . You can similarly set the directory that 4Pane calls Home by using the -d option.
The first time that you run 4Pane, or whenever a configuration file isn't found, a wizard will appear. Generally this will just acquire information
about your system and save sensible defaults, but you also have the option of copying an existing configuration (perhaps one belonging to another user).
4pane-5.0/doc/Export.htm 0000644 0001750 0001750 00000006275 12120710621 012050 0000000 0000000
Exporting a Configuration
Exporting a Configuration
Most people won't want to do this! 4Pane creates and uses a configuration file, ~/.4Pane, which is specific to your software and hardware;
not to mention any personal choices that you've made.
However there are three reasons that I can think of to want some or all of this configuration to be passed to other machines.
If you happen to have two or more identical setups. In that case you'd configure one box, then just copy ~/.4Pane to the others.
If you have the same software running on several machines with different hardware.
If you're a packager for a distro, creating a 4Pane package :D. You might want to specify e.g. default editors or file associations
that are appropriate for that distro.
In the second two cases you'd want to copy just some of the configuration. This can be done from the dialog that you get when you click the
"Export Configuration File" button in Options > Configure 4Pane > Misc > Other . You can choose to export data about any or all of:
User-defined Tools
Editors
Device-mounting
Terminals
File Associations
The selected parts of your current configuration will be saved in your home directory, as file called 4Pane.conf .
When 4Pane starts, it looks for its configuration file. If it can't find one, the setup wizard opens. This normally creates a configuration
file containing data that is, as far as possible, appropriate for your machine and distro. However it first looks for a file called either
4Pane.conf or 4pane.conf; looking first in $Home, then in the current working directory, and finally in /etc/4Pane/ and /etc/4pane/. If one
of these exists, any saved data is used instead of the wizard's guesses.
So to copy your preferences to a different machine, export them as above, and transfer 4Pane.conf to the other machines' $Home. To use 4Pane.conf
in a packaging situation, arrange for it to be installed in one of those places, presumably /etc/4[Pp]ane/.
4pane-5.0/doc/Statusbar.htm 0000644 0001750 0001750 00000005163 13130150240 012527 0000000 0000000
The Statusbar
The Statusbar
The statusbar has four sections:
When a menu-item is highlit, this is where any associated help information is displayed
4Pane's confirmatory messages appear here e.g. "2 files copied".
These messages are automatically removed after 10 seconds. You can change this time in Options > Configure 4Pane > Misc.
Since 4Pane 5.0, the progress of a long move or paste is displayed in this section.
The largest and most useful section, this displays the type, name and size of the currently-selected file. e.g.
Regular File: Statusbar.htm 1.6K
or, if a symlink, the type, name and target. e.g.
Symbolic Link: libwx_baseu-2.8.so --> /usr/lib/libwx_baseu-2.8.so.0
This section shows what sort of things are being displayed in the selected pane. This will normally be either D H * or D F H * . D means Directories, F Files and H Hidden ones.
If the Options > Show recursive dir sizes menu item is ticked, there will also be an R for Recursive when a fileview has focus.
The '*' denotes "Show all of these things". Alternatively D F H d* would mean that only files starting with 'd' were displayed.
You can adjust the Filter by [Right-click] > Filter Display (or Ctrl-Sh-F). See Filter .
You can alter the proportion of the statusbar allocated to each section in Options > Configure 4Pane > Misc > Other: Configure Statusbar.
4pane-5.0/doc/forward.gif 0000644 0001750 0001750 00000000321 12120710621 012172 0000000 0000000 GIF89a ò wÄ€€€ÀäËÿÿÿ !ù , –HDD„DDDHDD„DDDHDD„DDDHDD€DDDHDD„D@HDD„DDDH0@„DD €3@DH3ƒ3318@D„1ƒ@DDH € 1BD„"""(0 „DDDHD$€ DDHDD„DBHDD„DDD(BD„DDDHD$„DDDHDD„DDDHD” ; 4pane-5.0/doc/FAQ.htm 0000644 0001750 0001750 00000005576 13130150240 011176 0000000 0000000
FAQ
FAQ
Why can't 4Pane be like other file managers and have icon-view/one-pane options?
There are already plenty of file managers that do that. 4Pane is for people (like me) who want the increased information
that a list-view provides, and the ease of navigation that you get with a separate directory pane.
OK, but I can't see all that information: with four panes there isn't enough screen width.
Well, there is a scrollbar... Anyway:
You can shrink other panes by dragging their vertical borders, giving more room to the file-view.
You don't have to display all of the file-view columns , only the ones that you're interested in.
You can use View > Unsplit Panes so that only one pair of panes is displayed.
Why doesn't 4Pane look up the mime-type of each file it displays?
Speed. Opening my /usr/bin directory containing several thousand files used to take less than a second in 4Pane, compared with 15 seconds
in Konqueror. Admittedly that was some time ago, and the difference is much less with a more modern computer. Nevertheless, why spend time
and cpu cycles checking when you hardly ever need to know the answers?
Why isn't 4Pane an ftp client/web browser/dvdrom burner?
Because it's a file manager. It tries to do one thing, well. If you want to burn a dvdrom, use a dvdrom burner.
Why doesn't 4Pane use the orthodox Commander-style shortcuts?
Because it doesn't try to be a Commander-style file manager. Apart from standard things like Ctrl-C for Copy, it uses a mixture of PowerDesk and Konqueror shortcuts.
However you can configure the shortcuts to suit your preferences.
4pane-5.0/doc/Archive.htm 0000644 0001750 0001750 00000013573 12120710621 012147 0000000 0000000
The Archive menu
The Archive menu
With this menu you can create and manage Archives, and compress/decompress files. Note that it doesn't deal with "virtual" browsing of archives; for this see here .
Providing they are available on your computer 4Pane can compress and decompress files using gzip, bzip2, xz, lmza, lzop and compress, corresponding to filenames ending in
gz, bz2, xz, lzma, lzo and Z . Similarly it can extract tar, zip, 7-Zip, ar and cpio archives, with filenames ending in
.tar.gz, .tgz etc, .zip, .7z, .ar (and .deb ) and .cpio (and rpm ). It can create archives using tar and zip; tar archives can be compressed using the above compressors plus 7z. (4Pane doesn't try to create 'standard' 7z archives (like those made in 7-Zip) as these don't store their content's ownership/group info, and so aren't appropriate for Linux. If you especially wish to make an archive compressed with 7z, use .tar.7z.)
All the following are applied to the currently-selected items in the active pane; so to create a new archive containing three particular files, first highlight those files. Most of the dialogs allow you to add extra items later, but pre-selection is usually easier.
The first menu item is Extract Archive or Compressed File(s) , with the shortcut Ctrl-E . If the highlit items are compressed files, or a mixture of compessed files and archives, a dialog will appear that lists the items to be decompressed. To the right of the list is a section that allows you to add more items: write in another file, or browse for one, then click the Add to List button.
Below are three tickboxes. If first is ticked, and there are directories in the list, any compressed files in those directories and their subdirectories will be decompressed too.
The second deals with overwriting existing files; unless it's ticked, if there is already a file called foo, trying to decompress foo.gz will fail.
The third determines what to do with any archives in the list. If it's ticked, archives are decompressed but not extracted: so foo.tar.gz becomes foo.tar. If not, archives are ignored.
If the selected item is an archive (you can only extract archives one at a time; if more than one is selected, only the first will be extracted) you get a different dialog that just asks you to choose a directory in which to put the extracted files. By default this is the currect directory.
Create a New Archive (Sh-Ctrl-Z ) brings up a dialog which starts in the same way as the Extract dialog: a list of files to add, and a way to get more.
Below is place for you to type in the name you want for the archive; just the main part, the extension will be added automatically. To the right you optionally can choose a different directory to put the archive in; by default it will be the current one.
Finally choose the type of archive to make: tar or zip. If it's tar, you can choose to compress it with e.g. gzip or xz, or not at all; whether to add any symlinks to the archive, or the files that they target;
whether to verify the archive afterwards; and whether to delete the original files once they've been added (not a good idea for important files). These choices will persist for future dialogs.
The next item, Add to an Existing Archive , uses a similar dialog to Create a New Archive . It tries to be intelligent: if the current pane has an archive highlit as well as files, it will suggest adding the files to that archive. However it isn't all that intelligent; it doesn't prevent you from adding the file foo.txt to an archive that already contains a foo.txt.
Test integrity of an Archive or Compressed File(s) does this for the selected archive or compressed files, after showing a dialog.
The last item is Compress Files (Ctrl-Alt-Z ). It produces a dialog that by now should be familiar. The main difference is that, for compressors where it's appropriate, you can also choose whether to compress faster/less or slower/better.
A few general points:
The output of all these commands is shown in a (different) dialog, so you can see what is happening, and what goes wrong. This dialog self-closes after 2 seconds if all goes well, or 5 seconds if there are any failures;
if you don't want it to, untick the "Auto-Close" tickbox. These times can be changed in Options > Configure 4Pane > Misc: Times .
Enormous archives will take a very long time to process and display; to backup a whole filesystem, you might prefer to use a terminal.
4Pane subcontracts these commands to other programs (tar, gzip etc). As a result they are outside 4Pane's Undo/Redo system.
4pane-5.0/doc/ArchiveBrowse.htm 0000644 0001750 0001750 00000007014 12120710621 013322 0000000 0000000
Browsing Archives
Browsing Archives
It's one of the features of 4Pane that you can "browse" inside a tar or zip archive without having to extract it (for compressed tars this works for compression by gz, bz2, xz and lzma). In fact browse is an understatement: you can do much more than just look.
Double-click on an archive (NB this only works for archives, not compressed files). You'll see that the dir-view changes to show the archive as the "root directory"; any subdirectories that the archive contains will appear beneath.
The file-view will now be showing the archive's contents. Notice that the icon of each file or directory is somewhat ghost-like, to remind you that what you're seeing is "virtual".
You can do most of the things inside the archive that you'd be able to do outside, and in the same ways. So for example you can
Cut and Paste files or subdirectories, either from a menu, shortcut or Drag'n'Drop; and you can do this within an archive, between the archive and the "real world",
or even between two archives. Undo/Redo works.
Open and Open With appear to work as usual, but here there's a catch: to open foo.txt in kwrite, the text-file is first copied into a real, temporary file;
then the temporary file is opened. So although the file isn't officially read-only, any changes that you make will be saved to the temporary file and then deleted. Be warned!
There are a few things that you can't do within an archive. You can't make an archive item a symlink target (it would be meaningless to try).
You can't open the Properties dialog for an archive item. You can't create a new item inside the archive; however you can create a file or directory outside the archive, and then Move it in.
And if you move a relative symlink within an archive or between archives, it doesn't keep pointing at its previous target.
There's one thing that you can do within an archive but probably shouldn't . Archives are happy to contain two files with the
name, and so it's possible to paste a file into an archive directory more than once if you want to. However 4Pane has no way of distinguishing
between such files, so if you delete or rename one, both are affected.
There's also an extra thing that you can do: highlighting one or more files and choosing Extract from Archive from the Context Menu allows you to extract just those files to the directory of your choice.
4pane-5.0/doc/View.htm 0000644 0001750 0001750 00000006273 12513534125 011510 0000000 0000000
The View menu
The View menu
This is the menu where you can choose what is displayed, and where. The first two items are Show Terminal Emulator and Show Command-line ; more about these here . The third, Show Previews , turns on or off whether Previews of image and text files are shown.
The next three determine how the panes are orientated, and how many are shown. Panes come in pairs. The one on the left of each pair shows only directories (the dir-view).
When you select one of those directories, its contents (both files and immediate subdirectories) are displayed in the other, righthand pane (the file-view).
By default 4Pane has (believe it or not) four panes showing, split vertically; dir-view, file-view; dir-view, file-view. However you can choose instead for the split to be horizontal, with an upper pair and a lower.
Or (despite the name) to unsplit, so that only one pair shows; this is useful when you want to be able to see more file-view columns at a time.
You can change the display type at any time, using Split Panes Vertically , Split Panes Horizontally and Unsplit Panes .
Sometimes useful are Replicate in Opposite Pane , which duplicates the current twin-pane's filepaths on the opposite side; and Swap the Panes , which swaps one twin-pane's selection with the other.
The next menu item is Filter Display , which allows you to restrict what is displayed in the currently-selected pane. See Filter .
Following this is Hide Hidden dirs and files (or, if they're already hidden, Show ), which also applies to the currently-selected pane.
You can set the global default in Options > Configure 4Pane: Display > trees .
Last is Columns to Display , which opens this submenu. Here you can choose which columns the current file-view should display: time, owner etc.
As you'd expect, you can sort a file-view by clicking on a column header; for example, to sort by size, click the size-column header.
4pane-5.0/doc/Tools.htm 0000644 0001750 0001750 00000013262 13130150240 011656 0000000 0000000
The Tools menu
The Tools menu
What is a Tool? An outside program that is called from 4Pane, and the results displayed by 4Pane. There are three of these built-in, but you can add more yourself.
The first three menu-items are for the standard tools: Locate , Find and Grep . Selecting one of these invokes the appropriate dialog, and the results are displayed in the Terminal Emulator .
Locate is the quickest way of searching for a file or directory, as it looks up a database rather than each search scanning the filesystem. If it isn't already available on your system,
install the 'findutils' package. Its search pattern can contain the simple wildcards *, ? and [Aa] (but see the -r option below).
The Locate dialog is quite simple; most often you'll just put the search string in the box and click OK.
It keeps a history of the searches that you can access from the dropdown arrow or the Down/Up keys. There are also options that may occasionally be useful:
-b returns only matches in the last segment of a filepath; so the pattern 'foo' would match /bar/bigfoot but not /bigfoot/bar.
-i ignores case, so that 'foO' would match /Foo, /FOO etc
-e checks for the continued existence of each match, in case it had been deleted since the last database update. This might take a little time.
-r says to treat the pattern as a Regular Expression .
Grep comes in two flavours. For everyday use there is Quick Grep , which is easy to use but provides only the commonest options;
and Full Grep , which has many more (see below).
In the Quick Grep dialog, all you absolutely must fill in is the search pattern and the search path, though there are other (self-explanatory) things too e.g. 'ignore binary files'.
There are convenient shortcuts for the path: $HOME, '/' and (the most useful) the currently-selected directory. These settings are remembered by the dialog, as are recently used patterns and paths.
At the top of the dialog is a button to take you to the Full Grep dialog instead, and a checkbox to tick if you want that to be the default.
Since 4Pane 5.0, Find similarly has 'Quick' and 'Full' alternatives.
The Find and Full Grep dialogs definitely aren't simple; in fact they are too complicated to describe in detail here. Instead I've
made them as self-describing as possible. Both split the numerous available options into several pages, and most options have a detailed tooltip.
For Find you will almost certainly want, as a minimum, to select from the Path and the Name pages;
for Full Grep the File Options , Pattern and Location pages. As you will see, selections made on a page aren't added to the
command until the Add to Command String button is clicked.
Most items that require you to provide a name e.g. the Find path, have a history. The final command also has a history, so you can alter and
repeat one of the previous commands. You can also do this from the Terminal Emulator's history.
The output of these commands are a list of files displayed in the Terminal Emulator, and you'll often want to open one or more of them.
You can, by:
Double-clicking one of them. If it's an executable file, it will be run. Otherwise, if it's a filetype that 4Pane knows how to deal with (e.g. a .txt file) it will be opened, or else the Open With dialog will appear.
If instead, while you double-click, you press the Ctrl key, instead of opening the file you will "Go To" it: the current pane will display its directory, with the file itself selected.
Right-clicking over a file. A context menu will appear that contains those alternatives: Open or Go To.
Next a single item, Launch Terminal (Ctrl-T ). This does just what is says: it opens a new console window, which will use the current selection as its path.
You can configure which console application is opened (konsole, gnome-terminal etc) in Options > Configure 4Pane > Terminals .
The rest of the menu deals with user-defined tools: programs or scripts that you have chosen yourself (from the Options > Configure 4Pane ); more about these here .
Run a Program opens a submenu from which you can select one of these tools. Once you've run one of them, the last command, Repeat Previous Program ,
allows you easily to repeat it.
4pane-5.0/doc/RegExpHelp.htm 0000644 0001750 0001750 00000013172 12120710621 012564 0000000 0000000
Regular Expression Summary
Regular Expression Help
The following match as stated :
.
any single character
$
end of a line
\<
start of a word
\b
either edge of a word
[asd]
a, s or d
[^a-zA-Z]
Anything except a letter (the ^ negates)
^
beginning of a line
\>
end of a word
\B
empty string not at the edge of a word
[a-d 0-9]
abcd0123456789 or space
Repetition Operators :
?
The preceding item will be matched zero or one times
*
The preceding item will be matched zero or more times
+
The preceding item will be matched one or more times
{n}
The preceding item will be matched exactly n times
{n,}
The preceding item will be matched n or more times
{n,m}
The preceding item will be matched from n to m times
Shortcuts :
[:alpha:] [:lower:] [:upper:] [:digit:] [:alnum:] [:punct:] [:blank:]
[:cntrl:] [:graph:] [:print:] [:space:] [:xdigit:]
[:blank:] means space or tab. [:space:] means space tab CR FF NL or VT
[:print:] means [:alnum:], [:punct:] or [:space:]
[:xdigit:] means a hexadecimal digit, i.e. [0-9A-Fa-f]
Note that these shortcuts still need to be in brackets. Yes, really! e.g. [[:punct:]e] matches
punctuation or 'e'
\w is a synonym for [[:alnum:]] \W is a synonym for [^[:alnum]]
( ) do their usual precedence thing. | is the OR operator e.g. d(i|o)g matches dig or dog
For less concise information, including about backreferences, see man grep. If then you are still insufficiently
confused, try man 7 regex.
4pane-5.0/doc/ConfiguringDisplay.htm 0000644 0001750 0001750 00000016524 12513534125 014376 0000000 0000000
Configuring the Display
Configuring the Display
This section is where you can configure 4Pane's appearance.
The 'Trees' sub-page contains things to do with the appearance of the trees on the panes.
First is tree indents. In a dir-view, subdirectories are indented compared to their parent.
If a subdirectory itself has children, there will be an "expand" box within that indent. You can configure both the distance
between the parent level and the expand box, and that between the expand box and the directory's name.
Then come several tick-boxes.
The first sets whether hidden files and directories are displayed by default (individual panes can override this setting).
The second is about the order in which files are sorted: if ticked, this happens in a locale-aware way.
The third is about where in a file-view a symlink-to-a-directory is displayed. Normally it's shown at the top, with the real directories.
Untick this box if you want it below, in with the files.
The fourth determines whether directories and subdirectories are joined by lines in dir-views. If you don't want this, untick the box.
Tick the fifth if you want to set a background colour for dir-views, file-views or both; then choose the colours using the button on the right.
The sixth is about fileviews. Some file managers colour the background of alternate lines, presumably to make it easier to see which size, time etc belong to a file.
I find these stripes unaesthetic, but if you want them, tick this box. You can then select which lurid colours to use by clicking the button on the right.
The seventh is about highlighting the focused pane. If the box is ticked, 4Pane will subtly hint at which of its four panes currently has focus: in a dir-view by changing the brightness at
the top of its toolbar; in a file-view by changing the brightness of its column headers. You can configure the degree of subtlety used from the dialog fired by clicking the 'Configure' button.
Finally one that indirectly affects the display. Before version 2.0, when files and directories were added/deleted/altered by 4Pane itself, the display was updated; but if such changes were made outside 4Pane (e.g. from running a script) nothing changed unless the user happened to 'Refresh the Display'. Now 4Pane gets 'inotify' to inform it of any changes, so the display refreshes in both situations. This is enabled by default; untick the box if you prefer the old behaviour (NB current panes won't be affected until they are refreshed).
The 'Tree font' sub-page lets you can change the font used in the panes. Click the "Change" button to select a different font, which will be displayed
in the adjacent box if valid. There's also a "Use Default" button.
The 'Misc' sub-page starts with a tick-box that specifies whether or not the current filepath is displayed in the toolbar.
This is useful to have, partly to confirm what is currently selected, and as an alternative way of changing it (write in the desired
filepath followed by Enter); but mostly because you can use Ctrl-C to Copy it, then paste into a different application. However if you don't want one, untick here.
The next tick-box lets you configure which icons to use in the toolbars: your theme's 'stock' ones wherever possible
(e.g. for things like Copy and Undo), or the ones that 4Pane supplies.
The last two tick-boxes determine whether or not an "Are you Sure?" dialog pops up when you Delete or Trash a file.
By default Delete does, Trash doesn't; but you can change this behaviour here. Below you can change which directory contains these cans.
Last come four buttons, which bring up the following dialogs:
Configure Editors
The Configure Editors dialog is similar to the device ones. You can Add a new editor, or select an existing one and click Edit or Delete.
If you Add or Edit, another dialog appears, asking for the program's name, and the launch command. For kwrite, both will be "kwrite"; other programs may need the full path to the command.
You might occasionally need to fill in the optional "Working Directory to use" field; most programs don't need this but a few might, especially ones you build yourself
but don't 'make install'.
Some editors e.g. gedit, accept multiple files, each opening in a new tab. Others e.g. kwrite, don't. Set the tick-box accordingly.
You can also "Ignore" the editor, so that it doesn't get an icon.
To the right of the Name box is the "Icon to use" bitmap-button, which shows the current/suggested icon. If you don't like it, clicking it
brings up a dialog where you can select a different one from those available, or browse to add one of your own.
Small toolbar buttons
The second button deals with the configurable "GoTo" buttons that you get in each dir-view's toolbar. By default you get one for
"Home", and another for "Documents" if you have a ~/Documents directory. However you can add more here.
Clicking the "Configure small-toolbar Tools" button brings up a dialog, with the current items listed on the left. To the right are buttons for adding a new item,
and editing or deleting the current selection. Add and Edit produce similar dialogs; you're asked for a filepath to GoTo, and if you wish you can provide a tooltip.
You can also click on the offered icon to change it, either to another of the built-in ones or one of your own.
Previews
Starting from 4Pane 3.0, hovering over an image or text file optionally shows a tooltip preview of its contents. The third button lets you configure what the preview's maximum dimensions should be; you can set different sizes for images and text files. You can also configure how long a delay should occur before it shows; enter a figure in tenths of a second.
Tooltips
The last button deals with tooltips. Clicking it gives a dialog where you can configure the delay before a tooltip appears, and whether they are shown at all.
Note that this doesn't currently work for tooltips from toolbar tools.
4pane-5.0/doc/Move.png 0000644 0001750 0001750 00000000475 12120710621 011465 0000000 0000000 ‰PNG
IHDR * * •S bKGDÿÿÿÿÿÿ X÷Ü òIDATxÚíšAà “þÿÏ驇"¡°kc4sÉ¡²GÆ&)Ç [s]ÿÏxÎlîžayú´ýb‹
ÝÒq»8w=rö÷y>Yjæx[aTæCò§|Ñ
]„ŠA¨„ŠIš?<\ñmªrŒiãì‹
JÈ-2ú]¾Ÿ¹BÝ[ztý¸8LšÕÇ·¦¦¼síUˆª§e}¾ëçe®P÷]•8ä¸ÏŸùë÷Ðü¡ñŽªçgYâ|¾Û„ŠA¨„Š)&T5lø×³áÿô/zžZ÷¢CQ¡?¸ŠcbËb›‘ÿ¦ôLNcöå…îI IEND®B`‚ 4pane-5.0/doc/Using4Pane.htm 0000644 0001750 0001750 00000004003 12513534125 012540 0000000 0000000
Using 4Pane
Using 4Pane
Usage is much as you'd expect for a file manager, but a couple of quick mentions:
4Pane follows the "Click to select, Double-click to launch" paradigm.
You can access context-sensitive help for most elements by pressing F1.
Most dialogs have informative tooltips.
There is detailed information in the following links:
4pane-5.0/doc/DnD.htm 0000644 0001750 0001750 00000016036 12675531612 011250 0000000 0000000
Drag and Drop
Drag and Drop
Between Panes
4Pane uses Drag and Drop (D'n'D) to Move, Paste or Link files or directories. The destination will usually be a directory displayed in a
different pane, but it can be in the same pane (or even sometimes the same directory).
To start dragging, place the mouse on the name of the item to be dragged, press the left mouse button and start moving.
For multiple items, first highlight them, then press the Ctrl key as you begin to drag one of them; release it once the drag has "caught" if you don't need it.
Within the first centimeter of movement you should get a visual feedback to show that dragging has started. You can configure how easily you want
this to happen in Options > Configure 4Pane > Misc ; however too low a trigger distance might result in unintended changes to your filesystem!
The visual feedback will depend on what you're trying to do:
If no metakeys are being pressed, you are Moving and you will see
With the Ctrl key pressed you're Copying , and you will see
With the Ctrl and Shift keys pressed you get a Hardlink , and you will see
With the Alt and Shift keys you're making a Softlink , and you will see
If you change keys in mid-drag, the icon will change appropriately. You can choose different metakey-patterns in Options > Configure 4Pane > Misc .
Apart from this "What am I doing?" feedback, you also need some for "Are we there yet?". This is provided by the cursor: if you can't drop
in the current position, the cursor looks like
Once you're over a suitable target, so you can drop, it changes to
What if you are dragging, and you realise that your target directory isn't actually visible? Well the easy answer is to stop dragging
(in "mid air", so you don't accidentally drop the files in the wrong place), expose the target, and start again. But if you want you can
force a scroll while dragging, in three ways:
If you hover just above/below the destination pane, it will slowly scroll in that direction.
If you hover over the destination pane, you can use the mousewheel to scroll.
A right-click above or below the destination pane's vertical scrollbar's thumb (the bit that moves) will scroll a page at a time. Don't forget to keep the
left button pressed all the time, or the drag will abort.
Once you are over the name of a directory, the cursor will change and dropping is possible. If you are doing a Move or a Paste, it
will just happen. For Linking, a dialog will appear. In this you can:
Choose a name to give the link: either keeping the same name as the link's target (providing you're not making the link in the same directory!); using the same name plus an extension e.g. foo -> foo.lnk; or providing a new name of your choice.
Change your mind as to which sort of link to make.
If you are creating links to more than one file, you can make these choices 'Apply to all' of them. This isn't possible if you are choosing a new name for the links.
Instead of dropping onto a directory in a dir-view, you can drop in a file-view. If you drop onto a file, it will be the file's parent directory
that accepts the drop; if onto a subdirectory in the fileview, it will be that subdirectory.
If you Move or Paste a file by D'n'D, but drop it back into its own directory, this will usually be accidental: either D'n'D triggered unintentionally,
or you released the mouse button too early. If this happens a dialog appears, allowing you to admit to the mistake, but also giving the option
to Duplicate the file instead. However creating a Link in the same directory is perfectly reasonable, you just need to give it a different name.
Starting with 4Pane 4.0 Moving or Pasting a file by D'n'D usually happens in a separate thread. This allows large, time-consuming ones to be cancelled if you wish; see the Edit menu .
Note that cancelling doesn't always work, particularly when pasting from a slow device like a usbpen or over NFS.
D'n'D to elsewhere
You can use D'n'D from a pane in three other situations:
You can drag item(s) onto the Terminal Emulator or the Command-line. The name segment of each filepath will be copied there. If the
Ctrl key is pressed, instead you get ./filename ; with both Ctrl and Shift keys pressed, the whole filepaths are copied. This is useful if you're building a command and want to pass it several filenames as parameters.
Editors . These are applications, usually editors e.g. kwrite, but may be others e.g. Firefox, OpenOffice. Each has an icon in the
toolbar . Dragging a file (or for some applications e.g. gedit, multiple files) onto an editor's icon will
launch that editor, with that file opened. This is useful for opening a text file that doesn't have the .txt extension e.g. a Readme file.
Devices . These are things like dvdrom drives and usbpens. Each has an icon in the toolbar, to the right of the Editors.
Dragging item(s) onto a device's icon will have no effect if it's read-only e.g. a dvdrom, but if it's read-write e.g. a floppy disc or a
usbpen, the device will be mounted if it isn't already, and the file Moved or Copied onto it.
It isn't possible to use D'n'D from 4Pane to other applications, or from outside into 4Pane.
4pane-5.0/doc/Features.htm 0000644 0001750 0001750 00000005650 12352237012 012346 0000000 0000000
Main Features
Main Features
4Pane is a multi-pane, detailed-list file manager, and is designed to be fully-featured without bloat.
All of the standard file manager abilities e.g. Moving are available; and are made easier by the dual twin-pane format , since you can display the source
and destination directories at the same time, however far apart they may be in your filesystem.
Navigation around the filesystem is made easier by the provision of Bookmarks , user-defined GoTo buttons, and a history of "Recently-visited directories".
Almost everything that you do with 4Pane, even deletion, can be undone and redone.
Tar (compressed and uncompressed) and zip archives can be created and extracted in the normal way. Alternatively, most archive types can be
browsed , their contents altered, individual files read or launched; all without opening the archive.
If your distro doesn't automatically mount dvdroms, usbpens etc, 4Pane can do it for you .
Any mounted device is easily accessed via its toolbar icon.
4Pane does Multiple Renaming or duplication of files, either by prepending/appending, incrementing or using Regular Expressions.
You can extend 4Pane by creating your own User-Defined Tools .
Apart from the twin-pane, detailed list nature of 4Pane, almost everything else is configurable. You're used to different shortcuts? Change to them.
You want to use a different console? You can. Look here for details.
See the FAQ for reasons why certain "features" aren't part of 4Pane:
why it's not a web-browser/ftp client/cd burner, and why there's no mimetype-detection.
4pane-5.0/doc/UnRedo.htm 0000644 0001750 0001750 00000011665 12120710621 011762 0000000 0000000
Undo/Redo
Undoing and Redoing an Alteration
You can access this from the Edit menu (or the Context menu) or use the shortcuts Ctrl-Z and Ctrl-R respectively; but the most convenient way is to use the pair of curved arrows on the main toolbar (which will be disabled unless there are alterations available).
In what follows I'll mostly refer to Undoing things, but Redoing is exactly the same.
There are two ways to use these buttons:
Click the main part of the button. The next available alteration will be undone. More clicks, more undos. This is also what you get from a menu or a shortcut.
Use the "dropdown" arrow to the right of the main button. A menu-like window will appear, that lists the available items to undo. Select one and all items up to and including it will be Undone.
If there are too many to show on one page (15 by default but you can change this in Options > Configure 4Pane > Misc ) there will be a 'More' entry at the bottom to show the next page.
Each item will give you some idea what you'll be Undoing e.g. Undo Delete or Undo Rename (17 items) .
As you just read, actions are clustered: if you rename 17 items, you get to Undo and Redo these all at once; if you delete a directory containing hundreds of files, it appears as just one deletion.
This is normally what you'd want (you really wouldn't want to have to undo hundreds of deletions one by one) but it does mean that if you decide you only wanted to rename 16 of these files, you have to Undo them all, select the correct files and rename again.
You should be able to go up and down the list, Undoing and Redoing the items, as often as you wish. However there are four situations where Redoing will no longer be possible:
If you reach the maximum number of allowed Undos. After this, when you add an extra Undo, the oldest one on the list is silently discarded.
By default that maximum number is 10000, which should be enough for most people. However it isn't quite as good as it seems: Deleting 17 selected files uses up 17 Undo items (as data for each has to be stored). However deleting a directory with all its contents counts only as one.
You can change the maximum number of Undos in Options > Configure 4Pane > Misc , but the change won't take effect until 4Pane is restarted.
If you Undo several alterations, and then do something else, you can't then Redo those several alterations. This is intentional: there would be no guarantee that those Redos were still possible and safe.
For similar reasons, if you empty the 'Deleted Can' (Options > Permanently delete 'Deleted' files ) all Undo/Redos are lost. A warning message is shown first.
If something is done outside 4Pane. Suppose you rename a file, and then a different application deletes it. You clearly cannot then Undo the rename.
Not only that, but if this happens 4Pane decides it can't trust any upstream Redo, and discards them.
The moral: You can't absolutely rely on the Undo/Redo system. It will work 99.9% of the time, but if you contemplate doing something that will hazard important files, I strongly suggest backing them up first .
(Perhaps this would be a good time to re-read the licence and disclaimer .)
Most things that you do to your filesystem with 4Pane can be Undone and Redone. However there are some that can't. The main exceptions are:
Extracting an archive (Archive > Extract Archive or Compressed Files )
Anything that you do in the Terminal Emulator or Command-line, or with User-defined tools.
Permanently Delete , which intentionally bypasses the Undo/Redo system, thus trading safety for speed.
4pane-5.0/doc/Editors.htm 0000644 0001750 0001750 00000004046 12352237012 012177 0000000 0000000
Editors
Editors
If you look at your toolbar , to the right of the central filepath box you should see one or more icons. Each of these is an Editor that 4Pane has detected on your system.
If you click one of these icons, 4Pane launches its Editor. More usefully, if you drag one or more files onto the icon, the Editor is launched
with those files open in it. Some Editors (e.g. kwrite) can open only one file at a time; others (gedit) several.
An Editor can be any application. Though most will be actual editors like kwrite or gedit, good examples of non-editor Editors
are LibreOffice and Firefox (both of which 4Pane will automatically add if it detects them). These are applications that will accept files, but
there's nothing to stop you creating an icon for an application that doesn't.
You can add a new Editor, or delete one, from Options > Configure 4Pane , in the Display > Misc section.
4pane-5.0/doc/Chapt.hhp 0000644 0001750 0001750 00000001670 12513534125 011620 0000000 0000000 [OPTIONS]
Compatibility=1.1
Full-text search=Yes
Contents file=Chapt.hhc
Compiled file=Chapt.chm
Default Window=Contents.htm
Default topic=Contents.htm
Index file=Chapt.hhk
Title=4Pane Help
[WINDOWS]
ChaptHelp=,"Chapt.hhc","Chapt.hhk","Contents.htm",,,,,,0x2420,,0x380e,,,,,0,,,
[FILES]
ArchiveBrowse.htm
Archive.htm
Bookmarks.htm
Contents.htm
Configure.htm
ConfigureUserDefTools.htm
ConfiguringDevices.htm
ConfiguringDisplay.htm
ConfiguringMisc.htm
ConfiguringNetworks.htm
ConfiguringShortcuts.htm
ConfiguringTerminals.htm
ContextMenu.htm
Devices.htm
Display.htm
DnD.htm
Edit.htm
Editors.htm
Export.htm
FAQ.htm
Features.htm
FileviewCols.htm
Filter.htm
Introduction.htm
KeyboardNavigation.htm
Licence.htm
Menu.htm
Mount.htm
MultipleRenDup.htm
Open.htm
OpenWith.htm
Options.htm
Previews.htm
Properties.htm
Quickstart.htm
RAQ.htm
RegExpHelp.htm
Running.htm
Statusbar.htm
Tabs.htm
TerminalEm.htm
Toolbar.htm
Tools.htm
UnRedo.htm
Using4Pane.htm
View.htm
4pane-5.0/doc/Tabs.htm 0000644 0001750 0001750 00000005540 12513534125 011463 0000000 0000000
The Tabs menu
The Tabs menu
It's one of the features of 4Pane that you're not restricted to just those four panes; you can have up to 26 different four-pane pages, or Tabs.
Each of these can have its own individual orientation, pane sizes and contents. When created, they are named "Page 1", "Page 2" etc, but you can rename each tab as you wish.
Wouldn't it be nice if, having created a set of Tabs that suits you, you could save the combination and reload it another time. Well, you can.
A set is called a Tab Template, and you can have up to 26 of them, each with up to 26 pages. So you can have a template that contains the folders where your pictures are stored; another for your music...
Back to the menu. The first five items are almost self-explanatory. New creates a new Tab, Delete deletes the currently-selected one. These actions are also available from the toolbar.
Insert inserts a new tab immediately after the currently-selected one. Rename renames the current tab, and Duplicate duplicates it.
The next two items configure the page's appearance. Show even single Tab Head means that, even if the current page is the only one, show its tab bit anyway. This is off by default. Give all Tab Heads equal Width does what it says, even if some names are much longer than others (NB this isn't available when using gtk3).
Finally, three items that deal with Tab Templates. Load a Tab Template opens a submenu that holds any templates that you've stored. Save Layout as Template saves the current Tab setup as a template. Delete a Template opens a dialog that allows you to delete one or more of your templates.
Most of these menu-items also feature on the Tab Context menu , that you can open by right-clicking on a Tab head.
4pane-5.0/doc/About.htm 0000644 0001750 0001750 00000000677 13130150240 011636 0000000 0000000
About
4Pane
4Pane Version 5.0
Copyright 2017 David Hart
david@4pane.co.uk
www.4pane.co.uk
4pane-5.0/doc/ConfiguringNetworks.htm 0000644 0001750 0001750 00000004077 12120710621 014574 0000000 0000000
Configuring Networks
Configuring Networks
This is where you might rarely need to configure how 4Pane interacts with NFS or Samba. Note that NFS and/or Samba must be already installed,
configured and running on your computer: 4Pane doesn't do this itself.
The first section of the dialog deals with NFS. The known current or previously available servers are listed; if for some reason you wish to
delete one of these, select it and click the Delete button. Underneath is a box for adding a new server. Below this is the filepath for the
helper application "showmount". This will normally already be correctly entered, but if your system puts it in a strange place, enter it here.
The Samba section only has one item: the directory where Samba binaries such as smbclient are to be found. This will normally be /usr/bin; if it
isn't, enter the correct path here.
How to mount a network partition is discussed in The Mount menu .
4pane-5.0/doc/Mount.htm 0000644 0001750 0001750 00000015620 13130150240 011660 0000000 0000000
The Mount menu
The Mount menu
This is where you can Mount and Unmount other partitions, ISO images and network mounts. Devices, such as dvdroms and usb pens, are managed from their toolbar icons: see here .
Note that this applies when using Linux. See the bottom of the page for GNU-Hurd differences.
Linux distros vary in how they deal with other partitions. Older distros ignore them, and most current ones still do so. However some now will detect and automatically mount all the partitions on your disc.
If your partitions are not automatically mounted, you can do it yourself using the Mount a Partition menu item.
Selecting this will bring up a dialog that lists any unmounted partitions in /etc/fstab, together with their mount-points; that is, ones that an ordinary user can (probably) mount.
If the partition that you're interested in is there, select it and click OK. The partition will be mounted, and should be displayed in the active pane.
If the partition wasn't listed, click the Mount a non-fstab partition button. A different dialog will appear, listing all the other available partitions.
This time you have to enter your own choice of mount-point: if this doesn't exist, 4Pane will offer to create it.
Alternatively, you can use the Browse button which will open a Select a Directory dialog, starting at the contents of /mnt/.
Underneath the mountpoint is an Options section; there are several of these available, which you'll probably never want to use.
For non-fstab partitions you will then be asked for a password. In most distros this will be the root, superuser, password; in sudo-using ones like *buntu it will be your own password.
To Unmount a partition, use the next item, Unmount a Partition . A dialog will appear that lists the currently-mounted partitions and their mount-points. Select the one you want. Again you might have to provide a password.
Next comes Mount an ISO image . An ISO image is the image, on your hard-disc, of a dvdrom. A common example is downloading a different Linux distro; this goes first to your hard-disc, then you burn the image onto a usbcard or dvdrom.
However it's sometimes useful to "look inside" the image, perhaps to extract a file from it.
Select the image in the current pane, then choose this menu-item. In the dialog, choose where to mount the image.
After you provide your password, the image will be mounted, read-only, as though it were a dvdrom. When you've finished with it, use Unmount a Partition to unmount it.
The rest of this menu deals with network mounts: NFS, sshfs and samba. Be aware that 4Pane doesn't set up NFS, ssh or samba for you.
Getting the appropriate daemons and utilities running, poking holes in your firewall etc; you have to have done such things yourself, perhaps with your distro's help.
Then 4Pane will help you mount/unmount exports, shares etc over the network.
First in this section is Mount an NFS export . At the top of resulting dialog you should see a list of known NFS servers, and the exports associated with the selected one.
If the export is currently mounted, this will be stated alongside. 4Pane reads /etc/fstab to try to find servers, and remembers previous ones, but you can add missing ones by clicking the "Add" button.
Below this is a place for the mount-point for your selected export. If the export is in /etc/fstab this will automatically have been filled, otherwise you need to enter one yourself.
Lastly you need to choose how the export should be mounted: a Hard Mount is fine while it works, but if something goes wrong your computer may hang. A Soft Mount won't do this (or not for long), but might lose data.
After entering your password (if the export isn't in fstab) the current pane will display the mounted export, which can be manipulated just as though it were on your computer.
Next is Mount over Ssh using sshfs . Sshfs lets you mount a directory located on a remote server. For this to work you need to have fuse and sshfs installed (if they aren't, this item will be missing from the menu); you also need ssh access to the server.
In the dialog you must fill at least the Host name and Local mount-point fields. You can also choose the remote username and 'base' directory; otherwise your local username and its 'home' directory will be used. Add any options you wish; make sure they are valid, though, as 4Pane doesn't check them, and mistakes will cause the mount to fail. Note that there is no password field. If you haven't set up password-less logins to that server, you should install ssh-askpass to provide the password.
If the mount succeeds, after a short delay the active pane will change to display the mount. If it fails, a statusbar message will eventually appear.
The Mount a Samba share item produces a similar dialog. Select a server and one of its shares, then enter a mount-point.
Below you choose whether to try to mount anonymously, or supply a username and password; and whether to mount read-only.
NFS, sshfs and samba mounts are unmounted using the last menu-item, Unmount a Network mount .
GNU-Hurd
Most 4Pane features work just the same on GNU-Hurd as on Linux. However hurd does mounting very differently. Currently 4Pane can mount partitions, ISO images and NFS exports, but not Sshfs (which doesn't exist), Devices or Samba shares. Mounts can be 'active' or both 'active' and 'passive' (hurd seems to have troubles at present with pure 'passive' mounts, so these are not currently supported).
Unmounting all of these happens in the same way: there's no separate section for network unmounts.
4pane-5.0/doc/ConfigureUserDefTools.htm 0000644 0001750 0001750 00000017470 12352237012 015013 0000000 0000000
User-defined Tools
User-defined Tools
One of the good things about using a gui file manager is being able to select several files, then do something to them e.g. rename or delete them.
But rename etc has to be built into the file manager. Wouldn't it be nice if it were possible to extend this idea to process selected files
using commands of your own. Well, with 4Pane you can do exactly this. A user-defined tool can call any available commands or scripts, to which you can pass selected items as parameters.
Though you can run programs that don't need parameters, such as 'df -h', you'll usually want to use them. This is how:
%s is replaced by a s ingle selected file or directory.
%f is replaced by a single selected f ile only; directories are ignored.
%d is replaced by a single selected d irectory only; files are ignored.
%a is replaced by a ll the items selected in the active pane.
%b is replaced by a single selected item from b oth of the file-views.
%p will ask the user each time the command is run for a p arameter to pass to the application.
%% is replaced by %, in case you need to use one in a script.
Sometimes you'll want finer control over which pane the items come from. For the 's', 'f', 'd' and 'a' parameters this can be done using the following modifiers (these examples use %s, but
the other parameters could be substituted):
%1s An item from the left (or top if the split is horizontal) dir-view.
%2s An item from the left (or top) file-view.
%3s An item from the right (or bottom) dir-view.
%4s An item from the right (or bottom) file-view.
%As An item from the currently A ctive pane.
%Is An item from the I nactive pane (the equivalent pane on the opposite side).
Note that some combinations aren't sensible (e.g. %3f: you can't select a file in a dir-view); and multiple modifiers aren't permitted (e.g. %A3d).
These parameters can be combined or repeated as appropriate e.g. ~/myscript %p %a %p will prompt the user for two string parameters, then pass these and all the currently selected items to myscript.
diff -u %2f %4f will diff two selected files, one from each file-view ("diff -u %b" or "diff -u %Af %If" would do the same if a file-view is active).
rsync -avu %3d/ %1d will update the contents of the selected directory in the left dir-view to match those of the right dir-view selection (the extra '/' is needed by rsync).
Starting with 4Pane-1.0 you can run a tool with superuser privileges without opening a terminal: tick the box when you Add the tool. However this ability is limited: the command should be one that quickly returns, e.g. fdisk %p , not one that will linger like kwrite %f ; and as there's no terminal there is nowhere to display output, so there's no sense in doing something like fdisk -l . Instead try using an outside front-end such as kdesu or gksu e.g. kdesu kwrite %f ; or in a terminal by prefixing 'su -c ' or 'sudo '.
The available user-defined commands can be run from the Tools > Run a Program menu or from the context menu. Alternatively you can give a tool a keyboard shortcut: see Configuring Shortcuts .
Add a new tool
4Pane comes with a "starter-pack" of these tools, but the idea is to add your own. You can do this in the Tools section of Options > Configure 4Pane .
In the first box of the Add a tool sub-page, type in the full command e.g. myscript %f %p .
If the command needs to run in a terminal e.g. df -h, tick the "Run in Terminal" tickbox below. Some terminal commands (again df -h is a good example) display their output in the terminal, then immediately close before you can read the results.
To prevent this, tick the "Keep terminal open" box.
The next two tick-boxes are 'Refresh pane after' and 'Refresh opposite pane too'. They are for commands that don't run in a terminal, and tell 4Pane to update either the current pane,
or both of them, once the command has finished running.
You'd want this for a command that affects the files in one of the visible panes. For example, this mini-script uses imageMagick to resize all the selected files to quarter-size:
for image in %a; do path=`dirname ${image}` && filename=`basename ${image}` && name=`echo ${filename} | cut -d\'.\' -f1` && ext=`echo ${filename} | cut -d\'.\' -f2` && convert ${image} -resize 25%% ${path}/${name}-25%%.${ext}; done
You'd like to be able to see that the size of the files has changed when the command has finished running, so tell 4Pane to update the current pane by ticking the
'Refresh pane after' box.
The last tickbox is for when you want to run a program as root, and don't need to be shown any detailed output; for example, editing a root-owned file in a text editor.
If you do need to view output you need to run in a terminal instead.
In the second box type the label: the words that you want to be seen in the Tools menu; if you leave this blank, the command itself will be used.
Lastly you need to choose to which menu or submenu the command should be added. The default is Run a Program , but you can also select any available submenus.
You can create a new submenu, or delete the currently selected one, using the buttons on the right.
Edit an existing tool
The next sub-page lets you edit existing tools. Select from the dropdown box the label of the tool to be edited;
the command and "in terminal" etc status will be shown below. When you have the correct tool selected. click the "Edit this Command" button.
You will then be able to alter any of the entries. When you've finished click the button again (it will have changed its label to "Click when finished").
Delete an existing tool
The last sub-page handles deletion. Select the tool to delete from the dropdown box, then click the "Delete this command" button.
An "Are you sure" dialog will appear, to allow you to change your mind.
Once the data has changed, the Apply and Cancel buttons become enabled. When you've finished all your alterations,
click "Apply" (or Cancel if you've changed your mind). Until you do this, the results are not saved .
If you've finished configuring, click "Finished" to close the Configure dialog.
4pane-5.0/doc/ConfiguringShortcuts.htm 0000644 0001750 0001750 00000010236 13130150240 014745 0000000 0000000
Configuring Shortcuts
Configuring Shortcuts
4Pane uses the standard key-bindings for things like Copy and Paste, and provides default bindings for most others.
However all shortcuts can be changed to those of your choice, either from the Shortcuts page of the Configuration dialog
(Options > Configure 4Pane ) or by pressing Ctrl-S .
You will see a list of all the possible commands. Double-click on the one to be changed (or
select it and press Enter), and a dialog will appear which will let you:
Change the Key-Binding by pressing the desired keys.
So to change Copy from the default Ctrl-C to Ctrl-Comma, press both the
Ctrl key and the ',' key. In theory it's possible to choose almost any key
combination, however foolish. Each key can be used alone (e.g. F1 for
Help) or in combination with any or all of the Ctrl, Shift and Alt
keys. However some combinations won't work as they will have been
pre-empted by your window-manager (e.g. Ctrl-Alt-Delete).
If you change your mind in the future, you can cancel a
user-defined key-binding by:
Entering a different key combination.
Clicking the Default button to return to the default (if there was one).
Clicking the Clear button to remove any binding for this command.
Change the Label . If the command in question can be
accessed from a menu, you might wish to change the label that appears
there. If so, your first step should be to lie down until the feeling
goes away. If it doesn't, you can replace the label with
one of your choice by clicking the Change Label button
and following the instructions.
Change the Help String . Again this applies only to commands that have menu entries. As you
won't have noticed, some of these entries, when highlit by the cursor
hovering over them, produce a helpfully descriptive message on the left
of the status bar. If you wish to amend or remove such a message or add
your own, click the Change Help String button
and follow the instructions.
There is also a tick-box at the top of the dialog, that controls whether mnemonics are displayed in the shortcut labels e.g. C&ut instead of Cut . (Even if it's hidden in the main list, you can still see and change the mnemonic if you edit the label.)
If you're using gtk2 the Configure Shortcuts page of the Configuration dialog has an extra tick-box at the top.
This turns on and off gtk2's hijack of the F10 key, which it uses to open the File menu. I prefer to use F10 as the Create a new file or directory shortcut,
but if you want it to open a menu, this is where you can tell it to. You'll have to restart 4Pane for it to take effect, and you'll need a different "Create File" shortcut.
4pane-5.0/doc/Bookmarks.htm 0000644 0001750 0001750 00000005600 12120710621 012506 0000000 0000000
The Bookmarks menu
The Bookmarks menu
A bookmark is, as you will have guessed, a way to save a filepath. You can have up to 9000 of them, which you can arrange in folders (and if you have anything like 9000 of them you'll need to).
Choosing a bookmark from the menu will bring up its filepath in the current pane.
The only permanent menu-items are Add to Bookmarks and Manage Bookmarks . The bookmarks themselves appear below, with each folder shown in a submenu.
To bookmark the currently-highlit file or directory, click Add to Bookmarks . A dialog will appear, which confirms the filepath and allows you to choose a label.
The default label will be the filepath itself, but you may want something shorter e.g. "2007 Holiday Pictures" instead of "/home/yourname/Documents/Pictures/2007 holiday/".
By default a bookmark is created in the main Bookmarks part of the menu, but you can select a different folder by clicking the Change Folder button.
Manage Bookmarks invokes the Manage Bookmarks dialog, which contains a tree of the current bookmarks and folders. Clicking the appropriate button allows you to add a new folder or separator below the currently-selected bookmark, or inside the currently-selected folder.
You can also Edit or Delete the current selection. Alternatively you can manipulate entries using the standard Delete, Cut, Copy and Paste shortcuts, or move them by drag and drop (or hold down the Ctrl key to Duplicate).
The Duplicate and New Folder shortcuts also work, and right-clicking over an item shows the available commands on a Context Menu.
As I mentioned, if you create a new folder or separator while a folder is selected, the new item will be created inside the folder. So how do you put e.g. a separator below a folder? Create it elsewhere, then drag it to the correct position.
4pane-5.0/doc/Previews.htm 0000644 0001750 0001750 00000003721 13130150240 012361 0000000 0000000
Previews
Previews
From version 3.0 it's possible to peek at the contents of image and text files. First, turn on Previews from the View menu , by clicking on the toolbar tool or using the keyboard shortcut (Ctrl-P by default). Now if you hover over an image file in a fileview, after a configurable time its contents will appear. Small images will be full-size, but larger ones will be scaled down; the maximum sizes are also configurable . The preview will close when the mouse moves over a different item, or leaves the fileview.
The context of text files can also be viewed in this way. This is often less useful as only the first few lines will be visible, but it may be enough to identify the file that you were searching for.
4pane-5.0/doc/Edit.htm 0000644 0001750 0001750 00000013173 13130150240 011444 0000000 0000000
The Edit menu
The Edit menu
The first three items in this menu are Cut, Copy and Paste , and as you'd expect they have the standard shortcuts:
Ctrl-X, Ctrl-C and Ctrl-V (by default: all the shortcuts mentioned in this Help assume that you haven't altered them ).
If you Cut a file or directory, it will be immediately removed from the display and 'deleted' (see below for what that doesn't mean). If you change your mind, you can use Undo to retrieve it.
(Copying and) Pasting a symlink behaves as you would wish: the new symlink has the same target as did the original.
This normally applies to relative symlinks too; to alter this behaviour see here .
The fourth item is Paste as Directory Template . Occasionally you may wish to replicate a directory and all its subdirectories,
but without their contained files. To do so, Copy the directory, select the destination dir, then use this menu-item.
The last item in this section is Cancel Paste . Since 4Pane 4.0 pasting usually happens in a separate thread, which allows large, time-consuming ones to be cancelled if you wish. Note
that this doesn't always work, particularly when pasting from a slow device like a usbpen or over NFS.
Talking of time-consuming pastes, since 4Pane 5.0 a paste's progress is displayed in the statusbar.
Creating a file or directory is straightforward. The only thing worth mentioning is that, if a file-view pane has focus,
the dialog gives you the choice of making a file or a directory; if a dir-view, you can only make a directory.
Next comes Linking. You can choose to make a Symbolic Link (Symlink) with Alt-Sh-L or a Hard link with Ctrl-Sh-L
(note that the same metakeys are used to make the corresponding link in Drag'n'Drop ). As with Pasting, you need first to have Copied the item(s) to be linked, then clicked on the directory in which you want the link(s) to be created.
When you call Link, a dialog appears in which you can:
Choose a name to give the link: either keeping the same name as the link's target (providing you're not making the link in the same directory!); using the same name plus an extension e.g. foo -> foo.lnk; or providing a new name of your choice.
Change your mind as to which sort of link to make.
If a symlink, choose whether this should be absolute or relative e.g. /home/me/foo or ../foo
If you are creating links to more than one file, you can make these choices 'Apply to all' of them. This isn't possible if you are choosing a new name for the links.
The next two items are Trash (Del ) and Delete (Sh-Del ). These have similar meanings to normal, but different mechanisms. Neither actually deletes anything; instead files are moved to a newly-created temporary directory.
This means that you can Undo a Delete! The difference between Delete and Trash is that the Delete temporary dirs are (really) deleted when 4Pane exits. The Trash ones are never lost, unless you use Options > Empty the Trash-can .
There are three consequences of this. The first two are bad: Deleting a directory containing thousands of files and subdirectories will take a long time (on a slow computer a very long time); and Deleting a very large file e.g. a 4GB iso image, will take forever if it's on a different partition.
The good news is that, were your computer to crash before you have a chance to Undo an accidental Delete, the file will still be available, probably in a dir called ~/Desktop/.Trash/DeletedBy4Pane/05-07-13__13-53-14/ where '05-07-13__13-53-14' is the timestamp of the Deletion.
Third in this section (new since 4Pane-0.8.0) is Permanently Delete . This does what it sounds like: deletes without saving the files. So it would be a good choice for getting rid of large items you are entirely sure you
no longer want; but beware, you can't undo this!
Then come Rename (F2 ) and Duplicate (Ctrl-D ). Both of these are simple and obvious when applied to only one file or dir. However you can also do multiple rename/duplicate .
Undo (Ctrl-Z ) and Redo (Ctrl-R ) are next. They are discussed here .
Finally you can view information about the current selection, and change its permissions etc, in Properties .
4pane-5.0/doc/up.gif 0000644 0001750 0001750 00000000321 12120710621 011152 0000000 0000000 GIF89a ò wÄ€€€ÀäËÿÿÿ !ù , –HDD„DDDHDD„DDDHDD„DDDHD„DDDHDD€BDHDD„D03BD„DD81€BDDH31 HDD€ 0 „DDD‚""DHDƒ @D„D0€BDDBHDƒ D„D €BDDHDD„DDDHDD„DDDHD” ; 4pane-5.0/doc/DnDStdCursor.png 0000644 0001750 0001750 00000000313 12120710621 013064 0000000 0000000 ‰PNG
IHDR Oc#" bKGDÿÿÿÿÿÿ X÷Ü €IDATxÚ½•KÀ Dg¸ÿíªÑjDäS–&oD