mirror of https://github.com/BOINC/boinc.git
- GUI RPC: in the structures used in the C++ interface to GUI RPC,
change various std::string to char[n], to improve performance. NOTE: std::string should ONLY be used in cases where there is no a priori limit on string length. If there's a limit (e.g. because the string originates in a fixed-size database field) always use char[n]. svn path=/trunk/boinc/; revision=20877
This commit is contained in:
parent
b9fed7ee8c
commit
86582342a8
|
@ -1884,3 +1884,32 @@ Rom 12 Mar 2010
|
|||
properly.
|
||||
|
||||
<Various Files>
|
||||
|
||||
David 12 Mar 2010
|
||||
- GUI RPC: in the structures used in the C++ interface to GUI RPC,
|
||||
change various std::string to char[n], to improve performance.
|
||||
|
||||
NOTE: std::string should ONLY be used in cases where there is
|
||||
no a priori limit on string length.
|
||||
If there's a limit (e.g. because the string originates in
|
||||
a fixed-size database field) always use char[n].
|
||||
|
||||
clientgui/
|
||||
sg_StatImageLoader.cpp
|
||||
BOINCBaseView.cpp
|
||||
sg_StatImageLoader.h
|
||||
sg_ViewTabPage.h
|
||||
sg_ProjectsComponent.cpp
|
||||
sg_ViewTabPage.cpp
|
||||
MainDocument.h
|
||||
MainDocument.cpp
|
||||
ViewStatistics.cpp
|
||||
DlgItemProperties.cpp
|
||||
ViewWork.cpp
|
||||
ViewProjects.cpp
|
||||
lib/
|
||||
gui_rpc_client_print.cpp
|
||||
gui_rpc_client_ops.cpp
|
||||
gui_rpc_client.h
|
||||
client/
|
||||
boinc_cmd.cpp
|
||||
|
|
|
@ -241,9 +241,9 @@ int main(int argc, char** argv) {
|
|||
} else if (!strcmp(cmd, "--task")) {
|
||||
RESULT result;
|
||||
char* project_url = next_arg(argc, argv, i);
|
||||
result.project_url = project_url;
|
||||
strcpy(result.project_url, project_url);
|
||||
char* name = next_arg(argc, argv, i);
|
||||
result.name = name;
|
||||
strcpy(result.name, name);
|
||||
char* op = next_arg(argc, argv, i);
|
||||
if (!strcmp(op, "suspend")) {
|
||||
retval = rpc.result_op(result, "suspend");
|
||||
|
@ -264,7 +264,7 @@ int main(int argc, char** argv) {
|
|||
}
|
||||
} else if (!strcmp(cmd, "--project")) {
|
||||
PROJECT project;
|
||||
project.master_url = next_arg(argc, argv, i);
|
||||
strcpy(project.master_url, next_arg(argc, argv, i));
|
||||
canonicalize_master_url(project.master_url);
|
||||
char* op = next_arg(argc, argv, i);
|
||||
if (!strcmp(op, "reset")) {
|
||||
|
@ -529,7 +529,7 @@ int main(int argc, char** argv) {
|
|||
vector<PROJECT>projects;
|
||||
while (i < argc) {
|
||||
PROJECT proj;
|
||||
proj.master_url = string(next_arg(argc, argv, i));
|
||||
strcpy(proj.master_url, next_arg(argc, argv, i));
|
||||
int std = atoi(next_arg(argc, argv, i));
|
||||
proj.cpu_short_term_debt = std;
|
||||
proj.cuda_short_term_debt = std;
|
||||
|
|
|
@ -777,7 +777,7 @@ void CBOINCBaseView::UpdateWebsiteSelection(long lControlGroup, PROJECT* project
|
|||
pItem = new CTaskItem(
|
||||
wxString(project->project_name.c_str(), wxConvUTF8),
|
||||
wxT(""),
|
||||
wxString(project->master_url.c_str(), wxConvUTF8),
|
||||
wxString(project->master_url, wxConvUTF8),
|
||||
ID_TASK_PROJECT_WEB_PROJDEF_MIN
|
||||
);
|
||||
pGroup->m_Tasks.push_back(pItem);
|
||||
|
|
|
@ -184,7 +184,7 @@ void CDlgItemProperties::renderInfos(PROJECT* project_in) {
|
|||
std::string tname;
|
||||
tp->get_name(tname);
|
||||
wxString t1(wxString(tname.c_str(),wxConvUTF8));
|
||||
if(t1.IsSameAs(wxString(projectname.c_str(),wxConvUTF8)) || t1.IsSameAs(wxString(project->master_url.c_str(),wxConvUTF8))) {
|
||||
if(t1.IsSameAs(wxString(projectname.c_str(),wxConvUTF8)) || t1.IsSameAs(wxString(project->master_url, wxConvUTF8))) {
|
||||
diskusage =tp->disk_usage;
|
||||
break;
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ void CDlgItemProperties::renderInfos(PROJECT* project_in) {
|
|||
SetTitle(wxTitle);
|
||||
//layout controls
|
||||
addSection(_("General"));
|
||||
addProperty(_("Master URL"),wxString(project->master_url.c_str(),wxConvUTF8));
|
||||
addProperty(_("Master URL"),wxString(project->master_url, wxConvUTF8));
|
||||
addProperty(_("User name"),wxString(project->user_name.c_str(),wxConvUTF8));
|
||||
addProperty(_("Team name"),wxString(project->team_name.c_str(),wxConvUTF8));
|
||||
addProperty(_("Resource share"),wxString::Format(wxT("%0.0f"),project->resource_share));
|
||||
|
@ -268,11 +268,11 @@ void CDlgItemProperties::renderInfos(PROJECT* project_in) {
|
|||
void CDlgItemProperties::renderInfos(RESULT* result) {
|
||||
wxDateTime dt;
|
||||
wxString wxTitle = _("Properties of task ");
|
||||
wxTitle.append(wxString(result->name.c_str(),wxConvUTF8));
|
||||
wxTitle.append(wxString(result->name, wxConvUTF8));
|
||||
SetTitle(wxTitle);
|
||||
|
||||
addProperty(_("Application"), FormatApplicationName(result));
|
||||
addProperty(_("Workunit name"),wxString(result->wu_name.c_str(),wxConvUTF8));
|
||||
addProperty(_("Workunit name"),wxString(result->wu_name, wxConvUTF8));
|
||||
addProperty(_("State"), FormatStatus(result));
|
||||
if (result->received_time) {
|
||||
dt.Set((time_t)result->received_time);
|
||||
|
@ -280,8 +280,8 @@ void CDlgItemProperties::renderInfos(RESULT* result) {
|
|||
}
|
||||
dt.Set((time_t)result->report_deadline);
|
||||
addProperty(_("Report deadline"), dt.Format());
|
||||
if (result->resources.size()) {
|
||||
addProperty(_("Resources"), wxString(result->resources.c_str(), wxConvUTF8));
|
||||
if (strlen(result->resources)) {
|
||||
addProperty(_("Resources"), wxString(result->resources, wxConvUTF8));
|
||||
}
|
||||
if (result->active_task) {
|
||||
addProperty(_("CPU time at last checkpoint"), FormatTime(result->checkpoint_cpu_time));
|
||||
|
|
|
@ -1271,7 +1271,7 @@ PROJECT* CMainDocument::project(const wxString& projectname) {
|
|||
PROJECT* tp = state.projects[i];
|
||||
wxString t1(tp->project_name.c_str(), wxConvUTF8);
|
||||
if(t1.IsSameAs(projectname)) return tp;
|
||||
wxString t2(tp->master_url.c_str(), wxConvUTF8);
|
||||
wxString t2(tp->master_url, wxConvUTF8);
|
||||
if(t2.IsSameAs(projectname)) return tp;
|
||||
}
|
||||
return NULL;
|
||||
|
@ -1521,9 +1521,9 @@ RESULT* CMainDocument::result(const wxString& name, const wxString& project_url)
|
|||
//iterating over the vector and find the right result
|
||||
for(unsigned int i=0; i< results.results.size();i++) {
|
||||
RESULT* tResult = results.results.at(i);
|
||||
wxString resname(tResult->name.c_str(),wxConvUTF8);
|
||||
wxString resname(tResult->name, wxConvUTF8);
|
||||
if(resname.IsSameAs(name)){
|
||||
wxString resurl(tResult->project_url.c_str(),wxConvUTF8);
|
||||
wxString resurl(tResult->project_url, wxConvUTF8);
|
||||
if(resurl.IsSameAs(project_url)){
|
||||
pResult = tResult;
|
||||
break;
|
||||
|
@ -1552,10 +1552,10 @@ int CMainDocument::GetWorkCount() {
|
|||
}
|
||||
|
||||
|
||||
int CMainDocument::WorkSuspend(std::string& strProjectURL, std::string& strName) {
|
||||
int CMainDocument::WorkSuspend(char* url, char* name) {
|
||||
int iRetVal = 0;
|
||||
|
||||
RESULT* pStateResult = state.lookup_result(strProjectURL, strName);
|
||||
RESULT* pStateResult = state.lookup_result(url, name);
|
||||
if (pStateResult) {
|
||||
iRetVal = rpc.result_op((*pStateResult), "suspend");
|
||||
} else {
|
||||
|
@ -1566,10 +1566,10 @@ int CMainDocument::WorkSuspend(std::string& strProjectURL, std::string& strName)
|
|||
}
|
||||
|
||||
|
||||
int CMainDocument::WorkResume(std::string& strProjectURL, std::string& strName) {
|
||||
int CMainDocument::WorkResume(char* url, char* name) {
|
||||
int iRetVal = 0;
|
||||
|
||||
RESULT* pStateResult = state.lookup_result(strProjectURL, strName);
|
||||
RESULT* pStateResult = state.lookup_result(url, name);
|
||||
if (pStateResult) {
|
||||
iRetVal = rpc.result_op((*pStateResult), "resume");
|
||||
} else {
|
||||
|
@ -1720,7 +1720,7 @@ int CMainDocument::WorkShowGraphics(RESULT* result)
|
|||
{
|
||||
int iRetVal = 0;
|
||||
|
||||
if (!result->graphics_exec_path.empty()) {
|
||||
if (strlen(result->graphics_exec_path)) {
|
||||
// V6 Graphics
|
||||
RUNNING_GFX_APP gfx_app;
|
||||
RUNNING_GFX_APP* previous_gfx_app;
|
||||
|
@ -1732,7 +1732,7 @@ int CMainDocument::WorkShowGraphics(RESULT* result)
|
|||
int id;
|
||||
#endif
|
||||
|
||||
p = strrchr((char*)result->slot_path.c_str(), '/');
|
||||
p = strrchr((char*)result->slot_path, '/');
|
||||
if (!p) return ERR_INVALID_PARAM;
|
||||
slot = atoi(p+1);
|
||||
|
||||
|
@ -1761,13 +1761,13 @@ int CMainDocument::WorkShowGraphics(RESULT* result)
|
|||
// exits with "RegisterProcess failed (error = -50)" unless
|
||||
// we pass its full path twice in the argument list to execv.
|
||||
//
|
||||
argv[1] = (char *)result->graphics_exec_path.c_str();
|
||||
argv[2] = (char *)result->graphics_exec_path.c_str();
|
||||
argv[1] = (char *)result->graphics_exec_path;
|
||||
argv[2] = (char *)result->graphics_exec_path;
|
||||
argv[3] = 0;
|
||||
|
||||
if (g_use_sandbox) {
|
||||
iRetVal = run_program(
|
||||
result->slot_path.c_str(),
|
||||
result->slot_path,
|
||||
"../../switcher/switcher",
|
||||
3,
|
||||
argv,
|
||||
|
@ -1776,8 +1776,8 @@ int CMainDocument::WorkShowGraphics(RESULT* result)
|
|||
);
|
||||
} else {
|
||||
iRetVal = run_program(
|
||||
result->slot_path.c_str(),
|
||||
result->graphics_exec_path.c_str(),
|
||||
result->slot_path,
|
||||
result->graphics_exec_path,
|
||||
1,
|
||||
&argv[2],
|
||||
0,
|
||||
|
@ -1819,8 +1819,8 @@ int CMainDocument::WorkShowGraphics(RESULT* result)
|
|||
strcpy(di.display, (const char*)wxGetApp().m_strDefaultDisplay.mb_str());
|
||||
|
||||
iRetVal = rpc.show_graphics(
|
||||
result->project_url.c_str(),
|
||||
result->name.c_str(),
|
||||
result->project_url,
|
||||
result->name,
|
||||
MODE_WINDOW,
|
||||
di
|
||||
);
|
||||
|
@ -1830,10 +1830,10 @@ int CMainDocument::WorkShowGraphics(RESULT* result)
|
|||
}
|
||||
|
||||
|
||||
int CMainDocument::WorkAbort(std::string& strProjectURL, std::string& strName) {
|
||||
int CMainDocument::WorkAbort(char* url, char* name) {
|
||||
int iRetVal = 0;
|
||||
|
||||
RESULT* pStateResult = state.lookup_result(strProjectURL, strName);
|
||||
RESULT* pStateResult = state.lookup_result(url, name);
|
||||
if (pStateResult) {
|
||||
iRetVal = rpc.result_op((*pStateResult), "abort");
|
||||
} else {
|
||||
|
|
|
@ -278,19 +278,10 @@ public:
|
|||
|
||||
int GetWorkCount();
|
||||
|
||||
int WorkSuspend(
|
||||
std::string& strProjectURL,
|
||||
std::string& strName
|
||||
);
|
||||
int WorkResume(
|
||||
std::string& strProjectURL,
|
||||
std::string& strName
|
||||
);
|
||||
int WorkSuspend(char* url, char* name);
|
||||
int WorkResume(char* url, char* name);
|
||||
int WorkShowGraphics(RESULT* result);
|
||||
int WorkAbort(
|
||||
std::string& strProjectURL,
|
||||
std::string& strName
|
||||
);
|
||||
int WorkAbort(char* url, char* name);
|
||||
CC_STATE* GetState() { return &state; };
|
||||
|
||||
|
||||
|
|
|
@ -1110,7 +1110,7 @@ void CViewProjects::GetDocProjectURL(wxInt32 item, wxString& strBuffer) const {
|
|||
}
|
||||
|
||||
if (project) {
|
||||
strBuffer = wxString(project->master_url.c_str(), wxConvUTF8);
|
||||
strBuffer = wxString(project->master_url, wxConvUTF8);
|
||||
} else {
|
||||
strBuffer = wxEmptyString;
|
||||
}
|
||||
|
|
|
@ -578,7 +578,7 @@ void CPaintStatistics::DrawLegend(wxDC &dc, PROJECTS* proj, CMainDocument* pDoc,
|
|||
y0 = wxCoord(m_WorkSpace_Y_start + ((double)(count - m_Legend_Shift) + 0.5) * m_Legend_dY + double(buffer_y1) + radius1);
|
||||
if (x0 < 0) x0 = 0;
|
||||
if (y0 < 0) y0 = 0;
|
||||
if ((SelProj >= 0) || (!(m_HideProjectStatistic.count( wxString( (*i)->master_url.c_str(),wxConvUTF8 ) )))){
|
||||
if ((SelProj >= 0) || (!(m_HideProjectStatistic.count( wxString( (*i)->master_url, wxConvUTF8 ) )))){
|
||||
myDrawPoint(dc, int(x0), int(y0), graphColour, typePoint ,m_GraphPointWidth);
|
||||
dc.SetFont(m_font_bold);
|
||||
}else {
|
||||
|
@ -1153,10 +1153,10 @@ void CPaintStatistics::DrawAll(wxDC &dc) {
|
|||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
++count;
|
||||
if (m_ViewHideProjectStatistic == count){
|
||||
s = m_HideProjectStatistic.find( wxString((*i)->master_url.c_str(),wxConvUTF8) );
|
||||
s = m_HideProjectStatistic.find( wxString((*i)->master_url, wxConvUTF8) );
|
||||
if (s != m_HideProjectStatistic.end()){
|
||||
m_HideProjectStatistic.erase(s);
|
||||
}else m_HideProjectStatistic.insert( wxString((*i)->master_url.c_str(),wxConvUTF8) );
|
||||
}else m_HideProjectStatistic.insert( wxString((*i)->master_url, wxConvUTF8) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1171,7 +1171,7 @@ void CPaintStatistics::DrawAll(wxDC &dc) {
|
|||
//How many rows/colums?
|
||||
int nb_proj_show = 0;
|
||||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url.c_str(),wxConvUTF8) ))){
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url, wxConvUTF8) ))){
|
||||
++nb_proj_show;
|
||||
}
|
||||
}
|
||||
|
@ -1201,13 +1201,13 @@ void CPaintStatistics::DrawAll(wxDC &dc) {
|
|||
double min_val_x_all = 10e32, max_val_x_all = 0;
|
||||
|
||||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url.c_str(),wxConvUTF8) ))){
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url, wxConvUTF8) ))){
|
||||
MinMaxDayCredit(i, min_val_y_all, max_val_y_all, min_val_x_all, max_val_x_all, m_SelectedStatistic, false);
|
||||
}
|
||||
}
|
||||
|
||||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url.c_str(),wxConvUTF8) ))){
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url, wxConvUTF8) ))){
|
||||
//Find minimum/maximum value
|
||||
double min_val_y = 10e32, max_val_y = 0;
|
||||
double min_val_x = 10e32, max_val_x = 0;
|
||||
|
@ -1326,10 +1326,10 @@ void CPaintStatistics::DrawAll(wxDC &dc) {
|
|||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
++count;
|
||||
if (m_ViewHideProjectStatistic == count){
|
||||
s = m_HideProjectStatistic.find( wxString((*i)->master_url.c_str(),wxConvUTF8) );
|
||||
s = m_HideProjectStatistic.find( wxString((*i)->master_url, wxConvUTF8) );
|
||||
if (s != m_HideProjectStatistic.end()){
|
||||
m_HideProjectStatistic.erase(s);
|
||||
}else m_HideProjectStatistic.insert( wxString((*i)->master_url.c_str(),wxConvUTF8) );
|
||||
}else m_HideProjectStatistic.insert( wxString((*i)->master_url, wxConvUTF8) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1349,7 +1349,7 @@ void CPaintStatistics::DrawAll(wxDC &dc) {
|
|||
|
||||
if (m_Zoom_Auto){
|
||||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url.c_str(),wxConvUTF8) ))){
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url, wxConvUTF8) ))){
|
||||
MinMaxDayCredit(i, min_val_y, max_val_y, min_val_x, max_val_x, m_SelectedStatistic, false);
|
||||
}
|
||||
}
|
||||
|
@ -1375,7 +1375,7 @@ void CPaintStatistics::DrawAll(wxDC &dc) {
|
|||
int count = -1;
|
||||
for (std::vector<PROJECT*>::const_iterator i = proj->projects.begin(); i != proj->projects.end(); ++i) {
|
||||
++count;
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url.c_str(),wxConvUTF8) ))){
|
||||
if (!(m_HideProjectStatistic.count( wxString((*i)->master_url, wxConvUTF8) ))){
|
||||
wxColour graphColour = wxColour(0,0,0);
|
||||
int typePoint = 0;
|
||||
getTypePoint(typePoint,count);
|
||||
|
|
|
@ -749,7 +749,7 @@ void CViewWork::UpdateSelection() {
|
|||
|
||||
// Disable Show Graphics button if any selected task can't display graphics
|
||||
if (((!result->supports_graphics) || pDoc->GetState()->executing_as_daemon)
|
||||
&& result->graphics_exec_path.empty()
|
||||
&& !strlen(result->graphics_exec_path)
|
||||
) {
|
||||
enableShowGraphics = false;
|
||||
}
|
||||
|
@ -965,7 +965,7 @@ void CViewWork::GetDocName(wxInt32 item, wxString& strBuffer) const {
|
|||
RESULT* result = wxGetApp().GetDocument()->result(item);
|
||||
|
||||
if (result) {
|
||||
strBuffer = wxString(result->name.c_str(), wxConvUTF8);
|
||||
strBuffer = wxString(result->name, wxConvUTF8);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1077,7 +1077,7 @@ void CViewWork::GetDocReportDeadline(wxInt32 item, time_t& time) const {
|
|||
RESULT* result = wxGetApp().GetDocument()->result(item);
|
||||
|
||||
if (result) {
|
||||
time = result->report_deadline;
|
||||
time = (time_t)result->report_deadline;
|
||||
} else {
|
||||
time = (time_t)0;
|
||||
}
|
||||
|
@ -1153,8 +1153,8 @@ void CViewWork::GetDocStatus(wxInt32 item, wxString& strBuffer) const {
|
|||
if (status.task_suspend_reason & SUSPEND_REASON_EXCLUSIVE_APP_RUNNING) {
|
||||
strBuffer += _(" - an exclusive app is running");
|
||||
}
|
||||
if (result->resources.size()) {
|
||||
strBuffer += wxString(wxT(" (")) + wxString(result->resources.c_str(), wxConvUTF8) + wxString(wxT(")"));
|
||||
if (strlen(result->resources)) {
|
||||
strBuffer += wxString(wxT(" (")) + wxString(result->resources, wxConvUTF8) + wxString(wxT(")"));
|
||||
}
|
||||
} else if (result->active_task) {
|
||||
if (result->too_large) {
|
||||
|
@ -1178,8 +1178,8 @@ void CViewWork::GetDocStatus(wxInt32 item, wxString& strBuffer) const {
|
|||
} else if (result->scheduler_state == CPU_SCHED_UNINITIALIZED) {
|
||||
strBuffer += _("Ready to start");
|
||||
}
|
||||
if (result->resources.size()) {
|
||||
strBuffer += wxString(wxT(" (")) + wxString(result->resources.c_str(), wxConvUTF8) + wxString(wxT(")"));
|
||||
if (strlen(result->resources)) {
|
||||
strBuffer += wxString(wxT(" (")) + wxString(result->resources, wxConvUTF8) + wxString(wxT(")"));
|
||||
}
|
||||
} else {
|
||||
strBuffer += _("Ready to start");
|
||||
|
@ -1245,7 +1245,7 @@ void CViewWork::GetDocProjectURL(wxInt32 item, wxString& strBuffer) const {
|
|||
RESULT* result = wxGetApp().GetDocument()->result(item);
|
||||
|
||||
if (result) {
|
||||
strBuffer = wxString(result->project_url.c_str(), wxConvUTF8);
|
||||
strBuffer = wxString(result->project_url, wxConvUTF8);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -310,7 +310,7 @@ void CProjectsComponent::UpdateProjectArray() {
|
|||
bool found = false;
|
||||
std::vector<StatImageLoader*>::iterator j;
|
||||
for(j=m_statProjects.begin(); j < m_statProjects.end(); j++) {
|
||||
if ( project->master_url == (*j)->m_prjUrl ) {
|
||||
if (!strcmp(project->master_url, (*j)->project_url)) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ void CProjectsComponent::UpdateProjectArray() {
|
|||
PROJECT* project = NULL;
|
||||
std::vector<StatImageLoader*>::iterator i;
|
||||
for(i=m_statProjects.begin(); i < m_statProjects.end(); i++) {
|
||||
project = pDoc->state.lookup_project((*i)->m_prjUrl);
|
||||
project = pDoc->state.lookup_project((*i)->project_url);
|
||||
if ( project == NULL ) {
|
||||
(*i)->Show(false);
|
||||
delete (*i);
|
||||
|
|
|
@ -48,10 +48,10 @@ BEGIN_EVENT_TABLE(StatImageLoader, wxWindow)
|
|||
EVT_MENU(WEBSITE_URL_MENU_ID_REMOVE_PROJECT,StatImageLoader::OnMenuLinkClicked)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
StatImageLoader::StatImageLoader(wxWindow* parent, std::string url) :
|
||||
StatImageLoader::StatImageLoader(wxWindow* parent, char* url) :
|
||||
wxWindow(parent, wxID_ANY, wxDefaultPosition, wxSize(40,40), wxNO_BORDER)
|
||||
{
|
||||
m_prjUrl = url;
|
||||
strcpy(project_url, url);
|
||||
project_files_downloaded_time = 1;
|
||||
project_last_rpc_time = 1;
|
||||
BuildUserStatToolTip();
|
||||
|
@ -95,7 +95,7 @@ void StatImageLoader::BuildUserStatToolTip() {
|
|||
wxASSERT(pDoc);
|
||||
wxASSERT(wxDynamicCast(pDoc, CMainDocument));
|
||||
|
||||
PROJECT* project = pDoc->state.lookup_project(m_prjUrl);
|
||||
PROJECT* project = pDoc->state.lookup_project(project_url);
|
||||
|
||||
strBuffer.Printf(
|
||||
_("%s. Work done by %s: %0.2f"),
|
||||
|
@ -120,7 +120,7 @@ void StatImageLoader::AddMenuItems()
|
|||
wxASSERT(pSkinSimple);
|
||||
wxASSERT(wxDynamicCast(pSkinSimple, CSkinSimple));
|
||||
#endif
|
||||
PROJECT* project = pDoc->state.lookup_project(m_prjUrl);
|
||||
PROJECT* project = pDoc->state.lookup_project(project_url);
|
||||
urlCount = project->gui_urls.size();
|
||||
|
||||
// Add the home page link
|
||||
|
@ -171,10 +171,10 @@ void StatImageLoader::OnMenuLinkClicked(wxCommandEvent& event)
|
|||
//call detach project function
|
||||
OnProjectDetach();
|
||||
} else if (menuIDevt == WEBSITE_URL_MENU_ID_HOMEPAGE ) {
|
||||
wxLaunchDefaultBrowser(wxString(m_prjUrl.c_str(),wxConvUTF8));
|
||||
wxLaunchDefaultBrowser(wxString(project_url, wxConvUTF8));
|
||||
} else{
|
||||
int menuId = menuIDevt - WEBSITE_URL_MENU_ID;
|
||||
PROJECT* project = pDoc->state.lookup_project(m_prjUrl);
|
||||
PROJECT* project = pDoc->state.lookup_project(project_url);
|
||||
project->gui_urls[menuId].name.c_str();
|
||||
|
||||
wxLaunchDefaultBrowser(wxString(project->gui_urls[menuId].url.c_str(),wxConvUTF8));
|
||||
|
@ -202,7 +202,7 @@ void StatImageLoader::OnProjectDetach() {
|
|||
for(int m = 0; m < prjCount; m++){
|
||||
PROJECT* project = pDoc->project(m);
|
||||
project->get_name(strProjectName);
|
||||
if(project->master_url == m_prjUrl){
|
||||
if(!strcmp(project->master_url, project_url)){
|
||||
indexOfProj = m;
|
||||
break;
|
||||
}
|
||||
|
@ -236,8 +236,8 @@ void StatImageLoader::LoadStatIcon(wxBitmap& image) {
|
|||
std::string StatImageLoader::GetProjectIconLoc() {
|
||||
char urlDirectory[256];
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
PROJECT* project = pDoc->state.lookup_project(m_prjUrl);
|
||||
url_to_project_dir((char*)project->master_url.c_str() ,urlDirectory);
|
||||
PROJECT* project = pDoc->state.lookup_project(project_url);
|
||||
url_to_project_dir(project->master_url, urlDirectory);
|
||||
return (std::string)urlDirectory + "/stat_icon";
|
||||
}
|
||||
|
||||
|
@ -280,7 +280,7 @@ void StatImageLoader::ReloadProjectSpecificIcon() {
|
|||
|
||||
void StatImageLoader::UpdateInterface() {
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
PROJECT* project = pDoc->state.lookup_project(m_prjUrl);
|
||||
PROJECT* project = pDoc->state.lookup_project(project_url);
|
||||
|
||||
// Check to see if we need to reload the stat icon
|
||||
if ( project > NULL && project->project_files_downloaded_time > project_files_downloaded_time ) {
|
||||
|
|
|
@ -26,12 +26,9 @@
|
|||
class StatImageLoader : public wxWindow
|
||||
{
|
||||
public:
|
||||
//members
|
||||
wxMenu *statPopUpMenu;
|
||||
//Skin Class
|
||||
std::string m_prjUrl;
|
||||
/// Constructors
|
||||
StatImageLoader(wxWindow* parent, std::string url);
|
||||
char project_url[256];
|
||||
StatImageLoader(wxWindow* parent, char* url);
|
||||
~StatImageLoader();
|
||||
void LoadImage();
|
||||
void OnMenuLinkClicked(wxCommandEvent& event);
|
||||
|
@ -43,7 +40,6 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
//private memb
|
||||
wxBitmap Bitmap;
|
||||
std::string projectIcon;
|
||||
int numReloadTries;
|
||||
|
|
|
@ -74,13 +74,15 @@ bool isRunning(RESULT* result) {
|
|||
|
||||
CViewTabPage::CViewTabPage() {}
|
||||
|
||||
CViewTabPage::CViewTabPage(WorkunitNotebook* parent,RESULT* result,std::string name,std::string url) :
|
||||
CViewTabPage::CViewTabPage(
|
||||
WorkunitNotebook* parent,RESULT* result, std::string name, char* url
|
||||
) :
|
||||
wxPanel(parent, -1, wxDefaultPosition, wxSize(370,330), wxNO_BORDER)
|
||||
{
|
||||
wxASSERT(parent);
|
||||
m_name = name;
|
||||
isAlive = true;
|
||||
m_prjUrl = url;
|
||||
strcpy(project_url, url);
|
||||
m_hasGraphic = false;
|
||||
resultWU = result;
|
||||
//create page
|
||||
|
@ -129,7 +131,7 @@ void CViewTabPage::CreatePage()
|
|||
spacerLine->Create(this,-1,wxPoint(20,36),wxSize(305,1));
|
||||
|
||||
//My Progress
|
||||
wrkUnitName = wxString(resultWU->name.c_str(),wxConvUTF8);
|
||||
wrkUnitName = wxString(resultWU->name, wxConvUTF8);
|
||||
//Main Gauge
|
||||
gaugeWUMain=new CProgressBar(this,wxPoint(20,282));
|
||||
gaugeWUMain->SetValue(floor(resultWU->fraction_done * 100000)/1000);
|
||||
|
@ -141,7 +143,7 @@ void CViewTabPage::CreatePage()
|
|||
FormatCPUTime(resultWU, elapsedTimeValue);
|
||||
FormatTimeToCompletion(resultWU, timeRemainingValue);
|
||||
// show graphic button
|
||||
if (resultWU->supports_graphics || !resultWU->graphics_exec_path.empty()) {
|
||||
if (resultWU->supports_graphics || strlen(resultWU->graphics_exec_path)) {
|
||||
m_hasGraphic = true;
|
||||
}
|
||||
int status = ComputeState();
|
||||
|
@ -191,7 +193,7 @@ void CViewTabPage::LoadSlideShow(std::vector<wxBitmap> *vSlideShow) {
|
|||
RESULT* result = pDoc->state.lookup_result(resultWU->project_url, resultWU->name);
|
||||
// If result not found then return
|
||||
if ( result <= 0 ) return;
|
||||
url_to_project_dir((char *) result->project->master_url.c_str() ,urlDirectory);
|
||||
url_to_project_dir(result->project->master_url, urlDirectory);
|
||||
char file[512];
|
||||
char resolvedFile[512];
|
||||
wxBitmap* btmpSlideShow;
|
||||
|
@ -289,7 +291,7 @@ void CViewTabPage::UpdateInterface()
|
|||
|
||||
// check to see if we can display graphics
|
||||
bool changed = false;
|
||||
if ((resultWU->supports_graphics || !resultWU->graphics_exec_path.empty()) && isRunning(resultWU) ) {
|
||||
if ((resultWU->supports_graphics || strlen(resultWU->graphics_exec_path)) && isRunning(resultWU) ) {
|
||||
if ( !m_hasGraphic ) {
|
||||
changed = true;
|
||||
}
|
||||
|
@ -716,7 +718,7 @@ void WorkunitNotebook::AddTab(RESULT* result) {
|
|||
RESULT* resState = NULL;
|
||||
std::string projUrl = result->project_url;
|
||||
std::string nme = result->name;
|
||||
resState = pDoc->state.lookup_result(projUrl, nme);
|
||||
resState = pDoc->state.lookup_result(result->project_url, result->name);
|
||||
if(!resState){
|
||||
pDoc->ForceCacheUpdate();
|
||||
return;
|
||||
|
@ -726,7 +728,7 @@ void WorkunitNotebook::AddTab(RESULT* result) {
|
|||
Freeze();
|
||||
std::string index = " ";
|
||||
appShortName += wxString(index.c_str(), wxConvUTF8 );
|
||||
CViewTabPage *wTab = new CViewTabPage(this,result,nme,projUrl);
|
||||
CViewTabPage *wTab = new CViewTabPage(this, result, nme, result->project_url);
|
||||
|
||||
AddPage(wTab, appShortName, true);
|
||||
if(isRunning(resState) ){
|
||||
|
|
|
@ -85,7 +85,7 @@ public:
|
|||
|
||||
CViewTabPage();
|
||||
CViewTabPage(
|
||||
WorkunitNotebook* parent, RESULT* result, std::string name,std::string url
|
||||
WorkunitNotebook* parent, RESULT* result, std::string name, char* url
|
||||
);
|
||||
~CViewTabPage();
|
||||
|
||||
|
@ -112,7 +112,7 @@ protected:
|
|||
|
||||
//tab identifier
|
||||
std::string m_name;
|
||||
std::string m_prjUrl;
|
||||
char project_url[256];
|
||||
bool m_hasGraphic;
|
||||
|
||||
wxInt32 FormatCPUTime( RESULT* rslt, wxString& strBuffer ) const;
|
||||
|
|
|
@ -215,6 +215,7 @@ function language_form() {
|
|||
."<option value=es>Español (Spanish)"
|
||||
."<option value=fr>Français (French)"
|
||||
."<option value=el>Ελληνικά (Greek)"
|
||||
."<option value=hu>Magyar (Hungarian)"
|
||||
."<option value=it>Italiano (Italian)"
|
||||
."<option value=ja>日本語 (Japanese)"
|
||||
."<option value=ko>한국어 (Korean)"
|
||||
|
|
|
@ -7,7 +7,7 @@ msgstr ""
|
|||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: BOINC translation team <boinc_loc@boinc.berkeley.edu>\n"
|
||||
"POT-Creation-Date: 2010-02-19 09:49 PST\n"
|
||||
"PO-Revision-Date: 2010-02-26 07:49-0700\n"
|
||||
"PO-Revision-Date: 2010-03-02 06:07-0700\n"
|
||||
"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -3346,10 +3346,13 @@ msgid ""
|
|||
"Team member %1 has requested this team's foundership. This may be because "
|
||||
"you left the team or haven't had contact with the team for a long time."
|
||||
msgstr ""
|
||||
"Le membre %1 a demandé à être déclaré fondateur de l'équipe. Ceci peut être "
|
||||
"du au fait que vous avez quitté l'équipe ou que vous n'avez eu aucun contact "
|
||||
"avec l'équipe depuis un long moment."
|
||||
|
||||
#: ../user/team_change_founder_form.php:53
|
||||
msgid "decline request"
|
||||
msgstr ""
|
||||
msgstr "décline la requête"
|
||||
|
||||
#: ../user/team_change_founder_form.php:56
|
||||
msgid ""
|
||||
|
@ -3358,24 +3361,31 @@ msgid ""
|
|||
" To accept the request, assign foundership to %3 using the "
|
||||
"form below."
|
||||
msgstr ""
|
||||
"Si vous ne déclinez pas la requête par %1, %2 aura l'option d'assumer le "
|
||||
"rôle de fondateur de l'équipe.<br /><br />\n"
|
||||
" Pour accepter la requête, assignez le rôle "
|
||||
"de fondateur à %3 en utilisant le formulaire ci-dessous."
|
||||
|
||||
#: ../user/team_change_founder_form.php:64
|
||||
msgid "No transfer request is pending."
|
||||
msgstr ""
|
||||
msgstr "Aucune requête de transfert en attente."
|
||||
|
||||
#: ../user/team_change_founder_form.php:67
|
||||
msgid ""
|
||||
"To assign foundership of this team to another member, check the box next to "
|
||||
"member name and click <strong>Change founder</strong> below."
|
||||
msgstr ""
|
||||
"Pour assigner le rôle de fondateur de cette équipe à un autre membre, "
|
||||
"sélectionnez le membre via la boîte de sélection située près de son nom et "
|
||||
"cliquer <strong>Changer de fondateur</strong> ci-dessous."
|
||||
|
||||
#: ../user/team_change_founder_form.php:74
|
||||
msgid "New founder?"
|
||||
msgstr ""
|
||||
msgstr "Nouveau fondateur ?"
|
||||
|
||||
#: ../user/team_change_founder_form.php:103 ../user/team_manage.php:54
|
||||
msgid "Change founder"
|
||||
msgstr ""
|
||||
msgstr "Changer de fondateur"
|
||||
|
||||
#: ../user/team_create_action.php:27
|
||||
msgid "You must choose a non-blank team name"
|
||||
|
@ -3402,124 +3412,125 @@ msgstr ""
|
|||
|
||||
#: ../user/team_delta.php:64
|
||||
msgid "Not founder or admin"
|
||||
msgstr ""
|
||||
msgstr "Aucun fondateur ou administrateur"
|
||||
|
||||
#: ../user/team_delta.php:71
|
||||
msgid "Team history for %1"
|
||||
msgstr ""
|
||||
msgstr "Historique d'équipe pour %1"
|
||||
|
||||
#: ../user/team_delta.php:74
|
||||
msgid "When"
|
||||
msgstr ""
|
||||
msgstr "Quand"
|
||||
|
||||
#: ../user/team_delta.php:75
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Utilisateur"
|
||||
|
||||
#: ../user/team_delta.php:76
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
msgstr "Action"
|
||||
|
||||
#: ../user/team_delta.php:77
|
||||
msgid "Total credit at time of action"
|
||||
msgstr ""
|
||||
msgstr "Crédit total au moment de l'action"
|
||||
|
||||
#: ../user/team_edit_action.php:57
|
||||
msgid "The name '%1' is being used by another team."
|
||||
msgstr ""
|
||||
msgstr "Le nom '%1' est déjà utilisé par une autre équipe."
|
||||
|
||||
#: ../user/team_edit_action.php:60
|
||||
msgid "Must specify team name"
|
||||
msgstr ""
|
||||
msgstr "Doit spécifier un nom d'équipe"
|
||||
|
||||
#: ../user/team_edit_action.php:88
|
||||
#, fuzzy
|
||||
msgid "Could not update team - please try again later."
|
||||
msgstr "Impossible de créer l'équipe. Essayez plus tard."
|
||||
msgstr "Impossible de mettre à jour l'équipe. Réessayez plus tard."
|
||||
|
||||
#: ../user/team_edit_form.php:31
|
||||
msgid "Edit %1"
|
||||
msgstr ""
|
||||
msgstr "Éditer %1"
|
||||
|
||||
#: ../user/team_edit_form.php:32
|
||||
msgid "Update team info"
|
||||
msgstr ""
|
||||
msgstr "Mettre à jour les informations d'équipe"
|
||||
|
||||
#: ../user/team_email_list.php:58
|
||||
msgid "%1 Email List"
|
||||
msgstr ""
|
||||
msgstr "Liste des e-mails de %1"
|
||||
|
||||
#: ../user/team_email_list.php:60
|
||||
msgid "Member list of %1"
|
||||
msgstr ""
|
||||
msgstr "Liste des membres de %1"
|
||||
|
||||
#: ../user/team_email_list.php:75
|
||||
msgid "Show as plain text"
|
||||
msgstr ""
|
||||
msgstr "Afficher en clair"
|
||||
|
||||
#: ../user/team_forum.php:26 ../user/team_forum.php:37
|
||||
msgid "Create Message Board"
|
||||
msgstr ""
|
||||
msgstr "Créer un forum"
|
||||
|
||||
#: ../user/team_forum.php:27
|
||||
msgid "You may create a message board for use by %1."
|
||||
msgstr ""
|
||||
msgstr "Vous pouvez créer un forum relatif à %1."
|
||||
|
||||
#: ../user/team_forum.php:29
|
||||
msgid "Only team members will be able to post."
|
||||
msgstr ""
|
||||
msgstr "Seuls les membres de l'équipe pourront poster dans le forum."
|
||||
|
||||
#: ../user/team_forum.php:30
|
||||
msgid "At your option, only members will be able to read."
|
||||
msgstr ""
|
||||
msgstr "Selon votre choix, seuls les membres pourront lire."
|
||||
|
||||
#: ../user/team_forum.php:31
|
||||
msgid "You and your Team Admins will have moderator privileges."
|
||||
msgstr ""
|
||||
"Vous et les administrateurs de votre équipe auront les privilèges de "
|
||||
"modérateur."
|
||||
|
||||
#: ../user/team_forum.php:38
|
||||
msgid "Create a message board for %1"
|
||||
msgstr ""
|
||||
msgstr "Créer un forum pour %1"
|
||||
|
||||
#: ../user/team_forum.php:46
|
||||
msgid "Team already has a message board"
|
||||
msgstr ""
|
||||
msgstr "L'équipe a déjà un forum"
|
||||
|
||||
#: ../user/team_forum.php:51
|
||||
msgid "couldn't create message board"
|
||||
msgstr ""
|
||||
msgstr "impossible de créer le forum"
|
||||
|
||||
#: ../user/team_forum.php:57
|
||||
msgid "Team Message Board"
|
||||
msgstr ""
|
||||
msgstr "Forum de l'équipe"
|
||||
|
||||
#: ../user/team_forum.php:66
|
||||
msgid "Discussion among members of %1"
|
||||
msgstr ""
|
||||
msgstr "Discussions entres les membres de %1"
|
||||
|
||||
#: ../user/team_forum.php:69
|
||||
msgid "Minimum time between posts (seconds)"
|
||||
msgstr ""
|
||||
msgstr "Délai minimum entre les dépôts de messages (en secondes)"
|
||||
|
||||
#: ../user/team_forum.php:72
|
||||
msgid "Minimum total credit to post"
|
||||
msgstr ""
|
||||
msgstr "Crédit total minimum pour pouvoir poster"
|
||||
|
||||
#: ../user/team_forum.php:75
|
||||
msgid "Minimum average credit to post"
|
||||
msgstr ""
|
||||
msgstr "Crédit moyen minimum pour pouvoir poster"
|
||||
|
||||
#: ../user/team_forum.php:78
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
msgstr "Soumettre"
|
||||
|
||||
#: ../user/team_forum.php:87
|
||||
msgid "Remove your team's message board."
|
||||
msgstr ""
|
||||
msgstr "Supprimer le forum de votre équipe."
|
||||
|
||||
#: ../user/team_forum.php:95
|
||||
msgid "Really remove message board?"
|
||||
msgstr ""
|
||||
msgstr "Voulez-vous vraiment supprimer le forum de votre équipe ?"
|
||||
|
||||
#: ../user/team_forum.php:96
|
||||
msgid ""
|
||||
|
@ -3527,59 +3538,64 @@ msgid ""
|
|||
"posts will be permanently removed. (You may, however, create a new message "
|
||||
"board later)."
|
||||
msgstr ""
|
||||
"Êtes-vous sûr de vouloir supprimer le forum de votre équipe ? Tous les fils "
|
||||
"et messages seront alors définitivement supprimés. (Vous aurez néanmoins la "
|
||||
"possibilité de créer un nouveau forum ensuite)."
|
||||
|
||||
#: ../user/team_forum.php:98
|
||||
msgid "Yes - remove message board"
|
||||
msgstr ""
|
||||
msgstr "Oui - supprimer le forum"
|
||||
|
||||
#: ../user/team_forum.php:105
|
||||
msgid "message board not found"
|
||||
msgstr ""
|
||||
msgstr "impossible de trouver le forum"
|
||||
|
||||
#: ../user/team_forum.php:119
|
||||
msgid "Message board removed"
|
||||
msgstr ""
|
||||
msgstr "Le forum a été supprimé"
|
||||
|
||||
#: ../user/team_forum.php:120
|
||||
msgid ""
|
||||
"Your teams message board has been removed. You may now %1create a new one%2."
|
||||
msgstr ""
|
||||
"Le forum de votre équipe a été supprimé. Vous pouvez éventuellement en "
|
||||
"%1créer un nouveau%2."
|
||||
|
||||
#: ../user/team_forum.php:120
|
||||
msgid "<p>"
|
||||
msgstr ""
|
||||
msgstr "<p>"
|
||||
|
||||
#: ../user/team_forum.php:135
|
||||
msgid "Team Message Board Updated"
|
||||
msgstr ""
|
||||
msgstr "Le forum de l'équipe a été mis à jour"
|
||||
|
||||
#: ../user/team_forum.php:136
|
||||
msgid "Update successful"
|
||||
msgstr ""
|
||||
msgstr "Mis à jour avec succès"
|
||||
|
||||
#: ../user/team_forum.php:139
|
||||
msgid "Update failed"
|
||||
msgstr ""
|
||||
msgstr "Échec de la mise à jour"
|
||||
|
||||
#: ../user/team_forum.php:146
|
||||
msgid "team has no forum"
|
||||
msgstr ""
|
||||
msgstr "l'équipe n'a pas de forum"
|
||||
|
||||
#: ../user/team_forum.php:181
|
||||
msgid "no such forum"
|
||||
msgstr ""
|
||||
msgstr "Ce forum n'existe pas"
|
||||
|
||||
#: ../user/team_forum.php:192
|
||||
msgid "unknown command %1"
|
||||
msgstr ""
|
||||
msgstr "commande inconnue %1"
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:34
|
||||
msgid "You must be a member of a team to access this page."
|
||||
msgstr ""
|
||||
msgstr "Vous devez être membre d'une équipe pour pouvoir accéder à cette page."
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:88
|
||||
msgid "Requesting foundership of %1"
|
||||
msgstr ""
|
||||
msgstr "Demande en cours du titre de fondateur pour %1"
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:96
|
||||
msgid ""
|
||||
|
@ -3588,74 +3604,86 @@ msgid ""
|
|||
" If the founder does not respond within 60 days you "
|
||||
"will be allowed to become the founder."
|
||||
msgstr ""
|
||||
"Le fondateur actuel a été notifié de votre demande par un e-mail et un "
|
||||
"message privé.<br /><br />\n"
|
||||
" Si le fondateur ne répond pas dans les 60 jours, vous "
|
||||
"serez alors autorisé à devenir le fondateur."
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:100
|
||||
#: ../user/team_founder_transfer_action.php:111
|
||||
msgid "Foundership request not allowed now"
|
||||
msgstr ""
|
||||
"Les requêtes pour le titre de fondateur ne sont pas autorisées actuellement."
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:107
|
||||
msgid "Assumed foundership of %1"
|
||||
msgstr ""
|
||||
msgstr "Titre de fondateur assumé pour %1"
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:109
|
||||
msgid ""
|
||||
"Congratulations, you are now the founder of team %1. Go to %2Your Account "
|
||||
"page%3 to find the Team Admin options."
|
||||
msgstr ""
|
||||
"Félicitations ! Vous êtes maintenant le fondateur de l'équipe %1. Allez sur "
|
||||
"%2la page de votre compte%3 pour y trouver les options d'administration."
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:118
|
||||
msgid "Decline founder change request"
|
||||
msgstr ""
|
||||
msgstr "Refuser la requête de changement de fondateur"
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:125
|
||||
msgid "The foundership request from %1 has been declined."
|
||||
msgstr ""
|
||||
msgstr "La requête de titre de fondateur de %1 a été rejetée."
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:128
|
||||
msgid "There were no foundership requests."
|
||||
msgstr ""
|
||||
msgstr "Il n'y a aucune requête de titre de fondateur."
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:132
|
||||
msgid "undefined action %1"
|
||||
msgstr ""
|
||||
msgstr "action non-définie %1"
|
||||
|
||||
#: ../user/team_founder_transfer_action.php:135
|
||||
#: ../user/team_founder_transfer_form.php:81
|
||||
msgid "Return to team page"
|
||||
msgstr ""
|
||||
msgstr "Retour à la page principale"
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:26
|
||||
msgid "You need to be a member of a team to access this page."
|
||||
msgstr ""
|
||||
msgstr "Vous devez être membre d'une équipe pour accéder à cette page."
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:29
|
||||
msgid "Request foundership of %1"
|
||||
msgstr ""
|
||||
msgstr "Demande le titre de fondateur pour %1"
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:36
|
||||
msgid "You are now founder of team %1."
|
||||
msgstr ""
|
||||
msgstr "Vous avez maintenant le titre de fondateur de %1."
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:42
|
||||
msgid "You requested the foundership of %1 on %2."
|
||||
msgstr ""
|
||||
msgstr "Vous avez demandé le titre de fondateur de %1 le %2."
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:45
|
||||
msgid ""
|
||||
"60 days have elapsed since your request, and the founder has not responded. "
|
||||
"You may now assume foundership by clicking here:"
|
||||
msgstr ""
|
||||
"Soixante jours se sont écoulés depuis votre requête et le fondateur n'a pas "
|
||||
"répondu. Vous pouvez maintenant prendre le titre de fondateur en cliquant "
|
||||
"ici :"
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:48
|
||||
msgid "Assume foundership"
|
||||
msgstr ""
|
||||
msgstr "Prendre le titre de fondateur"
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:52
|
||||
msgid ""
|
||||
"The founder was notified of your request. If he/she does not respond by %1 "
|
||||
"you will be given an option to become founder."
|
||||
msgstr ""
|
||||
"Le fondateur a été notifié de votre requête. S'il ne répond pas dans les %1, "
|
||||
"il vous sera proposé une option pour devenir le fondateur."
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:58
|
||||
msgid ""
|
||||
|
@ -3666,14 +3694,22 @@ msgid ""
|
|||
"will be allowed to become the founder.<br /><br />\n"
|
||||
" Are you sure you want to request foundership?"
|
||||
msgstr ""
|
||||
"Si le fondateur de l'équipe n'est pas actif et que vous voulez assumer ce "
|
||||
"rôle, cliquer sur le bouton ci-dessous. Un e-mail sera envoyé au fondateur "
|
||||
"actuel pour détailler votre requête. Il pourra alors vous transférer le "
|
||||
"titre de fondateur ou refuser votre requête. Si le fondateur ne répond pas "
|
||||
"dans les 60 jours, vous serez alors autorisé à devenir fondateur.<br /><br "
|
||||
"/>\n"
|
||||
" Voulez-vous vraiment demander le titre de fondateur ?"
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:63
|
||||
msgid "Request foundership"
|
||||
msgstr ""
|
||||
msgstr "Demander le titre de fondateur"
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:72
|
||||
msgid "Founder change has already been requested by %1 on %2."
|
||||
msgstr ""
|
||||
"Une demande de changement de fondateur a déjà été effectuée par %1 le %2."
|
||||
|
||||
#: ../user/team_founder_transfer_form.php:75
|
||||
msgid ""
|
||||
|
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: BOINC translation team <boinc_loc@boinc.berkeley.edu>\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:30 PST\n"
|
||||
"PO-Revision-Date: 2010-02-214 23:19+0900\n"
|
||||
"PO-Revision-Date: 2010-02-28 22:50+0900\n"
|
||||
"Last-Translator: je2bwm <je2bwm@jarl.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ja\n"
|
||||
|
@ -4306,9 +4306,8 @@ msgid "Tasks in progress"
|
|||
msgstr "タスク 実行中"
|
||||
|
||||
#: ../user/workunit.php:52
|
||||
#, fuzzy
|
||||
msgid "suppressed pending completion"
|
||||
msgstr "完了保留中の状態は表示を省略"
|
||||
msgstr "完了保留中のワークウニットは表示を省略"
|
||||
|
||||
#: ../user/workunit.php:55
|
||||
msgid "minimum quorum"
|
||||
|
|
|
@ -3,15 +3,15 @@ msgstr ""
|
|||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: BOINC translation team <boinc_loc@boinc.berkeley.edu>\n"
|
||||
"POT-Creation-Date: 2010-02-19 09:49 PST\n"
|
||||
"PO-Revision-Date: 2010-02-05 12:20-0700\n"
|
||||
"PO-Revision-Date: 2010-03-11 07:48-0700\n"
|
||||
"Last-Translator: Nikolay Saharov <saharovna@gmail.com>\n"
|
||||
"Language-Team: Russia\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
|
||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Pootle 1.2.1\n"
|
||||
"X-Poedit-Language: Russian\n"
|
||||
"X-Poedit-SearchPath-0: html\\user\n"
|
||||
|
@ -114,59 +114,60 @@ msgstr "Отметить все обсуждения во всех досках
|
|||
|
||||
#: ../inc/host.inc:24
|
||||
msgid "No host"
|
||||
msgstr ""
|
||||
msgstr "Нет компьютера"
|
||||
|
||||
#: ../inc/host.inc:26
|
||||
msgid "Unavailable"
|
||||
msgstr ""
|
||||
msgstr "Недоступно"
|
||||
|
||||
#: ../inc/host.inc:55 ../inc/prefs.inc:1350 ../project.sample/project.inc:49
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
msgstr "Дом"
|
||||
|
||||
#: ../inc/host.inc:56 ../inc/prefs.inc:1351
|
||||
msgid "Work"
|
||||
msgstr ""
|
||||
msgstr "Работа"
|
||||
|
||||
#: ../inc/host.inc:57 ../inc/prefs.inc:1352
|
||||
msgid "School"
|
||||
msgstr ""
|
||||
msgstr "Школа"
|
||||
|
||||
#: ../inc/host.inc:59
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
msgstr "Обновить"
|
||||
|
||||
#: ../inc/host.inc:83
|
||||
msgid "Computer information"
|
||||
msgstr ""
|
||||
msgstr "Информация о компьютере"
|
||||
|
||||
#: ../inc/host.inc:87 ../inc/host.inc:92
|
||||
msgid "IP address"
|
||||
msgstr ""
|
||||
msgstr "IP-адрес"
|
||||
|
||||
#: ../inc/host.inc:87
|
||||
msgid "(same the last %1 times)"
|
||||
msgstr ""
|
||||
msgstr "(такой же последние %1 раз)"
|
||||
|
||||
#: ../inc/host.inc:89
|
||||
msgid "External IP address"
|
||||
msgstr ""
|
||||
msgstr "Внешний IP-адрес"
|
||||
|
||||
#: ../inc/host.inc:92
|
||||
msgid "Show IP address"
|
||||
msgstr ""
|
||||
msgstr "Показать IP-адрес"
|
||||
|
||||
#: ../inc/host.inc:94
|
||||
msgid "Domain name"
|
||||
msgstr ""
|
||||
msgstr "Доменное имя"
|
||||
|
||||
#: ../inc/host.inc:97
|
||||
msgid "Local Standard Time"
|
||||
msgstr ""
|
||||
msgstr "Местное Стандартное Время"
|
||||
|
||||
#: ../inc/host.inc:97
|
||||
#, fuzzy
|
||||
msgid "UTC %1 hours"
|
||||
msgstr ""
|
||||
msgstr "UTC %1 часа"
|
||||
|
||||
#: ../inc/host.inc:98 ../inc/host.inc:612 ../inc/result.inc:375
|
||||
#: ../inc/team.inc:202 ../inc/team.inc:345 ../inc/user.inc:198
|
||||
|
@ -179,16 +180,15 @@ msgstr "Имя"
|
|||
|
||||
#: ../inc/host.inc:102 ../inc/host.inc:104 ../inc/host.inc:213
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
msgstr "Владелец"
|
||||
|
||||
#: ../inc/host.inc:104 ../inc/host.inc:318
|
||||
msgid "Anonymous"
|
||||
msgstr ""
|
||||
msgstr "Анонимный"
|
||||
|
||||
#: ../inc/host.inc:108 ../inc/result.inc:377
|
||||
#, fuzzy
|
||||
msgid "Created"
|
||||
msgstr "Создать"
|
||||
msgstr "Создан"
|
||||
|
||||
#: ../inc/host.inc:109 ../inc/host.inc:217 ../inc/host.inc:222
|
||||
#: ../inc/host.inc:621 ../inc/team.inc:94 ../inc/team.inc:207
|
||||
|
@ -207,160 +207,176 @@ msgid "Average credit"
|
|||
msgstr "В среднем очков"
|
||||
|
||||
#: ../inc/host.inc:112
|
||||
#, fuzzy
|
||||
msgid "Cross project credit"
|
||||
msgstr ""
|
||||
msgstr "Объединенных по проектам очков"
|
||||
|
||||
#: ../inc/host.inc:114
|
||||
msgid "CPU type"
|
||||
msgstr ""
|
||||
msgstr "Тип ЦП"
|
||||
|
||||
#: ../inc/host.inc:115
|
||||
msgid "Number of processors"
|
||||
msgstr ""
|
||||
msgstr "Число процессоров"
|
||||
|
||||
#: ../inc/host.inc:117
|
||||
msgid "Coprocessors"
|
||||
msgstr ""
|
||||
msgstr "Сопроцессоры"
|
||||
|
||||
#: ../inc/host.inc:119 ../inc/host.inc:627
|
||||
msgid "Operating System"
|
||||
msgstr ""
|
||||
msgstr "Операционная система"
|
||||
|
||||
#: ../inc/host.inc:122
|
||||
msgid "BOINC client version"
|
||||
msgstr ""
|
||||
msgstr "Версия клиента BOINC"
|
||||
|
||||
#: ../inc/host.inc:126
|
||||
msgid "Memory"
|
||||
msgstr ""
|
||||
msgstr "Память"
|
||||
|
||||
#: ../inc/host.inc:126 ../inc/host.inc:134
|
||||
msgid "%1 MB"
|
||||
msgstr ""
|
||||
msgstr "%1 Мб"
|
||||
|
||||
#: ../inc/host.inc:129
|
||||
msgid "Cache"
|
||||
msgstr ""
|
||||
msgstr "Кэш"
|
||||
|
||||
#: ../inc/host.inc:129
|
||||
msgid "%1 KB"
|
||||
msgstr ""
|
||||
msgstr "%1 Кб"
|
||||
|
||||
#: ../inc/host.inc:134
|
||||
#, fuzzy
|
||||
msgid "Swap space"
|
||||
msgstr ""
|
||||
msgstr "Виртуальная память"
|
||||
|
||||
#: ../inc/host.inc:137
|
||||
msgid "Total disk space"
|
||||
msgstr ""
|
||||
msgstr "Полное дисковое пространство"
|
||||
|
||||
#: ../inc/host.inc:137 ../inc/host.inc:140
|
||||
msgid "%1 GB"
|
||||
msgstr ""
|
||||
msgstr "%1 Гб"
|
||||
|
||||
#: ../inc/host.inc:140
|
||||
msgid "Free Disk Space"
|
||||
msgstr ""
|
||||
msgstr "Свободное дисковое пространство"
|
||||
|
||||
#: ../inc/host.inc:144
|
||||
#, fuzzy
|
||||
msgid "Measured floating point speed"
|
||||
msgstr ""
|
||||
msgstr "Измеренная скорость вычислений с плавающей запятой"
|
||||
|
||||
#: ../inc/host.inc:144 ../inc/host.inc:147
|
||||
#, fuzzy
|
||||
msgid "%1 million ops/sec"
|
||||
msgstr ""
|
||||
msgstr "%1 млн операций/с"
|
||||
|
||||
#: ../inc/host.inc:147
|
||||
#, fuzzy
|
||||
msgid "Measured integer speed"
|
||||
msgstr ""
|
||||
msgstr "Измеренная скорость целочисленных вычислений"
|
||||
|
||||
#: ../inc/host.inc:151 ../inc/host.inc:153
|
||||
#, fuzzy
|
||||
msgid "Average upload rate"
|
||||
msgstr ""
|
||||
msgstr "Средняя скорость отправки данных"
|
||||
|
||||
#: ../inc/host.inc:151 ../inc/host.inc:158
|
||||
msgid "%1 KB/sec"
|
||||
msgstr ""
|
||||
msgstr "%1 Кб/с"
|
||||
|
||||
#: ../inc/host.inc:153 ../inc/host.inc:160 ../inc/result.inc:145
|
||||
#: ../inc/result.inc:155 ../inc/result.inc:173 ../inc/result.inc:205
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
msgstr "Неизвестно"
|
||||
|
||||
#: ../inc/host.inc:158 ../inc/host.inc:160
|
||||
#, fuzzy
|
||||
msgid "Average download rate"
|
||||
msgstr ""
|
||||
msgstr "Средняя скорость загрузки данных"
|
||||
|
||||
#: ../inc/host.inc:163
|
||||
#, fuzzy
|
||||
msgid "Average turnaround time"
|
||||
msgstr ""
|
||||
msgstr "Среднее оборотное время"
|
||||
|
||||
#: ../inc/host.inc:163 ../inc/prefs.inc:841 ../inc/prefs.inc:842
|
||||
msgid "%1 days"
|
||||
msgstr ""
|
||||
msgstr "%1 дней"
|
||||
|
||||
#: ../inc/host.inc:165
|
||||
#, fuzzy
|
||||
msgid "Maximum daily WU quota per CPU"
|
||||
msgstr ""
|
||||
msgstr "Максимальная дневная квота заданий на один ЦП"
|
||||
|
||||
#: ../inc/host.inc:165
|
||||
msgid "%1/day"
|
||||
msgstr ""
|
||||
msgstr "%1/день"
|
||||
|
||||
#: ../inc/host.inc:174 ../inc/host.inc:302 ../inc/user.inc:149
|
||||
msgid "Tasks"
|
||||
msgstr "Задания"
|
||||
|
||||
#: ../inc/host.inc:178
|
||||
#, fuzzy
|
||||
msgid "Number of times client has contacted server"
|
||||
msgstr ""
|
||||
msgstr "Количество контактов клиента с сервером"
|
||||
|
||||
#: ../inc/host.inc:179
|
||||
#, fuzzy
|
||||
msgid "Last time contacted server"
|
||||
msgstr ""
|
||||
msgstr "Время последнего контакта с сервером"
|
||||
|
||||
#: ../inc/host.inc:180
|
||||
#, php-format
|
||||
#, fuzzy
|
||||
msgid "% of time BOINC client is running"
|
||||
msgstr ""
|
||||
msgstr "% времени работы клиента BOINC"
|
||||
|
||||
#: ../inc/host.inc:182
|
||||
#, php-format
|
||||
#, fuzzy
|
||||
msgid "While BOINC running, % of time host has an Internet connection"
|
||||
msgstr ""
|
||||
msgstr "% времени подключения компьютера к Интернет за время работы BOINC"
|
||||
|
||||
#: ../inc/host.inc:184
|
||||
#, php-format
|
||||
#, fuzzy
|
||||
msgid "While BOINC running, % of time work is allowed"
|
||||
msgstr ""
|
||||
msgstr "% времени разрешенной работы за время работы BOINC"
|
||||
|
||||
#: ../inc/host.inc:186
|
||||
msgid "Average CPU efficiency"
|
||||
msgstr ""
|
||||
msgstr "Средняя эффективность ЦП"
|
||||
|
||||
#: ../inc/host.inc:189
|
||||
msgid "Task duration correction factor"
|
||||
msgstr ""
|
||||
msgstr "Фактор исправления продолжительности выполнения задачи"
|
||||
|
||||
#: ../inc/host.inc:191 ../inc/host.inc:614
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
msgstr "Размещение"
|
||||
|
||||
#: ../inc/host.inc:193
|
||||
msgid "Delete this computer"
|
||||
msgstr ""
|
||||
msgstr "Удалить этот компьютер"
|
||||
|
||||
#: ../inc/host.inc:197
|
||||
#, fuzzy
|
||||
msgid "Click to"
|
||||
msgstr ""
|
||||
msgstr "Нажать чтобы"
|
||||
|
||||
#: ../inc/host.inc:197
|
||||
#, fuzzy
|
||||
msgid "Merge this computer"
|
||||
msgstr ""
|
||||
msgstr "Объединить этот компьютер"
|
||||
|
||||
#: ../inc/host.inc:211
|
||||
msgid "Computer info"
|
||||
msgstr ""
|
||||
msgstr "Информация о компьютере"
|
||||
|
||||
#: ../inc/host.inc:212 ../inc/host.inc:616 ../inc/team.inc:344
|
||||
#: ../user/top_users.php:46
|
||||
|
@ -369,7 +385,7 @@ msgstr "Позиция"
|
|||
|
||||
#: ../inc/host.inc:216 ../inc/host.inc:619
|
||||
msgid "Avg. credit"
|
||||
msgstr ""
|
||||
msgstr "В среднем за день"
|
||||
|
||||
#: ../inc/host.inc:221 ../inc/team.inc:95 ../inc/team.inc:208
|
||||
#: ../inc/team.inc:217 ../inc/team.inc:219 ../inc/team.inc:350
|
||||
|
@ -382,101 +398,107 @@ msgstr "В среднем за день"
|
|||
|
||||
#: ../inc/host.inc:226
|
||||
msgid "BOINC version"
|
||||
msgstr ""
|
||||
msgstr "Версия BOINC"
|
||||
|
||||
#: ../inc/host.inc:227 ../inc/host.inc:624
|
||||
msgid "CPU"
|
||||
msgstr ""
|
||||
msgstr "Тип ЦП"
|
||||
|
||||
#: ../inc/host.inc:228 ../inc/host.inc:625
|
||||
#, fuzzy
|
||||
msgid "GPU"
|
||||
msgstr ""
|
||||
msgstr "Тип ГП"
|
||||
|
||||
#: ../inc/host.inc:229
|
||||
msgid "Operating system"
|
||||
msgstr ""
|
||||
msgstr "Операционная система"
|
||||
|
||||
#: ../inc/host.inc:281
|
||||
#, fuzzy
|
||||
msgid "(%1 processors)"
|
||||
msgstr ""
|
||||
msgstr "(%1 процессоров)"
|
||||
|
||||
#: ../inc/host.inc:301
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
msgstr "Подробности"
|
||||
|
||||
#: ../inc/host.inc:306
|
||||
#, fuzzy
|
||||
msgid "Cross-project stats:"
|
||||
msgstr "Объединенная статистика по проектам"
|
||||
msgstr "Объединенная статистика по проектам:"
|
||||
|
||||
#: ../inc/host.inc:460
|
||||
#, fuzzy
|
||||
msgid "Host %1 has overlapping lifetime:"
|
||||
msgstr ""
|
||||
msgstr "У компьютера %1 наложение времени жизни:"
|
||||
|
||||
#: ../inc/host.inc:467
|
||||
#, fuzzy
|
||||
msgid "Host %1 has an incompatible OS:"
|
||||
msgstr ""
|
||||
msgstr "У компьютера %1 несовместимая ОС:"
|
||||
|
||||
#: ../inc/host.inc:473
|
||||
#, fuzzy
|
||||
msgid "Host %1 has an incompatible CPU:"
|
||||
msgstr ""
|
||||
msgstr "У компьютера %1 несовместимый ЦП:"
|
||||
|
||||
#: ../inc/host.inc:540
|
||||
msgid "same host"
|
||||
msgstr ""
|
||||
msgstr "тот же самый компьютер"
|
||||
|
||||
#: ../inc/host.inc:543
|
||||
#, fuzzy
|
||||
msgid "Can't merge host %1 into %2 - they're incompatible"
|
||||
msgstr ""
|
||||
msgstr "Невозможно объединить компьютеры %1 и %2 - они несовместимы"
|
||||
|
||||
#: ../inc/host.inc:546
|
||||
#, fuzzy
|
||||
msgid "Merging host %1 into host %2"
|
||||
msgstr ""
|
||||
msgstr "Слияние компьютера %1 в %2"
|
||||
|
||||
#: ../inc/host.inc:563
|
||||
#, fuzzy
|
||||
msgid "Couldn't update credit of new computer"
|
||||
msgstr ""
|
||||
msgstr "Невозможно обновить очки нового компьютера"
|
||||
|
||||
#: ../inc/host.inc:567
|
||||
msgid "Couldn't update results"
|
||||
msgstr ""
|
||||
msgstr "Невозможно обновить результаты"
|
||||
|
||||
#: ../inc/host.inc:572
|
||||
msgid "Couldn't retire old computer"
|
||||
msgstr ""
|
||||
msgstr "Невозможно удалить старый компьютер"
|
||||
|
||||
#: ../inc/host.inc:574
|
||||
msgid "Retired old computer %1"
|
||||
msgstr ""
|
||||
msgstr "Старый компьютер %1 удален"
|
||||
|
||||
#: ../inc/host.inc:597 ../inc/host.inc:600
|
||||
msgid "Show:"
|
||||
msgstr ""
|
||||
msgstr "Показать:"
|
||||
|
||||
#: ../inc/host.inc:597 ../inc/host.inc:600
|
||||
#, fuzzy
|
||||
msgid "All computers"
|
||||
msgstr "Лучшие компьютеры"
|
||||
msgstr "Все компьютеры"
|
||||
|
||||
#: ../inc/host.inc:597 ../inc/host.inc:600
|
||||
msgid "Only computers active in past 30 days"
|
||||
msgstr ""
|
||||
msgstr "Только компьютеры, активные за последние 30 дней"
|
||||
|
||||
#: ../inc/host.inc:609 ../inc/result.inc:384
|
||||
msgid "Computer ID"
|
||||
msgstr ""
|
||||
msgstr "ID компьютера"
|
||||
|
||||
#: ../inc/host.inc:622
|
||||
msgid "BOINC<br>version"
|
||||
msgstr ""
|
||||
msgstr "Версия<br>BOINC"
|
||||
|
||||
#: ../inc/host.inc:629
|
||||
msgid "Last contact"
|
||||
msgstr ""
|
||||
msgstr "Последний контакт"
|
||||
|
||||
#: ../inc/host.inc:678
|
||||
msgid "Merge computers by name"
|
||||
msgstr ""
|
||||
msgstr "Объединить компьютеры по имени"
|
||||
|
||||
#: ../inc/news.inc:40
|
||||
msgid "Comment"
|
||||
|
@ -553,13 +575,15 @@ msgstr ""
|
|||
|
||||
#: ../inc/prefs.inc:68
|
||||
msgid "Processor usage"
|
||||
msgstr ""
|
||||
msgstr "Использование процессора"
|
||||
|
||||
#: ../inc/prefs.inc:71
|
||||
msgid ""
|
||||
"Suspend work while computer is on battery power? %1(matters only for "
|
||||
"portable computers)%2"
|
||||
msgstr ""
|
||||
"Останавливать обработку, пока компьютер питается от аккумуляторов? "
|
||||
"%1(применимо только для портативных компьютеров)%2"
|
||||
|
||||
#: ../inc/prefs.inc:77
|
||||
msgid "Suspend work while computer is in use?"
|
||||
|
|
|
@ -104,7 +104,7 @@ public:
|
|||
|
||||
class PROJECT {
|
||||
public:
|
||||
std::string master_url;
|
||||
char master_url[256];
|
||||
double resource_share;
|
||||
std::string project_name;
|
||||
std::string user_name;
|
||||
|
@ -221,11 +221,11 @@ public:
|
|||
|
||||
class RESULT {
|
||||
public:
|
||||
std::string name;
|
||||
std::string wu_name;
|
||||
std::string project_url;
|
||||
char name[256];
|
||||
char wu_name[256];
|
||||
char project_url[256];
|
||||
int version_num;
|
||||
std::string plan_class;
|
||||
char plan_class[64];
|
||||
double report_deadline;
|
||||
double received_time;
|
||||
bool ready_to_report;
|
||||
|
@ -236,7 +236,7 @@ public:
|
|||
int scheduler_state;
|
||||
int exit_status;
|
||||
int signal;
|
||||
std::string stderr_out;
|
||||
//std::string stderr_out;
|
||||
bool suspended_via_gui;
|
||||
bool project_suspended_via_gui;
|
||||
bool coproc_missing;
|
||||
|
@ -260,10 +260,10 @@ public:
|
|||
bool too_large;
|
||||
bool needs_shmem;
|
||||
bool edf_scheduled;
|
||||
std::string graphics_exec_path;
|
||||
std::string slot_path;
|
||||
char graphics_exec_path[512];
|
||||
char slot_path[512];
|
||||
// only present if graphics_exec_path is
|
||||
std::string resources;
|
||||
char resources[256];
|
||||
|
||||
APP* app;
|
||||
WORKUNIT* wup;
|
||||
|
@ -368,13 +368,13 @@ public:
|
|||
CC_STATE();
|
||||
~CC_STATE();
|
||||
|
||||
PROJECT* lookup_project(std::string&);
|
||||
PROJECT* lookup_project(char* url);
|
||||
APP* lookup_app(PROJECT*, std::string&);
|
||||
APP_VERSION* lookup_app_version(PROJECT*, APP*, int, std::string&);
|
||||
APP_VERSION* lookup_app_version(PROJECT*, APP*, int, char* plan_class);
|
||||
APP_VERSION* lookup_app_version_old(PROJECT*, APP*, int);
|
||||
WORKUNIT* lookup_wu(PROJECT*, std::string&);
|
||||
RESULT* lookup_result(PROJECT*, std::string&);
|
||||
RESULT* lookup_result(std::string&, std::string&);
|
||||
WORKUNIT* lookup_wu(PROJECT*, char* name);
|
||||
RESULT* lookup_result(PROJECT*, char* name);
|
||||
RESULT* lookup_result(char* url, char* name);
|
||||
|
||||
void print();
|
||||
void clear();
|
||||
|
|
|
@ -222,7 +222,7 @@ int PROJECT::parse(MIOFILE& in) {
|
|||
|
||||
while (in.fgets(buf, 256)) {
|
||||
if (match_tag(buf, "</project>")) return 0;
|
||||
if (parse_str(buf, "<master_url>", master_url)) continue;
|
||||
if (parse_str(buf, "<master_url>", master_url, sizeof(master_url))) continue;
|
||||
if (parse_double(buf, "<resource_share>", resource_share)) continue;
|
||||
if (parse_str(buf, "<project_name>", project_name)) continue;
|
||||
if (parse_str(buf, "<user_name>", user_name)) {
|
||||
|
@ -286,7 +286,7 @@ int PROJECT::parse(MIOFILE& in) {
|
|||
}
|
||||
|
||||
void PROJECT::clear() {
|
||||
master_url.clear();
|
||||
strcpy(master_url, "");
|
||||
resource_share = 0;
|
||||
project_name.clear();
|
||||
user_name.clear();
|
||||
|
@ -436,11 +436,11 @@ int RESULT::parse(MIOFILE& in) {
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
if (parse_str(buf, "<name>", name)) continue;
|
||||
if (parse_str(buf, "<wu_name>", wu_name)) continue;
|
||||
if (parse_str(buf, "<name>", name, sizeof(name))) continue;
|
||||
if (parse_str(buf, "<wu_name>", wu_name, sizeof(wu_name))) continue;
|
||||
if (parse_int(buf, "<version_num>", version_num)) continue;
|
||||
if (parse_str(buf, "<plan_class>", plan_class)) continue;
|
||||
if (parse_str(buf, "<project_url>", project_url)) continue;
|
||||
if (parse_str(buf, "<plan_class>", plan_class, sizeof(plan_class))) continue;
|
||||
if (parse_str(buf, "<project_url>", project_url, sizeof(project_url))) continue;
|
||||
if (parse_double(buf, "<report_deadline>", report_deadline)) continue;
|
||||
if (parse_double(buf, "<received_time>", received_time)) continue;
|
||||
if (parse_bool(buf, "ready_to_report", ready_to_report)) continue;
|
||||
|
@ -461,10 +461,12 @@ int RESULT::parse(MIOFILE& in) {
|
|||
if (parse_int(buf, "<exit_status>", exit_status)) continue;
|
||||
if (parse_int(buf, "<signal>", signal)) continue;
|
||||
if (parse_int(buf, "<active_task_state>", active_task_state)) continue;
|
||||
#if 0
|
||||
if (match_tag(buf, "<stderr_out>")) {
|
||||
copy_element_contents(in, "</stderr_out>", stderr_out);
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
if (parse_int(buf, "<app_version_num>", app_version_num)) continue;
|
||||
if (parse_int(buf, "<slot>", slot)) continue;
|
||||
if (parse_int(buf, "<pid>", pid)) continue;
|
||||
|
@ -478,21 +480,21 @@ int RESULT::parse(MIOFILE& in) {
|
|||
if (parse_bool(buf, "too_large", too_large)) continue;
|
||||
if (parse_bool(buf, "needs_shmem", needs_shmem)) continue;
|
||||
if (parse_bool(buf, "edf_scheduled", edf_scheduled)) continue;
|
||||
if (parse_str(buf, "graphics_exec_path", graphics_exec_path)) continue;
|
||||
if (parse_str(buf, "slot_path", slot_path)) continue;
|
||||
if (parse_str(buf, "resources", resources)) continue;
|
||||
if (parse_str(buf, "graphics_exec_path", graphics_exec_path, sizeof(graphics_exec_path))) continue;
|
||||
if (parse_str(buf, "slot_path", slot_path, sizeof(slot_path))) continue;
|
||||
if (parse_str(buf, "resources", resources, sizeof(resources))) continue;
|
||||
}
|
||||
return ERR_XML_PARSE;
|
||||
}
|
||||
|
||||
void RESULT::clear() {
|
||||
name.clear();
|
||||
wu_name.clear();
|
||||
strcpy(name, "");
|
||||
strcpy(wu_name, "");
|
||||
version_num = 0;
|
||||
plan_class.clear();
|
||||
project_url.clear();
|
||||
graphics_exec_path.clear();
|
||||
slot_path.clear();
|
||||
strcpy(plan_class, "");
|
||||
strcpy(project_url, "");
|
||||
strcpy(graphics_exec_path, "");
|
||||
strcpy(slot_path, "");
|
||||
report_deadline = 0;
|
||||
received_time = 0;
|
||||
ready_to_report = false;
|
||||
|
@ -503,7 +505,7 @@ void RESULT::clear() {
|
|||
scheduler_state = 0;
|
||||
exit_status = 0;
|
||||
signal = 0;
|
||||
stderr_out.clear();
|
||||
//stderr_out.clear();
|
||||
suspended_via_gui = false;
|
||||
project_suspended_via_gui = false;
|
||||
coproc_missing = false;
|
||||
|
@ -714,10 +716,10 @@ void CC_STATE::clear() {
|
|||
have_ati = false;
|
||||
}
|
||||
|
||||
PROJECT* CC_STATE::lookup_project(string& str) {
|
||||
PROJECT* CC_STATE::lookup_project(char* url) {
|
||||
unsigned int i;
|
||||
for (i=0; i<projects.size(); i++) {
|
||||
if (projects[i]->master_url == str) return projects[i];
|
||||
if (!strcmp(projects[i]->master_url, url)) return projects[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -732,7 +734,7 @@ APP* CC_STATE::lookup_app(PROJECT* project, string& str) {
|
|||
}
|
||||
|
||||
APP_VERSION* CC_STATE::lookup_app_version(
|
||||
PROJECT* project, APP* app, int version_num, string& plan_class
|
||||
PROJECT* project, APP* app, int version_num, char* plan_class
|
||||
) {
|
||||
unsigned int i;
|
||||
for (i=0; i<app_versions.size(); i++) {
|
||||
|
@ -758,29 +760,29 @@ APP_VERSION* CC_STATE::lookup_app_version_old(
|
|||
return 0;
|
||||
}
|
||||
|
||||
WORKUNIT* CC_STATE::lookup_wu(PROJECT* project, string& str) {
|
||||
WORKUNIT* CC_STATE::lookup_wu(PROJECT* project, char* name) {
|
||||
unsigned int i;
|
||||
for (i=0; i<wus.size(); i++) {
|
||||
if (wus[i]->project != project) continue;
|
||||
if (wus[i]->name == str) return wus[i];
|
||||
if (wus[i]->name == name) return wus[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
RESULT* CC_STATE::lookup_result(PROJECT* project, string& str) {
|
||||
RESULT* CC_STATE::lookup_result(PROJECT* project, char* name) {
|
||||
unsigned int i;
|
||||
for (i=0; i<results.size(); i++) {
|
||||
if (results[i]->project != project) continue;
|
||||
if (results[i]->name == str) return results[i];
|
||||
if (results[i]->name == name) return results[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
RESULT* CC_STATE::lookup_result(string& url, string& str) {
|
||||
RESULT* CC_STATE::lookup_result(char* url, char* name) {
|
||||
unsigned int i;
|
||||
for (i=0; i<results.size(); i++) {
|
||||
if (results[i]->project->master_url != url) continue;
|
||||
if (results[i]->name == str) return results[i];
|
||||
if (strcmp(results[i]->project->master_url, url)) continue;
|
||||
if (!strcmp(results[i]->name, name)) return results[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -1440,7 +1442,7 @@ int RPC_CLIENT::get_statistics(PROJECTS& p) {
|
|||
|
||||
while (rpc.fin.fgets(buf, 256)) {
|
||||
if (match_tag(buf, "</project_statistics>")) break;
|
||||
if (parse_str(buf, "<master_url>", p.projects.back()->master_url)) continue;
|
||||
if (parse_str(buf, "<master_url>", p.projects.back()->master_url, sizeof(project->master_url))) continue;
|
||||
if (match_tag(buf, "<daily_statistics>")) {
|
||||
DAILY_STATS ds;
|
||||
retval = ds.parse(rpc.fin);
|
||||
|
@ -1569,7 +1571,7 @@ int RPC_CLIENT::project_op(PROJECT& project, const char* op) {
|
|||
" <project_url>%s</project_url>\n"
|
||||
"</%s>\n",
|
||||
tag,
|
||||
project.master_url.c_str(),
|
||||
project.master_url,
|
||||
tag
|
||||
);
|
||||
retval = rpc.do_rpc(buf);
|
||||
|
@ -1885,8 +1887,8 @@ int RPC_CLIENT::result_op(RESULT& result, const char* op) {
|
|||
" <name>%s</name>\n"
|
||||
"</%s>\n",
|
||||
tag,
|
||||
result.project_url.c_str(),
|
||||
result.name.c_str(),
|
||||
result.project_url,
|
||||
result.name,
|
||||
tag
|
||||
);
|
||||
retval = rpc.do_rpc(buf);
|
||||
|
@ -2293,7 +2295,7 @@ int RPC_CLIENT::set_debts(vector<PROJECT> projects) {
|
|||
" <short_term_debt>%f</short_term_debt>\n"
|
||||
" <long_term_debt>%f</long_term_debt>\n"
|
||||
" </project>\n",
|
||||
p.master_url.c_str(),
|
||||
p.master_url,
|
||||
p.cpu_short_term_debt,
|
||||
p.cpu_long_term_debt
|
||||
);
|
||||
|
|
|
@ -59,7 +59,7 @@ void GUI_URL::print() {
|
|||
}
|
||||
|
||||
void PROJECT::print_disk_usage() {
|
||||
printf(" master URL: %s\n", master_url.c_str());
|
||||
printf(" master URL: %s\n", master_url);
|
||||
printf(" disk usage: %.2fMB\n", disk_usage/MEGA);
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,7 @@ void PROJECT::print() {
|
|||
unsigned int i;
|
||||
|
||||
printf(" name: %s\n", project_name.c_str());
|
||||
printf(" master URL: %s\n", master_url.c_str());
|
||||
printf(" master URL: %s\n", master_url);
|
||||
printf(" user_name: %s\n", user_name.c_str());
|
||||
printf(" team_name: %s\n", team_name.c_str());
|
||||
printf(" resource share: %f\n", resource_share);
|
||||
|
@ -111,9 +111,9 @@ void WORKUNIT::print() {
|
|||
}
|
||||
|
||||
void RESULT::print() {
|
||||
printf(" name: %s\n", name.c_str());
|
||||
printf(" WU name: %s\n", wu_name.c_str());
|
||||
printf(" project URL: %s\n", project_url.c_str());
|
||||
printf(" name: %s\n", name);
|
||||
printf(" WU name: %s\n", wu_name);
|
||||
printf(" project URL: %s\n", project_url);
|
||||
time_t foo = (time_t)report_deadline;
|
||||
printf(" report deadline: %s", ctime(&foo));
|
||||
printf(" ready to report: %s\n", ready_to_report?"yes":"no");
|
||||
|
@ -125,7 +125,7 @@ void RESULT::print() {
|
|||
printf(" signal: %d\n", signal);
|
||||
printf(" suspended via GUI: %s\n", suspended_via_gui?"yes":"no");
|
||||
printf(" active_task_state: %d\n", active_task_state);
|
||||
printf(" stderr_out: %s\n", stderr_out.c_str());
|
||||
//printf(" stderr_out: %s\n", stderr_out.c_str());
|
||||
printf(" app version num: %d\n", app_version_num);
|
||||
printf(" checkpoint CPU time: %f\n", checkpoint_cpu_time);
|
||||
printf(" current CPU time: %f\n", current_cpu_time);
|
||||
|
|
Loading…
Reference in New Issue