java/code
by Partha Aji
java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp | 20 ++++------
1 file changed, 8 insertions(+), 12 deletions(-)
New commits:
commit eb16cc52acc136b856718b85e1300ffaec1f4c0f
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Jun 16 17:49:25 2010 -0400
Made the duplicate compares page do confirm delete differently
diff --git a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
index 5c17997..1d7e75c 100644
--- a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
@@ -28,16 +28,11 @@
toggleElement(document.getElementById(linkId + 'Hide'));
}
- function handle_delete(chk_id, div_id, form) {
- var delete_chk_box = document.getElementById(chk_id);
- if (delete_chk_box.checked == true) {
- return form.submit();
- }
-
- var delete_chk_box_div = document.getElementById(div_id);
- if (delete_chk_box_div.style.display == 'none') {
- delete_chk_box_div.style.display = '';
- }
+ function handle_delete(div_del_id, div_confirm_id, form) {
+ var div_del = document.getElementById(div_del_id);
+ var div_confirm = document.getElementById(div_confirm_id);
+ div_del.style.display = 'none';
+ div_confirm.style.display = '';
return false;
}
@@ -105,8 +100,9 @@
</c:when>
<c:otherwise><td></c:otherwise>
</c:choose>
- <div style="display:none" id='div${current.value}'> <input type="checkbox" id="chk_id_${current.value}" name="chk${current.value}" value="${current.value}"/> - <bean:message key="Check to Confirm Delete"/></div>
- <input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}" onclick="return handle_delete('chk_id_${current.value}','div${current.value}', this.form);"/><br/>
+ <div style="display:none" id='div_confirm${current.value}'><input type="submit" name="btn${current.value}" value="${rhn:localize('ssm.delete.systems.confirmbutton')}"/></div>
+ <div id='div_del${current.value}'><input type="submit" name="delbtn${current.value}" value="${rhn:localize('Delete System Profile')}"
+ onclick="return handle_delete('div_del${current.value}','div_confirm${current.value}', this.form);"/></div>
</td>
</c:forEach>
</tr>
13 years, 11 months
Branch 'taskomatic' - 4 commits - java/code schema/spacewalk
by Tomas Lestach
java/code/src/com/redhat/rhn/taskomatic/InvalidJobLabelException.java | 4
java/code/src/com/redhat/rhn/taskomatic/TaskoBunch.java | 76 --
java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java | 65 +
java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml | 50 +
java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java | 365 ++++++++++
java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java | 140 ++-
java/code/src/com/redhat/rhn/taskomatic/core/RhnJobFactory.java | 12
java/code/src/com/redhat/rhn/taskomatic/task/RhnJob.java | 30
schema/spacewalk/common/tables/rhnTaskoSchedule.sql | 38 +
9 files changed, 656 insertions(+), 124 deletions(-)
New commits:
commit f0e92f8a609575e42211e089a2bba1e35fc89d5f
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Jun 16 19:25:57 2010 +0200
job creating changed
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
index 130dcc6..4b82d34 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
@@ -19,6 +19,7 @@ import org.hibernate.Hibernate;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
+import org.quartz.Trigger;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -55,14 +56,14 @@ public class TaskoSchedule implements Job {
}
public TaskoSchedule(Integer orgIdIn, TaskoBunch bunchIn,
- String jobLabelIn, Map dataIn, Date activeFromIn, Date activeTillIn) {
+ String jobLabelIn, Map dataIn, Trigger trigger) {
setOrgId(orgIdIn);
setBunch(bunchIn);
setJobLabel(jobLabelIn);
data = serializeMap(dataIn);
setActive(TASKO_SCHEDULE_ACTIVE);
- setActiveFrom(activeFromIn);
- setActiveTill(activeTillIn);
+ setActiveFrom(trigger.getStartTime());
+ setActiveTill(trigger.getEndTime());
}
static {
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
index 986f0c0..34a641f 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
@@ -16,6 +16,7 @@ package com.redhat.rhn.taskomatic;
import com.redhat.rhn.taskomatic.core.SchedulerKernel;
+import org.hibernate.HibernateException;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.SchedulerException;
@@ -50,20 +51,32 @@ public class TaskoXmlRpcHandler {
Date startTime, Date endTime, String cronExpression, Map params)
throws InvalidJobLabelException, NoSuchBunchTaskException, ParseException {
try {
+ TaskoBunch bunch = doBasicCheck(orgId, bunchName, jobLabel);
// create trigger
CronTrigger ct = new CronTrigger(jobLabel, orgId.toString(),
cronExpression);
- if (startTime != null) {
+ if (startTime == null) {
ct.setStartTime(startTime);
}
+ else {
+ ct.setStartTime(new Date());
+ }
if (endTime != null) {
ct.setEndTime(endTime);
}
+ // create schedule
+ TaskoSchedule schedule = null;
+ try {
+ schedule = new TaskoSchedule(orgId, bunch, jobLabel, params, ct);
+ TaskoFactory.save(schedule);
+ TaskoFactory.commitTransaction();
+ }
+ catch (HibernateException he) {
+ TaskoFactory.rollbackTransaction();
+ return null;
+ }
// create job
- JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params,
- startTime, endTime);
- // schedule job
- return SchedulerKernel.getScheduler().scheduleJob(jobDetail, ct);
+ return createJob(schedule, ct);
}
catch (SchedulerException e) {
return null;
@@ -77,45 +90,58 @@ public class TaskoXmlRpcHandler {
params);
}
- public int unscheduleBunch(Integer orgId, String jobLabel)
- throws NoSuchTaskoTriggerException {
+ private TaskoBunch doBasicCheck(Integer orgId, String bunchName,
+ String jobLabel)
+ throws NoSuchBunchTaskException, SchedulerException,
+ InvalidJobLabelException {
+ TaskoBunch bunch = checkBunchName(bunchName);
+ if (!checkUniqueName(jobLabel, orgId.toString())) {
+ throw new InvalidJobLabelException("jobLabel already in use");
+ }
+ return bunch;
+ }
+
+ public Integer unscheduleBunch(Integer orgId, String jobLabel) {
+ /*
try {
Trigger trigger = SchedulerKernel.getScheduler().getTrigger(
jobLabel, orgId.toString());
- if (false) {
- Trigger newTrigger = (Trigger) trigger.clone();
- newTrigger.setEndTime(new Date());
- SchedulerKernel.getScheduler().rescheduleJob(jobLabel, orgId.toString(),
- newTrigger);
- }
- else {
- SchedulerKernel.getScheduler().unscheduleJob(jobLabel, orgId.toString());
- TaskoSchedule schedule =
- TaskoFactory.lookupActiveScheduleByOrgAndLabel(orgId, jobLabel);
- Map map = schedule.getDataMap();
- schedule.unschedule();
-
- // TaskoFactory.save(schedule);
- TaskoFactory.commitTransaction();
- }
- return 1;
+ Trigger newTrigger = (Trigger) trigger.clone();
+ newTrigger.setEndTime(new Date());
+ SchedulerKernel.getScheduler().rescheduleJob(jobLabel, orgId.toString(),
+ newTrigger);
}
catch (SchedulerException e) {
- throw new NoSuchTaskoTriggerException();
+ throw new NoSuchTaskoTriggerException();
}
+ */
+ TaskoSchedule schedule =
+ TaskoFactory.lookupActiveScheduleByOrgAndLabel(orgId, jobLabel);
+ schedule.unschedule();
+ TaskoFactory.commitTransaction();
+ return destroyJob(schedule);
}
public Date scheduleSingleBunchRun(Integer orgId, String bunchName, String jobLabel,
Map params, Date start)
throws InvalidJobLabelException, NoSuchBunchTaskException {
try {
+ TaskoBunch bunch = doBasicCheck(orgId, bunchName, jobLabel);
SimpleTrigger st = new SimpleTrigger(jobLabel, orgId.toString(), 1, 1);
st.setEndTime(new Date());
- JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params,
- start, st.getEndTime());
-
- // schedule job
- return SchedulerKernel.getScheduler().scheduleJob(jobDetail, st);
+ // create schedule
+ TaskoSchedule schedule = null;
+ try {
+ schedule = new TaskoSchedule(orgId, bunch, jobLabel, params, st);
+ TaskoFactory.save(schedule);
+ TaskoFactory.commitTransaction();
+ }
+ catch (HibernateException he) {
+ TaskoFactory.rollbackTransaction();
+ return null;
+ }
+ // create job
+ return createJob(schedule, st);
}
catch (SchedulerException e) {
return null;
@@ -128,29 +154,41 @@ public class TaskoXmlRpcHandler {
return scheduleSingleBunchRun(orgId, bunchName, jobLabel, params, new Date());
}
- private JobDetail createJob(String bunchName, Integer orgId,
- String jobLabel, Map params, Date start, Date end)
- throws SchedulerException, InvalidJobLabelException, NoSuchBunchTaskException {
- if (!checkUniqueName(jobLabel, orgId.toString())) {
- throw new InvalidJobLabelException("jobLabel already in use");
- }
- TaskoBunch bunch = TaskoFactory.lookupOrgBunchByName(bunchName);
- if (bunch == null) {
- throw new NoSuchBunchTaskException(bunchName);
- }
+ private Date createJob(TaskoSchedule schedule, Trigger trigger) {
// create job
- JobDetail jobDetail = new JobDetail(jobLabel, orgId.toString(),
+ JobDetail jobDetail = new JobDetail(schedule.getJobLabel(), schedule.getOrgId().toString(),
TaskoSchedule.class);
- TaskoSchedule schedule = new TaskoSchedule(orgId, bunch, jobLabel, params,
- start, end);
- TaskoFactory.save(schedule);
- TaskoFactory.commitTransaction();
// set job params
- jobDetail.getJobDataMap().putAll(params);
- jobDetail.getJobDataMap().put("org_id", orgId);
+ jobDetail.getJobDataMap().putAll(schedule.getDataMap());
jobDetail.getJobDataMap().put("schedule_id", schedule.getId());
- return jobDetail;
+ // schedule job
+ try {
+ return SchedulerKernel.getScheduler().scheduleJob(jobDetail, trigger);
+ }
+ catch (SchedulerException e) {
+ return null;
+ }
+ }
+
+ private Integer destroyJob(TaskoSchedule schedule) {
+ try {
+ SchedulerKernel.getScheduler().unscheduleJob(schedule.getJobLabel(),
+ schedule.getOrgId().toString());
+ return 1;
+ }
+ catch (SchedulerException e) {
+ return null;
+ }
+ }
+
+ private TaskoBunch checkBunchName(String bunchName)
+ throws NoSuchBunchTaskException {
+ TaskoBunch bunch = TaskoFactory.lookupOrgBunchByName(bunchName);
+ if (bunch == null) {
+ throw new NoSuchBunchTaskException(bunchName);
+ }
+ return bunch;
}
public int listBunchRuns(Integer orgId, String triggerName)
commit ad1cf3d60bc02275919066a73ec207bd2379fb49
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Jun 16 18:32:42 2010 +0200
move main task execution to TaskoSchedule
diff --git a/java/code/src/com/redhat/rhn/taskomatic/InvalidJobLabelException.java b/java/code/src/com/redhat/rhn/taskomatic/InvalidJobLabelException.java
index fdb21b9..b6dd32e 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/InvalidJobLabelException.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/InvalidJobLabelException.java
@@ -17,6 +17,10 @@ package com.redhat.rhn.taskomatic;
public class InvalidJobLabelException extends Exception {
+ public InvalidJobLabelException(String message) {
+ super(message);
+ }
+
/**
* Comment for <code>serialVersionUID</code>
*/
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoBunch.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoBunch.java
index 2615117..20872d9 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoBunch.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoBunch.java
@@ -14,26 +14,16 @@
*/
package com.redhat.rhn.taskomatic;
-import org.apache.log4j.Logger;
-import org.quartz.Job;
-import org.quartz.JobDataMap;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* TaskoBunch
* @version $Rev$
*/
-public class TaskoBunch implements Job {
+public class TaskoBunch {
- private static Logger log = Logger.getLogger(TaskoBunch.class);
- private static Map<String, Integer> tasks = new HashMap();
private Long id;
private String name;
private String description;
@@ -45,70 +35,6 @@ public class TaskoBunch implements Job {
private Date created;
private Date modified;
- static {
- for (TaskoTask task : TaskoFactory.listTasks()) {
- tasks.put(task.getName(), 0);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public void execute(JobExecutionContext context)
- throws JobExecutionException {
- JobDataMap dataMap = context.getJobDetail().getJobDataMap();
- Integer orgId = dataMap.getInt("org_id");
- String jobLabel = dataMap.getString("job_label");
- TaskoRun previousRun = null;
-
- log.info("Starting " + this.name + " (" + jobLabel + ") at " + new Date());
-
- for (TaskoTemplate template : this.templates) {
- if ((previousRun == null) ||
- (previousRun.getStatus() == template.getStartIf())) {
-
- while (isTaskRunning(template.getTask())) {
- log.info("Task " + template.getTask().getName() +
- " currently executing. Sleeping for 10 secs.");
- TaskoFactory.sleep(10000);
- }
- markTaskRunning(template.getTask());
- TaskoRun taskRun = new TaskoRun(orgId, template, jobLabel);
- taskRun.execute(context);
- unmarkTaskRunning(template.getTask());
- log.debug(template.getTask().getName() + " ... " + taskRun.getStatus());
- previousRun = taskRun;
- }
- else {
- log.info("Interrupting " + this.name + " (" + jobLabel + ")");
- break;
- }
- }
- TaskoFactory.commitTransaction();
-
- log.info("Finishing " + this.name + " (" + jobLabel + ") at " + new Date());
- }
-
- private boolean isTaskRunning(TaskoTask task) {
- return tasks.get(task.getName()) > 0;
- }
-
- private void markTaskRunning(TaskoTask task) {
- synchronized (getClass()) {
- int count = tasks.get(task.getName());
- count++;
- tasks.put(task.getName(), count);
- }
- }
-
- private void unmarkTaskRunning(TaskoTask task) {
- synchronized (getClass()) {
- int count = tasks.get(task.getName());
- count--;
- tasks.put(task.getName(), count);
- }
- }
-
/**
* @return Returns the id.
*/
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java
index 469621b..1758287 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java
@@ -23,6 +23,8 @@ import org.quartz.SchedulerException;
import org.quartz.Trigger;
import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -160,6 +162,56 @@ public class TaskoFactory extends HibernateFactory {
params.put("org_id", orgId);
params.put("job_label", jobLabel);
return (TaskoSchedule) singleton.lookupObjectByNamedQuery(
- "TaskoSchedule.findActiveScheduleByOrgAndLabel", params);
+ "TaskoSchedule.findActiveScheduleByOrgAndLabel", params);
+ }
+
+ public static TaskoSchedule lookupScheduleById(Long scheduleId) {
+ Map params = new HashMap();
+ params.put("schedule_id", scheduleId);
+ return (TaskoSchedule) singleton.lookupObjectByNamedQuery(
+ "TaskoSchedule.lookupById", params);
+ }
+
+ public static TaskoSchedule listSchedulesByOrgAndBunch(Integer orgId, TaskoBunch bunch) {
+ Map params = new HashMap();
+ params.put("org_id", orgId);
+ params.put("bunch_id", bunch.getId());
+ return (TaskoSchedule) singleton.listObjectsByNamedQuery(
+ "TaskoSchedule.listByOrgAndBunch", params);
+ }
+
+ public static TaskoSchedule listSchedulesByOrgAndLabel(Integer orgId, String jobLabel) {
+ Map params = new HashMap();
+ params.put("org_id", orgId);
+ params.put("job_label", jobLabel);
+ return (TaskoSchedule) singleton.listObjectsByNamedQuery(
+ "TaskoSchedule.listByOrgAndLabel", params);
+ }
+
+ public static Boolean isTaskParalelizable(TaskoTask task) {
+ Class taskClass;
+ try {
+ taskClass = Class.forName(task.getTaskClass());
+ Method isParallelizableMethod = taskClass.getMethod("isParallelizable", null);
+ return (Boolean) isParallelizableMethod.invoke(null, null);
+ }
+ catch (ClassNotFoundException e) {
+ return false;
+ }
+ catch (SecurityException e) {
+ return false;
+ }
+ catch (NoSuchMethodException e) {
+ return false;
+ }
+ catch (IllegalArgumentException e) {
+ return false;
+ }
+ catch (IllegalAccessException e) {
+ return false;
+ }
+ catch (InvocationTargetException e) {
+ return false;
+ }
}
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml
index 314bb1f..7ff114f 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml
@@ -31,8 +31,16 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
</class>
- <query name="TaskoSchedule.listByBunch">
- <![CDATA[FROM com.redhat.rhn.taskomatic.TaskoSchedule WHERE bunch.id = :bunch_id]]>
+ <query name="TaskoSchedule.lookupById">
+ <![CDATA[FROM com.redhat.rhn.taskomatic.TaskoSchedule WHERE id = :schedule_id]]>
+ </query>
+
+ <query name="TaskoSchedule.listByOrgAndLabel">
+ <![CDATA[FROM com.redhat.rhn.taskomatic.TaskoSchedule WHERE org_id = :org_id AND jobLabel = :job_label]]>
+ </query>
+
+ <query name="TaskoSchedule.listByOrgAndBunch">
+ <![CDATA[FROM com.redhat.rhn.taskomatic.TaskoSchedule WHERE orgId = :org_id AND bunch.id = :bunch_id]]>
</query>
<query name="TaskoSchedule.findActiveScheduleByOrgAndLabel">
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
index 51719de..130dcc6 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2008 Red Hat, Inc.
+ * Copyright (c) 2010 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
@@ -14,7 +14,11 @@
*/
package com.redhat.rhn.taskomatic;
+import org.apache.log4j.Logger;
import org.hibernate.Hibernate;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -25,12 +29,15 @@ import java.sql.Blob;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-public class TaskoSchedule {
- public static String TASKO_SCHEDULE_ACTIVE = "Y";
+public class TaskoSchedule implements Job {
+ private static final String TASKO_SCHEDULE_ACTIVE = "Y";
+ private static Logger log = Logger.getLogger(TaskoBunch.class);
+ private static Map<String, Integer> tasks = new HashMap<String, Integer>();
private Long id;
private String jobLabel;
@@ -40,7 +47,7 @@ public class TaskoSchedule {
private Date activeFrom;
private Date activeTill;
private byte[] data;
- private List<TaskoRun> runs = new ArrayList();
+ private List<TaskoRun> runs = new ArrayList<TaskoRun>();
private Date created;
private Date modified;
@@ -58,6 +65,68 @@ public class TaskoSchedule {
setActiveTill(activeTillIn);
}
+ static {
+ for (TaskoTask task : TaskoFactory.listTasks()) {
+ tasks.put(task.getName(), 0);
+ }
+ }
+
+ private boolean isTaskRunning(TaskoTask task) {
+ return tasks.get(task.getName()) > 0;
+ }
+
+ private void markTaskRunning(TaskoTask task) {
+ synchronized (getClass()) {
+ int count = tasks.get(task.getName());
+ count++;
+ tasks.put(task.getName(), count);
+ }
+ }
+
+ private void unmarkTaskRunning(TaskoTask task) {
+ synchronized (getClass()) {
+ int count = tasks.get(task.getName());
+ count--;
+ tasks.put(task.getName(), count);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void execute(JobExecutionContext context)
+ throws JobExecutionException {
+ TaskoRun previousRun = null;
+
+ log.info("Starting " + bunch.getName() + " (" + jobLabel + ") at " + new Date());
+
+ for (TaskoTemplate template : bunch.getTemplates()) {
+ if ((previousRun == null) ||
+ (previousRun.getStatus() == template.getStartIf())) {
+
+ if (!TaskoFactory.isTaskParalelizable(template.getTask())) {
+ while (isTaskRunning(template.getTask())) {
+ log.info("Task " + template.getTask().getName() +
+ " currently executing. Sleeping for 10 secs.");
+ TaskoFactory.sleep(10000);
+ }
+ }
+ markTaskRunning(template.getTask());
+ TaskoRun taskRun = new TaskoRun(this.orgId, template, this.jobLabel);
+ taskRun.execute(context);
+ unmarkTaskRunning(template.getTask());
+ log.debug(template.getTask().getName() + " ... " + taskRun.getStatus());
+ previousRun = taskRun;
+ }
+ else {
+ log.info("Interrupting " + bunch.getName() + " (" + jobLabel + ")");
+ break;
+ }
+ }
+ TaskoFactory.commitTransaction();
+
+ log.info("Finishing " + bunch.getName() + " (" + jobLabel + ") at " + new Date());
+ }
public void unschedule() {
setActiveTill(new Date());
@@ -104,23 +173,26 @@ public class TaskoSchedule {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
return toByteArrayImpl(fromImageBlob, baos);
- } catch (Exception e) {
+ }
+ catch (Exception e) {
+ // return null
}
return null;
}
private byte[] toByteArrayImpl(Blob fromImageBlob,
ByteArrayOutputStream baos) throws SQLException, IOException {
- byte buf[] = new byte[4000];
+ byte[] buf = new byte[4000];
int dataSize;
InputStream is = fromImageBlob.getBinaryStream();
try {
- while((dataSize = is.read(buf)) != -1) {
+ while ((dataSize = is.read(buf)) != -1) {
baos.write(buf, 0, dataSize);
}
- } finally {
- if(is != null) {
+ }
+ finally {
+ if (is != null) {
is.close();
}
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
index 80c1205..986f0c0 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
@@ -60,7 +60,8 @@ public class TaskoXmlRpcHandler {
ct.setEndTime(endTime);
}
// create job
- JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params, startTime, endTime);
+ JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params,
+ startTime, endTime);
// schedule job
return SchedulerKernel.getScheduler().scheduleJob(jobDetail, ct);
}
@@ -84,11 +85,13 @@ public class TaskoXmlRpcHandler {
if (false) {
Trigger newTrigger = (Trigger) trigger.clone();
newTrigger.setEndTime(new Date());
- SchedulerKernel.getScheduler().rescheduleJob(jobLabel, orgId.toString(), newTrigger);
+ SchedulerKernel.getScheduler().rescheduleJob(jobLabel, orgId.toString(),
+ newTrigger);
}
else {
SchedulerKernel.getScheduler().unscheduleJob(jobLabel, orgId.toString());
- TaskoSchedule schedule = TaskoFactory.lookupActiveScheduleByOrgAndLabel(orgId, jobLabel);
+ TaskoSchedule schedule =
+ TaskoFactory.lookupActiveScheduleByOrgAndLabel(orgId, jobLabel);
Map map = schedule.getDataMap();
schedule.unschedule();
@@ -129,7 +132,7 @@ public class TaskoXmlRpcHandler {
String jobLabel, Map params, Date start, Date end)
throws SchedulerException, InvalidJobLabelException, NoSuchBunchTaskException {
if (!checkUniqueName(jobLabel, orgId.toString())) {
- throw new InvalidJobLabelException();
+ throw new InvalidJobLabelException("jobLabel already in use");
}
TaskoBunch bunch = TaskoFactory.lookupOrgBunchByName(bunchName);
if (bunch == null) {
@@ -137,28 +140,23 @@ public class TaskoXmlRpcHandler {
}
// create job
JobDetail jobDetail = new JobDetail(jobLabel, orgId.toString(),
- TaskoBunch.class);
- // set job params
- jobDetail.getJobDataMap().putAll(params);
- jobDetail.getJobDataMap().put("org_id", orgId);
- jobDetail.getJobDataMap().put("bunch_name", bunchName);
- jobDetail.getJobDataMap().put("job_label", jobLabel);
+ TaskoSchedule.class);
TaskoSchedule schedule = new TaskoSchedule(orgId, bunch, jobLabel, params,
start, end);
TaskoFactory.save(schedule);
TaskoFactory.commitTransaction();
+ // set job params
+ jobDetail.getJobDataMap().putAll(params);
+ jobDetail.getJobDataMap().put("org_id", orgId);
+ jobDetail.getJobDataMap().put("schedule_id", schedule.getId());
+
return jobDetail;
}
public int listBunchRuns(Integer orgId, String triggerName)
- throws NoSuchTaskoTriggerException {
- try {
- return SchedulerKernel.getScheduler().unscheduleJob(triggerName,
- orgId.toString()) ? 1 : 0;
- }
- catch (SchedulerException e) {
- throw new NoSuchTaskoTriggerException();
- }
+ throws SchedulerException {
+ return SchedulerKernel.getScheduler().unscheduleJob(triggerName,
+ orgId.toString()) ? 1 : 0;
}
public int clearRunHistory(Integer orgId, Date limitTime) {
diff --git a/java/code/src/com/redhat/rhn/taskomatic/core/RhnJobFactory.java b/java/code/src/com/redhat/rhn/taskomatic/core/RhnJobFactory.java
index 4406c5d..4886aae 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/core/RhnJobFactory.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/core/RhnJobFactory.java
@@ -15,8 +15,8 @@
package com.redhat.rhn.taskomatic.core;
import com.redhat.rhn.common.hibernate.HibernateRuntimeException;
-import com.redhat.rhn.taskomatic.TaskoBunch;
import com.redhat.rhn.taskomatic.TaskoFactory;
+import com.redhat.rhn.taskomatic.TaskoSchedule;
import org.quartz.Job;
import org.quartz.SchedulerException;
@@ -35,16 +35,16 @@ public class RhnJobFactory implements JobFactory {
* {@inheritDoc}
*/
public synchronized Job newJob(TriggerFiredBundle trigger) throws SchedulerException {
- TaskoBunch bunch = null;
- String bunchName = trigger.getJobDetail().getJobDataMap().getString("bunch_name");
+ TaskoSchedule schedule = null;
+ Long scheduleId = trigger.getJobDetail().getJobDataMap().getLong("schedule_id");
try {
- bunch = TaskoFactory.lookupOrgBunchByName(bunchName);
+ schedule = TaskoFactory.lookupScheduleById(scheduleId);
}
catch (HibernateRuntimeException re) {
- throw new SchedulerException("No such bunch task " + bunchName);
+ throw new SchedulerException("No such schedule with id " + scheduleId);
}
- return bunch;
+ return schedule;
}
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/RhnJob.java b/java/code/src/com/redhat/rhn/taskomatic/task/RhnJob.java
new file mode 100644
index 0000000..9d39292
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/RhnJob.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2010 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.taskomatic.task;
+
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+
+public abstract class RhnJob implements Job {
+
+ public static boolean isParallelizable() {
+ return false;
+ }
+
+ public abstract void execute(JobExecutionContext context)
+ throws JobExecutionException;
+}
commit 01d1dd677e3ebe1966053aae55d9f2b3860667b2
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Jun 16 15:52:30 2010 +0200
changing JobDataMap to a simple Map to store to DB
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
index 62b2a05..51719de 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
@@ -15,7 +15,6 @@
package com.redhat.rhn.taskomatic;
import org.hibernate.Hibernate;
-import org.quartz.JobDataMap;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -27,6 +26,7 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
public class TaskoSchedule {
@@ -48,11 +48,11 @@ public class TaskoSchedule {
}
public TaskoSchedule(Integer orgIdIn, TaskoBunch bunchIn,
- String jobLabelIn, JobDataMap dataIn, Date activeFromIn, Date activeTillIn) {
+ String jobLabelIn, Map dataIn, Date activeFromIn, Date activeTillIn) {
setOrgId(orgIdIn);
setBunch(bunchIn);
setJobLabel(jobLabelIn);
- data = serializeDataMap(dataIn);
+ data = serializeMap(dataIn);
setActive(TASKO_SCHEDULE_ACTIVE);
setActiveFrom(activeFromIn);
setActiveTill(activeTillIn);
@@ -64,7 +64,7 @@ public class TaskoSchedule {
setActive(null);
}
- private byte[] serializeDataMap(JobDataMap dataMap) {
+ private byte[] serializeMap(Map dataMap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
if (null != dataMap) {
ObjectOutputStream out;
@@ -80,7 +80,7 @@ public class TaskoSchedule {
return baos.toByteArray();
}
- private JobDataMap getDataMapFromBlob(Blob blob) {
+ private Map getDataMapFromBlob(Blob blob) {
Object obj = null;
try {
@@ -97,7 +97,7 @@ public class TaskoSchedule {
catch (Exception e) {
// return null;
}
- return (JobDataMap) obj;
+ return (Map) obj;
}
private byte[] toByteArray(Blob fromImageBlob) {
@@ -127,11 +127,11 @@ public class TaskoSchedule {
return baos.toByteArray();
}
- public void setDataMap(JobDataMap dataMap) {
- data = serializeDataMap(dataMap);
+ public void setDataMap(Map dataMap) {
+ data = serializeMap(dataMap);
}
- public JobDataMap getDataMap() {
+ public Map getDataMap() {
return getDataMapFromBlob(getData());
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
index b6b3d63..80c1205 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
@@ -17,7 +17,6 @@ package com.redhat.rhn.taskomatic;
import com.redhat.rhn.taskomatic.core.SchedulerKernel;
import org.quartz.CronTrigger;
-import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
@@ -90,7 +89,7 @@ public class TaskoXmlRpcHandler {
else {
SchedulerKernel.getScheduler().unscheduleJob(jobLabel, orgId.toString());
TaskoSchedule schedule = TaskoFactory.lookupActiveScheduleByOrgAndLabel(orgId, jobLabel);
- JobDataMap map = schedule.getDataMap();
+ Map map = schedule.getDataMap();
schedule.unschedule();
// TaskoFactory.save(schedule);
@@ -144,7 +143,7 @@ public class TaskoXmlRpcHandler {
jobDetail.getJobDataMap().put("org_id", orgId);
jobDetail.getJobDataMap().put("bunch_name", bunchName);
jobDetail.getJobDataMap().put("job_label", jobLabel);
- TaskoSchedule schedule = new TaskoSchedule(orgId, bunch, jobLabel, jobDetail.getJobDataMap(),
+ TaskoSchedule schedule = new TaskoSchedule(orgId, bunch, jobLabel, params,
start, end);
TaskoFactory.save(schedule);
TaskoFactory.commitTransaction();
commit cb08970779b0db078b5633bae5250d245ac2f7a1
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Jun 16 14:47:44 2010 +0200
introducing TaskoSchedule for bunch history
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java
index 6a62706..469621b 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoFactory.java
@@ -77,6 +77,10 @@ public class TaskoFactory extends HibernateFactory {
singleton.saveObject(taskoTemplate);
}
+ public static void save(TaskoSchedule taskoSchedule) {
+ singleton.saveObject(taskoSchedule);
+ }
+
public static void sleep(long millis) {
try {
Thread.sleep(millis);
@@ -149,4 +153,13 @@ public class TaskoFactory extends HibernateFactory {
}
return false;
}
+
+ public static TaskoSchedule lookupActiveScheduleByOrgAndLabel(Integer orgId,
+ String jobLabel) {
+ Map params = new HashMap();
+ params.put("org_id", orgId);
+ params.put("job_label", jobLabel);
+ return (TaskoSchedule) singleton.lookupObjectByNamedQuery(
+ "TaskoSchedule.findActiveScheduleByOrgAndLabel", params);
+ }
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml
new file mode 100644
index 0000000..314bb1f
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.hbm.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping>
+ <class name="com.redhat.rhn.taskomatic.TaskoSchedule"
+ table="rhnTaskoSchedule">
+
+ <id name="id" type="long" column="id">
+ <meta attribute="scope-set">protected</meta>
+ <generator class="sequence">
+ <param name="sequence">RHN_TASKO_SCHEDULE_ID_SEQ</param>
+ </generator>
+ </id>
+
+ <property name="jobLabel" type="string" column="job_label"/>
+ <many-to-one
+ name="bunch"
+ class="com.redhat.rhn.taskomatic.TaskoBunch"
+ column="bunch_id"/>
+ <property name="orgId" type="integer" column="org_id"/>
+ <property name="active" type="string" column="active"/>
+ <property name="activeFrom" type="date" column="active_from"/>
+ <property name="activeTill" type="date" column="active_till"/>
+ <property name="data" type="blob" column="data"/>
+
+ <property name="created" column="created" type="timestamp"
+ insert="false" update="false"/>
+ <property name="modified" column="modified" type="timestamp"
+ insert="false" update="false"/>
+
+ </class>
+
+ <query name="TaskoSchedule.listByBunch">
+ <![CDATA[FROM com.redhat.rhn.taskomatic.TaskoSchedule WHERE bunch.id = :bunch_id]]>
+ </query>
+
+ <query name="TaskoSchedule.findActiveScheduleByOrgAndLabel">
+ <![CDATA[FROM com.redhat.rhn.taskomatic.TaskoSchedule WHERE orgId = :org_id AND active is not null AND jobLabel = :job_label]]>
+ </query>
+
+</hibernate-mapping>
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
new file mode 100644
index 0000000..62b2a05
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoSchedule.java
@@ -0,0 +1,292 @@
+/**
+ * Copyright (c) 2008 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.taskomatic;
+
+import org.hibernate.Hibernate;
+import org.quartz.JobDataMap;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.sql.Blob;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+public class TaskoSchedule {
+ public static String TASKO_SCHEDULE_ACTIVE = "Y";
+
+ private Long id;
+ private String jobLabel;
+ private TaskoBunch bunch;
+ private Integer orgId;
+ private String active;
+ private Date activeFrom;
+ private Date activeTill;
+ private byte[] data;
+ private List<TaskoRun> runs = new ArrayList();
+ private Date created;
+ private Date modified;
+
+ public TaskoSchedule() {
+ }
+
+ public TaskoSchedule(Integer orgIdIn, TaskoBunch bunchIn,
+ String jobLabelIn, JobDataMap dataIn, Date activeFromIn, Date activeTillIn) {
+ setOrgId(orgIdIn);
+ setBunch(bunchIn);
+ setJobLabel(jobLabelIn);
+ data = serializeDataMap(dataIn);
+ setActive(TASKO_SCHEDULE_ACTIVE);
+ setActiveFrom(activeFromIn);
+ setActiveTill(activeTillIn);
+ }
+
+
+ public void unschedule() {
+ setActiveTill(new Date());
+ setActive(null);
+ }
+
+ private byte[] serializeDataMap(JobDataMap dataMap) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ if (null != dataMap) {
+ ObjectOutputStream out;
+ try {
+ out = new ObjectOutputStream(baos);
+ out.writeObject(dataMap);
+ out.flush();
+ }
+ catch (IOException e) {
+ return null;
+ }
+ }
+ return baos.toByteArray();
+ }
+
+ private JobDataMap getDataMapFromBlob(Blob blob) {
+ Object obj = null;
+
+ try {
+ if (blob != null) {
+ InputStream binaryInput = blob.getBinaryStream();
+
+ if (null != binaryInput) {
+ ObjectInputStream in = new ObjectInputStream(binaryInput);
+ obj = in.readObject();
+ in.close();
+ }
+ }
+ }
+ catch (Exception e) {
+ // return null;
+ }
+ return (JobDataMap) obj;
+ }
+
+ private byte[] toByteArray(Blob fromImageBlob) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ try {
+ return toByteArrayImpl(fromImageBlob, baos);
+ } catch (Exception e) {
+ }
+ return null;
+ }
+
+ private byte[] toByteArrayImpl(Blob fromImageBlob,
+ ByteArrayOutputStream baos) throws SQLException, IOException {
+ byte buf[] = new byte[4000];
+ int dataSize;
+ InputStream is = fromImageBlob.getBinaryStream();
+
+ try {
+ while((dataSize = is.read(buf)) != -1) {
+ baos.write(buf, 0, dataSize);
+ }
+ } finally {
+ if(is != null) {
+ is.close();
+ }
+ }
+ return baos.toByteArray();
+ }
+
+ public void setDataMap(JobDataMap dataMap) {
+ data = serializeDataMap(dataMap);
+ }
+
+ public JobDataMap getDataMap() {
+ return getDataMapFromBlob(getData());
+ }
+
+ /**
+ * @return Returns the id.
+ */
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * @param idIn The id to set.
+ */
+ public void setId(Long idIn) {
+ id = idIn;
+ }
+
+ /**
+ * @return Returns the jobLabel.
+ */
+ public String getJobLabel() {
+ return jobLabel;
+ }
+
+ /**
+ * @param jobLabelIn The jobLabel to set.
+ */
+ public void setJobLabel(String jobLabelIn) {
+ jobLabel = jobLabelIn;
+ }
+
+ /**
+ * @return Returns the bunch.
+ */
+ public TaskoBunch getBunch() {
+ return bunch;
+ }
+
+ /**
+ * @param bunchIn The bunch to set.
+ */
+ public void setBunch(TaskoBunch bunchIn) {
+ bunch = bunchIn;
+ }
+
+ /**
+ * @return Returns the orgId.
+ */
+ public Integer getOrgId() {
+ return orgId;
+ }
+
+ /**
+ * @param orgIdIn The orgId to set.
+ */
+ public void setOrgId(Integer orgIdIn) {
+ orgId = orgIdIn;
+ }
+
+ /**
+ * @return Returns the activeFrom.
+ */
+ public Date getActiveFrom() {
+ return activeFrom;
+ }
+
+ /**
+ * @param activeFromIn The activeFrom to set.
+ */
+ public void setActiveFrom(Date activeFromIn) {
+ activeFrom = activeFromIn;
+ }
+
+ /**
+ * @return Returns the activeTill.
+ */
+ public Date getActiveTill() {
+ return activeTill;
+ }
+
+ /**
+ * @param activeTillIn The activeTill to set.
+ */
+ public void setActiveTill(Date activeTillIn) {
+ activeTill = activeTillIn;
+ }
+
+ /**
+ * @return Returns the data.
+ */
+ public Blob getData() {
+ return Hibernate.createBlob(data);
+ }
+
+ /**
+ * @param dataBlobIn The params to set.
+ */
+ public void setData(Blob dataBlobIn) {
+ // data = dataBlobIn.getBytes(0, (int) dataBlobIn.length() - 1);
+ data = toByteArray(dataBlobIn);
+ }
+
+ /**
+ * @return Returns the runs.
+ */
+ public List<TaskoRun> getRuns() {
+ return runs;
+ }
+
+ /**
+ * @param runsIn The runs to set.
+ */
+ public void setRuns(List<TaskoRun> runsIn) {
+ runs = runsIn;
+ }
+
+ /**
+ * @return Returns the created.
+ */
+ public Date getCreated() {
+ return created;
+ }
+
+ /**
+ * @param createdIn The created to set.
+ */
+ public void setCreated(Date createdIn) {
+ created = createdIn;
+ }
+
+ /**
+ * @return Returns the modified.
+ */
+ public Date getModified() {
+ return modified;
+ }
+
+ /**
+ * @param modifiedIn The modified to set.
+ */
+ public void setModified(Date modifiedIn) {
+ modified = modifiedIn;
+ }
+
+ /**
+ * @return Returns the active.
+ */
+ public String getActive() {
+ return active;
+ }
+
+ /**
+ * @param activeIn The active to set.
+ */
+ public void setActive(String activeIn) {
+ active = activeIn;
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
index ca6d88e..b6b3d63 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/TaskoXmlRpcHandler.java
@@ -17,6 +17,7 @@ package com.redhat.rhn.taskomatic;
import com.redhat.rhn.taskomatic.core.SchedulerKernel;
import org.quartz.CronTrigger;
+import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.SchedulerException;
import org.quartz.SimpleTrigger;
@@ -50,7 +51,6 @@ public class TaskoXmlRpcHandler {
Date startTime, Date endTime, String cronExpression, Map params)
throws InvalidJobLabelException, NoSuchBunchTaskException, ParseException {
try {
- JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params);
// create trigger
CronTrigger ct = new CronTrigger(jobLabel, orgId.toString(),
cronExpression);
@@ -60,6 +60,8 @@ public class TaskoXmlRpcHandler {
if (endTime != null) {
ct.setEndTime(endTime);
}
+ // create job
+ JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params, startTime, endTime);
// schedule job
return SchedulerKernel.getScheduler().scheduleJob(jobDetail, ct);
}
@@ -71,7 +73,7 @@ public class TaskoXmlRpcHandler {
public Date scheduleBunch(Integer orgId, String bunchName, String jobLabel,
String cronExpression, Map params)
throws ParseException, InvalidJobLabelException, NoSuchBunchTaskException {
- return scheduleBunch(orgId, bunchName, jobLabel, null, null, cronExpression,
+ return scheduleBunch(orgId, bunchName, jobLabel, new Date(), null, cronExpression,
params);
}
@@ -87,6 +89,12 @@ public class TaskoXmlRpcHandler {
}
else {
SchedulerKernel.getScheduler().unscheduleJob(jobLabel, orgId.toString());
+ TaskoSchedule schedule = TaskoFactory.lookupActiveScheduleByOrgAndLabel(orgId, jobLabel);
+ JobDataMap map = schedule.getDataMap();
+ schedule.unschedule();
+
+ // TaskoFactory.save(schedule);
+ TaskoFactory.commitTransaction();
}
return 1;
}
@@ -96,12 +104,13 @@ public class TaskoXmlRpcHandler {
}
public Date scheduleSingleBunchRun(Integer orgId, String bunchName, String jobLabel,
- Map params)
+ Map params, Date start)
throws InvalidJobLabelException, NoSuchBunchTaskException {
try {
- JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params);
SimpleTrigger st = new SimpleTrigger(jobLabel, orgId.toString(), 1, 1);
st.setEndTime(new Date());
+ JobDetail jobDetail = createJob(bunchName, orgId, jobLabel, params,
+ start, st.getEndTime());
// schedule job
return SchedulerKernel.getScheduler().scheduleJob(jobDetail, st);
@@ -111,8 +120,14 @@ public class TaskoXmlRpcHandler {
}
}
+ public Date scheduleSingleBunchRun(Integer orgId, String bunchName, String jobLabel,
+ Map params)
+ throws InvalidJobLabelException, NoSuchBunchTaskException {
+ return scheduleSingleBunchRun(orgId, bunchName, jobLabel, params, new Date());
+ }
+
private JobDetail createJob(String bunchName, Integer orgId,
- String jobLabel, Map params)
+ String jobLabel, Map params, Date start, Date end)
throws SchedulerException, InvalidJobLabelException, NoSuchBunchTaskException {
if (!checkUniqueName(jobLabel, orgId.toString())) {
throw new InvalidJobLabelException();
@@ -129,6 +144,10 @@ public class TaskoXmlRpcHandler {
jobDetail.getJobDataMap().put("org_id", orgId);
jobDetail.getJobDataMap().put("bunch_name", bunchName);
jobDetail.getJobDataMap().put("job_label", jobLabel);
+ TaskoSchedule schedule = new TaskoSchedule(orgId, bunch, jobLabel, jobDetail.getJobDataMap(),
+ start, end);
+ TaskoFactory.save(schedule);
+ TaskoFactory.commitTransaction();
return jobDetail;
}
diff --git a/schema/spacewalk/common/tables/rhnTaskoSchedule.sql b/schema/spacewalk/common/tables/rhnTaskoSchedule.sql
new file mode 100644
index 0000000..fe69ab3
--- /dev/null
+++ b/schema/spacewalk/common/tables/rhnTaskoSchedule.sql
@@ -0,0 +1,38 @@
+--
+-- Copyright (c) 2010 Red Hat, Inc.
+--
+-- This software is licensed to you under the GNU General Public License,
+-- version 2 (GPLv2). There is NO WARRANTY for this software, express or
+-- implied, including the implied warranties of MERCHANTABILITY or FITNESS
+-- FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+-- along with this software; if not, see
+-- http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+--
+-- Red Hat trademarks are not licensed under GPLv2. No permission is
+-- granted to use or replicate Red Hat trademarks that are incorporated
+-- in this software or its documentation.
+--
+
+
+CREATE TABLE rhnTaskoSchedule
+(
+ id NUMBER NOT NULL
+ CONSTRAINT rhn_tasko_schedule_id_pk PRIMARY KEY,
+ job_label VARCHAR2(50) NOT NULL,
+ bunch_id NUMBER NOT NULL
+ CONSTRAINT rhn_tasko_schedule_bunch_fk
+ REFERENCES rhnTaskoBunch (id),
+ org_id NUMBER,
+ active VARCHAR2(1),
+ active_from DATE,
+ active_till DATE,
+ data BLOB,
+ created DATE
+ DEFAULT (sysdate) NOT NULL,
+ modified DATE
+ DEFAULT (sysdate) NOT NULL
+)
+;
+
+CREATE SEQUENCE rhn_tasko_schedule_id_seq;
+
13 years, 11 months
Branch 'fve' - 7 commits - backend/po client/rhel java/code
by Partha Aji
backend/po/ru.po | 87
client/rhel/rhn-client-tools/po/zh_CN.po | 1438 ----------
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml | 4
java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java | 5
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 3
java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java | 53
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 1
java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp | 18
8 files changed, 184 insertions(+), 1425 deletions(-)
New commits:
commit 1063bca64ccf3d515b9e3725a1cece06785bc877
Merge: 439f871... 4d96b50...
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 15 15:45:04 2010 -0400
Merge branch 'master' into fve
commit 4d96b504e378bac2d3361900a94a8ec20b51b18e
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 15 15:44:26 2010 -0400
Added a sort of 'confirm' logic for delete systems in dup compares page
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 1f04705..7613e05 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -5797,6 +5797,9 @@ value for this entitlement, excluding the default organization's consumption.</s
</trans-unit>
<trans-unit id="System Identity Properties">
<source>System Identity Properties</source>
+ </trans-unit>
+ <trans-unit id="Check to Confirm Delete">
+ <source>Select to Confirm Deletion</source>
</trans-unit>
<trans-unit id="System Content And Monitoring">
<source>System Content And Monitoring</source>
diff --git a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
index 0c9b449..5c17997 100644
--- a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
@@ -19,6 +19,7 @@
}
}
+
function pageToggleRows(linkId, ids){
for (var i = 0 ; i < ids.length; i++) {
toggleElement(document.getElementById(ids[i]));
@@ -27,6 +28,19 @@
toggleElement(document.getElementById(linkId + 'Hide'));
}
+ function handle_delete(chk_id, div_id, form) {
+ var delete_chk_box = document.getElementById(chk_id);
+ if (delete_chk_box.checked == true) {
+ return form.submit();
+ }
+
+ var delete_chk_box_div = document.getElementById(div_id);
+ if (delete_chk_box_div.style.display == 'none') {
+ delete_chk_box_div.style.display = '';
+ }
+ return false;
+ }
+
</script>
</head>
<body>
@@ -91,7 +105,9 @@
</c:when>
<c:otherwise><td></c:otherwise>
</c:choose>
- <input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}"/></td>
+ <div style="display:none" id='div${current.value}'> <input type="checkbox" id="chk_id_${current.value}" name="chk${current.value}" value="${current.value}"/> - <bean:message key="Check to Confirm Delete"/></div>
+ <input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}" onclick="return handle_delete('chk_id_${current.value}','div${current.value}', this.form);"/><br/>
+ </td>
</c:forEach>
</tr>
<tr>
commit a66747190151e01e482b30e7d627f7f833947f70
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Jun 15 16:17:20 2010 +0200
602591 - "Content-Length" added to response header for different download contents
added for:
- package
- srpm
- patchreadme
- patchsetreadme
- repolog
diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
index 592297f..f747bd9 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
@@ -341,6 +341,7 @@ public class DownloadFile extends DownloadAction {
User user = UserFactory.lookupById(userid);
if (type.equals(DownloadManager.DOWNLOAD_TYPE_PACKAGE)) {
Package pack = PackageFactory.lookupByIdAndOrg(fileId, user.getOrg());
+ response.addHeader("Content-Length", pack.getPackageSize() + "");
path = Config.get().getString(ConfigDefaults.MOUNT_POINT) +
"/" + pack.getPath();
return getStreamForBinary(path);
@@ -349,6 +350,7 @@ public class DownloadFile extends DownloadAction {
Package pack = PackageFactory.lookupByIdAndOrg(fileId, user.getOrg());
List<PackageSource> src = PackageFactory.lookupPackageSources(pack);
if (!src.isEmpty()) {
+ response.addHeader("Content-Length", src.get(0).getPackageSize() + "");
path = Config.get().getString(ConfigDefaults.MOUNT_POINT) + "/" +
src.get(0).getPath();
return getStreamForBinary(path);
@@ -357,6 +359,7 @@ public class DownloadFile extends DownloadAction {
else if (type.equals(DownloadManager.DOWNLOAD_TYPE_PATCH_README)) {
Patch patch = (Patch) PackageFactory.lookupByIdAndOrg(fileId,
user.getOrg());
+ response.addHeader("Content-Length", patch.getPackageSize() + "");
return getStreamForText(patch.getReadme().getBytes(1L,
(int) patch.getReadme().length()));
@@ -364,6 +367,7 @@ public class DownloadFile extends DownloadAction {
else if (type.equals(DownloadManager.DOWNLOAD_TYPE_PATCH_SET_README)) {
PatchSet patch = (PatchSet) PackageFactory.lookupByIdAndOrg(fileId,
user.getOrg());
+ response.addHeader("Content-Length", patch.getPackageSize() + "");
return getStreamForText(patch.getReadme().getBytes(1L,
(int) patch.getReadme().length()));
}
@@ -380,6 +384,7 @@ public class DownloadFile extends DownloadAction {
output.append("\n");
}
+ response.addHeader("Content-Length", output.length() + "");
return getStreamForText(output.toString().getBytes());
}
}
commit 2b195123a9503541543ac3d335a7a69f4b2c4d38
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Jun 15 13:49:07 2010 +0200
603890 - fix/rewrite system.listSubscribableBaseChannels API
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
index 90d054d..6421bef 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
@@ -71,6 +71,7 @@ import com.redhat.rhn.domain.token.ActivationKeyFactory;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.ActivationKeyDto;
import com.redhat.rhn.frontend.dto.ErrataOverview;
+import com.redhat.rhn.frontend.dto.EssentialChannelDto;
import com.redhat.rhn.frontend.dto.ServerPath;
import com.redhat.rhn.frontend.dto.SystemOverview;
import com.redhat.rhn.frontend.events.SsmDeleteServersEvent;
@@ -527,32 +528,13 @@ public class SystemHandler extends BaseHandler {
Server server = lookupServer(loggedInUser, sid);
Channel baseChannel = server.getBaseChannel();
List returnList = new ArrayList();
-
- if (baseChannel != null) {
- //Add the current base channel to the list
- Map base = new HashMap();
-
- base.put("id", baseChannel.getId());
- base.put("name", baseChannel.getName());
- base.put("label", baseChannel.getLabel());
- base.put("current_base", new Integer(1));
- returnList.add(base);
- }
-
- DataResult dr = ChannelManager.userSubscribableBaseChannelsForSystem(loggedInUser,
- server);
- //Loop through the results and put into returnList. This is because we have to
- //set the CURRENT_BASE field.
- for (Iterator itr = dr.iterator(); itr.hasNext();) {
- Map map = (Map) itr.next();
- if (baseChannel != null &&
- baseChannel.getId().intValue() == ((Long) map.get("id")).intValue()) {
- continue; //we've already added the base channel
- }
-
- returnList.add(createChannelMap(map));
+
+ List<EssentialChannelDto> list = ChannelManager.listBaseChannelsForSystem(loggedInUser, server);
+ for (EssentialChannelDto ch : list) {
+ Boolean currentBase = (baseChannel != null) && baseChannel.getId().equals(ch.getId());
+ returnList.add(createChannelMap(ch, currentBase));
}
-
+
return returnList.toArray();
}
@@ -607,24 +589,17 @@ public class SystemHandler extends BaseHandler {
}
return returnList.toArray();
}
-
-
-
- private Map createChannelMap(Map map) {
+
+ private Map createChannelMap(EssentialChannelDto channel, Boolean currentBase) {
Map ret = new HashMap();
- ret.put("ID", map.get("id"));
- ret.put("NAME", map.get("name"));
- ret.put("LABEL", map.get("label"));
- ret.put("CURRENT_BASE", new Integer(0));
-
- ret.put("id", map.get("id"));
- ret.put("name", map.get("name"));
- ret.put("label", map.get("label"));
- ret.put("current_base", new Integer(0));
+ ret.put("id", channel.getId());
+ ret.put("name", channel.getName());
+ ret.put("label", channel.getLabel());
+ ret.put("current_base", currentBase ? new Integer(1) : new Integer(0));
return ret;
}
-
+
/**
* List the child channels that this system can subscribe to.
* @param sessionKey The sessionKey containing the logged in user
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index 72bb0a2..253676b 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -2079,6 +2079,7 @@ public class ChannelManager extends BaseManager {
EssentialChannelDto guessed = new EssentialChannelDto();
guessed.setId(guessedBase.getId());
+ guessed.setLabel(guessedBase.getLabel());
guessed.setName(guessedBase.getName());
channelDtos.add(0, guessed);
}
commit 4db18650d691d6a0c0bfd03983368f37d13b55dc
Author: leahliu <leahliu(a)fedoraproject.org>
Date: Tue Jun 15 03:50:43 2010 +0000
l10n: Updates to Chinese (China) (zh_CN) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/client/rhel/rhn-client-tools/po/zh_CN.po b/client/rhel/rhn-client-tools/po/zh_CN.po
index d0e8541..f484a1f 100644
--- a/client/rhel/rhn-client-tools/po/zh_CN.po
+++ b/client/rhel/rhn-client-tools/po/zh_CN.po
@@ -1,18 +1,20 @@
+# translation of spacewalk.rhn-client-tools.po to Wei Liu
# translation of zh_CN.po to
-# Copyright (C) 2002,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
#
# Sarah Wang <sarahs(a)redhat.com>, 2003, 2004.
# Tony Fu <tfu(a)redhat.com>, 2004, 2006.
# Leah Liu <weliu(a)redhat.com>, 2005, 2006.
# Xi HUANG <xhuang(a)redhat.com>, 2007.
+# Leah Liu <lliu(a)redhat.com>, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: zh_CN\n"
+"Project-Id-Version: spacewalk.rhn-client-tools\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-07 13:34+0200\n"
-"PO-Revision-Date: 2007-02-01 11:42+1000\n"
-"Last-Translator: Xi HUANG <xhuang(a)redhat.com>\n"
-"Language-Team: <en(a)li.org>\n"
+"PO-Revision-Date: 2010-06-10 13:14+1000\n"
+"Last-Translator: Leah Liu <lliu(a)redhat.com>\n"
+"Language-Team: Wei Liu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -42,10 +44,9 @@ msgstr "完成软件更新的设置"
#: ../src/up2date_client/gui.py:301
msgid "_Exit"
-msgstr ""
+msgstr "退出(_)"
#: ../src/up2date_client/gui.py:302
-#, fuzzy
msgid "Software updates setup unsuccessful"
msgstr "软件更新设置不成功"
@@ -100,7 +101,7 @@ msgstr "问题对话框:"
#: ../src/up2date_client/rhnChannel.py:97
msgid "Unable to Locate SystemId"
-msgstr ""
+msgstr "无法定位 SystemId"
#: ../src/up2date_client/rhnChannel.py:114
msgid "This system may not be updated until it is associated with a channel."
@@ -136,14 +137,13 @@ msgid "An unexpected OS error occurred: %s\n"
msgstr "发生了一个意外的操作系统错误:%s\n"
#: ../src/up2date_client/rhncli.py:83
-#, fuzzy
msgid "A connection was attempted with a malformed URI.\n"
-msgstr "格式不正确的 URI。\n"
+msgstr "尝试使用异常 URI 连接。\n"
#: ../src/up2date_client/rhncli.py:85
-#, fuzzy, python-format
+#, python-format
msgid "A connection was attempted with a malformed URI: %s.\n"
-msgstr "使用了一个格式不正确的 URI: %s。\n"
+msgstr "尝试使用异常 URI 连接:%s。\n"
#: ../src/up2date_client/rhncli.py:87
#, python-format
@@ -181,15 +181,15 @@ msgid "Unable to open gui. Try `up2date --nox`"
msgstr "无法打开 gui,请尝试“up2date --nox”"
#: ../src/up2date_client/rhncli.py:184
-#, fuzzy, python-format
+#, python-format
msgid ""
"%%prog (Red Hat Network Client Tools) %s\n"
"Copyright (C) 1999--2010 Red Hat, Inc.\n"
"Licensed under the terms of the GPLv2."
msgstr ""
"%%prog (Red Hat Network Client Tools) %s\n"
-"Copyright (C) 1999-2006 Red Hat, Inc.\n"
-"Licensed under the terms of the GPL."
+"版权所有 (C) 1999-2006 Red Hat, Inc.\n"
+"根据 GPL 中的条款获准使用。"
#: ../src/up2date_client/rhncli.py:204
msgid "An error has occurred:"
@@ -200,9 +200,8 @@ msgid "See /var/log/up2date for more information"
msgstr "查看 /var/log/up2date 来获得详悉信息"
#: ../src/up2date_client/rhnreg_constants.py:13
-#, fuzzy
msgid "Copyright © 2006--2010 Red Hat, Inc. All rights reserved."
-msgstr "Copyright © 2006 Red Hat, Inc. All rights reserved."
+msgstr "版权 © 2006 Red Hat, Inc. 版权所有。"
#. Connect Window
#: ../src/up2date_client/rhnreg_constants.py:16
@@ -299,8 +298,7 @@ msgstr "联系红帽或红帽合作伙伴的技术支持专家来帮助您解决
msgid ""
"Stay in compliance with your subscription agreement and manage subscriptions "
"for systems connected to your account at http://rhn.redhat.com/."
-msgstr ""
-"遵循您的订阅协议并管理连接到您在 http://rhn.redhat.com 上的帐号的系统订阅。"
+msgstr "遵循您的订阅协议并管理连接到您在 http://rhn.redhat.com 上的帐号的系统订阅。"
#: ../src/up2date_client/rhnreg_constants.py:54
msgid ""
@@ -319,20 +317,16 @@ msgid "Software update setup unsuccessful"
msgstr "软件更新设置不成功"
#: ../src/up2date_client/rhnreg_constants.py:60
-#, fuzzy
msgid ""
"Are you sure you don't want to connect your system to Red Hat Network? "
"You'll miss out on the benefits of a Red Hat Enterprise Linux subscription:\n"
-msgstr ""
-"您确认不希望把您的系统连接到红帽网络吗?您将无法获得红帽企业 Linux 订阅所提供"
-"的益处:"
+msgstr "您确认不希望将您的系统连接到红帽网络吗?您将无法获得红帽企业 Linux 订阅所提供的:\n"
#: ../src/up2date_client/rhnreg_constants.py:62
-#, fuzzy
msgid ""
"You will not be able to take advantage of these subscription privileges "
"without connecting your system to Red Hat Network.\n"
-msgstr "没有在红帽网络上注册系统,您将 <b>无法</b> 获得这些订阅所提供的益处。"
+msgstr "不将您的系统与红帽网络相连,您将无法获得这些订阅所提供的益处。\n"
#: ../src/up2date_client/rhnreg_constants.py:65
msgid "I'll register later."
@@ -390,13 +384,10 @@ msgstr ""
"\n"
#: ../src/up2date_client/rhnreg_constants.py:82
-#, fuzzy
msgid ""
"Tip: Forgot your login or password? Visit: https://rhn.redhat.com/rhn/sales/"
"LoginInfo.do"
-msgstr ""
-"<small>忘记了您的登录或口令?访问 \n"
-"https://www.redhat.com/wapps/sso/rhn/lostPassword.html</small>"
+msgstr "窍门:忘记您的登录或者密码?请访问 Visit: https://rhn.redhat.com/rhn/sales/LoginInfo.do"
#: ../src/up2date_client/rhnreg_constants.py:84
msgid "*Email Address:"
@@ -419,9 +410,9 @@ msgid ""
"\"Cancel\" and no information will be sent. You can run the registration "
"program later by typing `rhn_register` at the command line."
msgstr ""
-"我们已经完成了为系统配置档案收集信息的过程。\n"
+"我们已经完成了为系统侧写收集信息的过程。\n"
"\n"
-"点 \"下一步\" 来把这个系统配置档案发送到红帽网络。点 \"取消\" 则不会有任何信"
+"点 \"下一步\" 来把这个系统侧写发送到红帽网络。点 \"取消\" 则不会有任何信"
"息被发送。您可以以后通过在命令行中输入 `rhn_register` 来运行注册程序。"
#: ../src/up2date_client/rhnreg_constants.py:98
@@ -527,7 +518,7 @@ msgstr ""
"一个不活跃的系统释放一个权利。\n"
"(2) 通过 http://www.redhat.com/store/ 购买新的权利。\n"
"(3) 在 http://www.redhat.com/now/ 上激活一个新的安装码。一旦您的帐号中有了有"
-"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的配置档案,并通过 软件 > "
+"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的侧写,并通过 软件 > "
"软件频道 标签页来把这个系统订阅到软件频道。"
#: ../src/up2date_client/rhnreg_constants.py:155
@@ -559,14 +550,13 @@ msgstr "更新模块:每个系统的更新,电子邮件勘误通知,勘误
msgid ""
"Management module: automatic updates, systems grouping, systems permissions, "
"system package profiling"
-msgstr "管理模块:自动更新、系统组群、系统访问权限、软件包配置档案"
+msgstr "管理模块:自动更新、系统组群、系统访问权限、软件包侧写"
#: ../src/up2date_client/rhnreg_constants.py:167
msgid ""
"Provisioning module: bare-metal provisioning, existing state provisioning, "
"rollbacks, configuration management"
-msgstr ""
-"Provision 模块:全新系统 provision、已存在状态 provision、系统恢复、配置管理"
+msgstr "Provision 模块:全新系统 provision、已存在状态 provision、系统恢复、配置管理"
#: ../src/up2date_client/rhnreg_constants.py:169
msgid ""
@@ -625,7 +615,7 @@ msgstr ""
"一个不活跃的系统释放一个权利。\n"
"(2) 通过 http://www.redhat.com/store/ 购买新的权利。\n"
"(3) 在 http://www.redhat.com/now/ 上激活一个新的安装码。一旦您的帐号中有了有"
-"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的配置档案,并通过 软件 > "
+"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的侧写,并通过 软件 > "
"软件频道 标签页来把这个系统订阅到软件频道。"
#: ../src/up2date_client/rhnreg_constants.py:200
@@ -693,7 +683,7 @@ msgstr ""
"服务器。"
#: ../src/up2date_client/rhnreg_constants.py:229
-#, fuzzy, python-format
+#, python-format
msgid ""
"<b><span size=\"16000\">Incompatible Certificate File</span></b>\n"
"\n"
@@ -706,7 +696,7 @@ msgid ""
msgstr ""
"<b><span size=\"16000\">不兼容的证书文件</span></b>\n"
"\n"
-"您所提供的证书 <b>%s</b> 与 <b>%s</b> 中的红帽网络服务器不兼容。您确定您所提"
+"您所提供的证书 <b>%s</b> 与 <b>%s</b> 中的红帽网络服务器不兼容。您可能希望确认您提供了有效的证书文件。您确定您所提"
"供的证书是正确的,并且证书文件没有被破坏吗?\n"
"\n"
"请尝试使用一个不同的证书文件。"
@@ -718,6 +708,9 @@ msgid ""
" The certificate is expired. Please ensure you have the correct certificate "
"and your system time is correct."
msgstr ""
+"<b><span size=\"12000\">不兼容的证书文件</span></b>\n"
+"\n"
+"该证书已经过期。请确定您使用了正确的证书文件,且您的系统时间是正确的。"
#: ../src/up2date_client/rhnreg_constants.py:241
msgid "Please verify the value of sslCACert in /etc/sysconfig/rhn/up2date"
@@ -747,12 +740,15 @@ msgid ""
" Tip: Minor releases with a '*' are currently supported by Red Hat.\n"
"\n"
msgstr ""
+"\n"
+"窍门:目前红帽支持使用 '*' 的次要版本。\n"
+"\n"
#: ../src/up2date_client/rhnreg_constants.py:260
msgid ""
"Warning:You will not be able to limit this system to minor release that is "
"older than the recent minor release if you select this option.\n"
-msgstr ""
+msgstr "警告:如果您选择这个选择,您将无法将这个系统限定为比最近次要版本旧的次要版本。\n"
#: ../src/up2date_client/rhnreg_constants.py:265
#, python-format
@@ -763,6 +759,11 @@ msgid ""
"(you will be able to move to a newer release.)\n"
"Are you sure you Would like to Continue?"
msgstr ""
+"您的系统必须订阅 %s 基本\n"
+"软件频道。您将无法将该系统\n"
+"迁移到之前的版本\n"
+"(您将可以迁移到较新的版本。)\n"
+"您确定要继续吗?"
#. Navigation
#: ../src/up2date_client/rhnreg_constants.py:274
@@ -812,20 +813,18 @@ msgid "Notice"
msgstr "注意"
#: ../src/up2date_client/rhnregGui.py:261
-#, fuzzy
msgid "There was an error while applying your choice."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在应用您的选择时出错。"
#: ../src/up2date_client/rhnregGui.py:287
msgid "You specified an invalid protocol. Only https and http are allowed."
msgstr "您指定了一个无效的协议。只允许使用 https 和 http。"
#: ../src/up2date_client/rhnregGui.py:300
-#, fuzzy
msgid ""
"You will not be able to successfully register this system without contacting "
"a Red Hat Network server."
-msgstr "没有在红帽网络上注册系统,您将 <b>无法</b> 获得这些订阅所提供的益处。"
+msgstr "不联络红帽网络服务器您将无法成功注册这个系统。"
#: ../src/up2date_client/rhnregGui.py:325
#, python-format
@@ -870,13 +869,11 @@ msgid "You may be running a client that is incompatible with the server."
msgstr "您可能正在运行一个与服务器不兼容的客户端系统。"
#: ../src/up2date_client/rhnregGui.py:396
-#, fuzzy, python-format
+#, python-format
msgid ""
"Please enter your account information for the <b>%s</b> Red Hat Network "
"Satellite:"
-msgstr ""
-"请输入您的 %s 红帽网络 Satellite 的登录信息:\n"
-"\n"
+msgstr "请输入您的 <b>%s</b> 红帽网络 Satellite 的帐户信息:"
#: ../src/up2date_client/rhnregGui.py:445
msgid "You must enter a login."
@@ -887,9 +884,8 @@ msgid "You must enter a password."
msgstr "您必须输入一个口令。"
#: ../src/up2date_client/rhnregGui.py:465
-#, fuzzy
msgid "There was an error while logging in."
-msgstr "登录时出现问题。"
+msgstr "登录时出错。"
#: ../src/up2date_client/rhnregGui.py:489
msgid ""
@@ -898,9 +894,8 @@ msgid ""
msgstr "在与注册服务器联络时出现了一个致命错误。 错误消息是:\n"
#: ../src/up2date_client/rhnregGui.py:631
-#, fuzzy
msgid "There was an error while assembling information for the profile."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在为侧写收集信息时出错。"
#: ../src/up2date_client/rhnregGui.py:652
msgid "Error running hardware profile"
@@ -908,16 +903,15 @@ msgstr "运行硬件档案时出错"
#: ../src/up2date_client/rhnregGui.py:679
msgid "There was an error while populating the profile."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在产生侧写时出现了一个错误。"
#: ../src/up2date_client/rhnregGui.py:699
msgid "You must choose a name for this profile."
msgstr "您必须为这个档案选择一个名称。"
#: ../src/up2date_client/rhnregGui.py:714
-#, fuzzy
msgid "There was an error while creating the profile."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在生成侧写时出现了一个错误。"
#: ../src/up2date_client/rhnregGui.py:725
msgid "Sending your profile information to Red Hat Network. Please wait."
@@ -991,9 +985,8 @@ msgid "Problem registering personal information"
msgstr "注册个人信息时出现问题"
#: ../src/up2date_client/rhnregGui.py:940
-#, fuzzy
msgid "There was an error while installing the certificate."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "安装证书时出错。"
#: ../src/up2date_client/rhnregGui.py:966
msgid "You must select a certificate."
@@ -1019,9 +1012,8 @@ msgid "unknown"
msgstr "未知"
#: ../src/up2date_client/rhnregGui.py:1138
-#, fuzzy
msgid "There was an error getting the list of hardware."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "获得硬件列表时出错。"
#: ../src/up2date_client/rhnregGui.py:1150 ../src/up2date_client/tui.py:631
#, python-format
@@ -1034,9 +1026,8 @@ msgid "%s MB"
msgstr "%s MB"
#: ../src/up2date_client/rhnregGui.py:1198
-#, fuzzy
msgid "There was an error building the list of packages."
-msgstr "在安装软件包时出现了一个致命错误:\n"
+msgstr "构建软件包列表时出错。"
#: ../src/up2date_client/rhnregGui.py:1213
msgid "Package"
@@ -1082,13 +1073,12 @@ msgid "Warning: unable to enable rhnsd with chkconfig"
msgstr "警告:无法使用 chkconfig 来启用 rhnsd"
#: ../src/up2date_client/rhnreg.py:65
-#, fuzzy
msgid "Warning: unable to run rhn_check"
-msgstr "警告:无法使用 chkconfig 来启用 rhnsd"
+msgstr "警告:无法运行 rhn_check"
#: ../src/up2date_client/rpcServer.py:47
msgid "Error: Server Unavailable. Please try later."
-msgstr ""
+msgstr "错误:服务器不可用,请稍后再试。"
#: ../src/up2date_client/rpcServer.py:171
msgid "ERROR: can not find RHNS CA file"
@@ -1111,59 +1101,54 @@ msgid "System software updates already set up"
msgstr "系统软件更新已被设置"
#: ../src/up2date_client/tui.py:115
-#, fuzzy
msgid "Red Hat Network Location:"
-msgstr "红帽网络位置(_L):"
+msgstr "红帽网络位置:"
#: ../src/up2date_client/tui.py:117
-#, fuzzy
msgid "System ID:"
-msgstr ""
-"\n"
-"系统 ID: "
+msgstr "系统 ID: "
#: ../src/up2date_client/tui.py:371
msgid "The server indicated an error:\n"
msgstr "服务器标明一个错误:\n"
#: ../src/up2date_client/tui.py:375
-#, fuzzy
msgid "There was an error communicating with the registration server:\n"
-msgstr "在与注册服务器联络时出现了一个致命错误。 错误消息是:\n"
+msgstr "在与注册服务器联络时出错:\n"
#: ../src/up2date_client/tui.py:434
msgid "Select Operating System Release"
-msgstr ""
+msgstr "选择操作系统发行本"
#: ../src/up2date_client/tui.py:438
msgid "Operating System version:"
-msgstr ""
+msgstr "操作系统版本:"
#: ../src/up2date_client/tui.py:440
msgid "Limited Updates Only"
-msgstr ""
+msgstr "仅限有限更新"
#: ../src/up2date_client/tui.py:452
msgid " Minor Release: "
-msgstr ""
+msgstr "次要版本:"
#: ../src/up2date_client/tui.py:467
msgid "All available updates"
-msgstr ""
+msgstr "所有可用更新"
#: ../src/up2date_client/tui.py:520
msgid "Confirm operating system release selection"
-msgstr ""
+msgstr "确认操作系统发行本选择"
#: ../src/up2date_client/tui.py:528
msgid ""
"Your system will be subscribed to the base software channel to receive all "
"available updates."
-msgstr ""
+msgstr "您的系统将订阅基本软件频道以便接收所有可用更新。"
#: ../src/up2date_client/tui.py:572
msgid "Register a System Profile - Hardware"
-msgstr "注册系统配置档案 - 硬件"
+msgstr "注册系统侧写 - 硬件"
#: ../src/up2date_client/tui.py:575
msgid ""
@@ -1219,7 +1204,7 @@ msgstr "该档案中还会包括其它硬件信息,包括 PCI 设备、磁盘
#: ../src/up2date_client/tui.py:685
msgid "Register a System Profile - Packages"
-msgstr "注册系统配置档案 - 软件包"
+msgstr "注册系统侧写 - 软件包"
#: ../src/up2date_client/tui.py:690
msgid ""
@@ -1272,8 +1257,7 @@ msgid "You specified an invalid protocol."
msgstr "您指定了一个无效的协议。"
#: ../src/up2date_client/tui.py:1106
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
+msgid " <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
msgstr " <Tab>/<Alt-Tab> 在元素间切换 | <Space> 选择 | <F12> 下一屏幕"
#: ../src/up2date_client/tui.py:1200
@@ -1347,8 +1331,7 @@ msgid "GPG is not installed properly."
msgstr "GPG 没有被正确安装。"
#: ../src/up2date_client/up2dateErrors.py:237
-msgid ""
-"GPG keyring does not include the Red Hat, Inc. public package-signing key"
+msgid "GPG keyring does not include the Red Hat, Inc. public package-signing key"
msgstr "GPG 钥匙圈不包括 Red Hat, Inc. 软件包签名公钥"
#: ../src/up2date_client/up2dateErrors.py:249
@@ -1417,7 +1400,7 @@ msgstr "选择一个红帽网络服务器"
#: ../src/firstboot/rhn_create_profile_gui.py:48
msgid "Create Profile"
-msgstr "创建配置档案"
+msgstr "创建侧写"
#: ../src/firstboot/rhn_create_profile_gui.py:50
#: ../src/firstboot/rhn_finish_gui.py:41 ../src/firstboot/rhn_review_gui.py:40
@@ -1442,8 +1425,7 @@ msgid "There was a communication error with the server: %s"
msgstr "在与服务器联络时出现错误:%s"
#: ../src/firstboot/rhn_login_gui.py:106
-msgid ""
-"Would you like to try changing the network configuration and trying again?"
+msgid "Would you like to try changing the network configuration and trying again?"
msgstr "你是否希望更改网络设置,然后重试一次?"
#: ../src/firstboot/rhn_provide_certificate_gui.py:40
@@ -1478,7 +1460,7 @@ msgstr "正在更新硬件档案..."
#: ../src/bin/rhn-profile-sync.py:49
msgid "Updating virtualization profile..."
-msgstr "更新虚拟化配置档案..."
+msgstr "更新虚拟化侧写..."
#: ../src/bin/rhn_register.py:36
msgid "Do not attempt to use X"
@@ -1486,7 +1468,7 @@ msgstr "不要试图使用 X"
#: ../src/bin/rhnreg_ks.py:44
msgid "Specify a profilename"
-msgstr "指定配置档案名"
+msgstr "指定侧写名"
#: ../src/bin/rhnreg_ks.py:46
msgid "Specify a username"
@@ -1513,14 +1495,12 @@ msgid "Specify an activation key"
msgstr "指定一个激活码"
#: ../src/bin/rhnreg_ks.py:58
-msgid ""
-"Subscribe this system to the EUS channel tied to the system's redhat-release"
+msgid "Subscribe this system to the EUS channel tied to the system's redhat-release"
msgstr ""
#: ../src/bin/rhnreg_ks.py:60
-#, fuzzy
msgid "[Deprecated] Read contact info from stdin"
-msgstr "从标准输入中读取联系信息"
+msgstr "[过时的] 从标准输入中读取联系信息"
#: ../src/bin/rhnreg_ks.py:62
msgid "Do not probe or upload any hardware info"
@@ -1554,18 +1534,17 @@ msgstr "该系统已经注册了。使用 --force 来超越"
msgid ""
"Usage of --use-eus-channel option with --activationkey is not supported. "
"Please use username and password instead."
-msgstr ""
+msgstr "不支持在 --activationkey 中使用 --use-eus-channel 选项。请使用 username 和 password。"
#: ../src/bin/rhnreg_ks.py:122
-#, fuzzy
msgid "The server you are registering against does not support EUS."
-msgstr "您要注册的服务器不支持这个版本的客户端。"
+msgstr "您订阅的服务器不支持 EUS。"
#: ../src/bin/rhnreg_ks.py:152
msgid ""
"Warning: --contactinfo option has been deprecated. Please login to the "
"server web user Interface and update your contactinfo. "
-msgstr ""
+msgstr "警告:--contactinfo 选项已经过时。请登录到服务器网页用户界面并更新您的联络信息。"
#: ../src/bin/rhnreg_ks.py:192
msgid ""
@@ -1595,22 +1574,23 @@ msgstr "软件更新注册"
#: ../data/gui.glade.h:7
msgid "Select operating system release"
-msgstr ""
+msgstr "选择操作系统发行本"
#: ../data/progress.glade.h:1
msgid "Progress Dialog"
msgstr "进度对话框"
#: ../data/rh_register.glade.h:1
-#, fuzzy
msgid ""
"\n"
"Are you sure you would like to continue?"
-msgstr "您确定要继续吗?"
+msgstr ""
+"\n"
+"您确定要继续吗?"
#: ../data/rh_register.glade.h:3
msgid " "
-msgstr ""
+msgstr " "
#: ../data/rh_register.glade.h:4
msgid "<b>Compliance:</b>"
@@ -1654,14 +1634,14 @@ msgstr "<b>您系统的网络连接没有正常工作。您的系统无法设置
msgid ""
"<b>Tip:</b> Minor releases with a '*' are currently fully supported by Red "
"Hat."
-msgstr ""
+msgstr "<b>窍门:</b>红帽完全支持带 '*' 的次要版本。"
#: ../data/rh_register.glade.h:14
msgid ""
"<b>Warning:</b> You will <b>not</b> be able to limit this system to a minor "
"release that is older than the most recent minor release if you select this "
"option."
-msgstr ""
+msgstr "<b>警告:如果您选择这个选项,</b>您将<b>无法</b>将这个系统限制为比最新次要版本旧的次要版本。"
#: ../data/rh_register.glade.h:15
msgid ""
@@ -1674,7 +1654,7 @@ msgstr ""
#: ../data/rh_register.glade.h:16
msgid "<b>Your system was registered for updates during installation.</b>"
-msgstr ""
+msgstr "<b>在安装过程中已将您的系统注册了更新。</b>"
#: ../data/rh_register.glade.h:17
msgid ""
@@ -1682,7 +1662,7 @@ msgid ""
"if kept updated, will always be equivalent to the latest available minor "
"release of Red Hat Enterprise Linux 5. It will be registered to the main "
"'Red Hat Enterprise Linux 5' software channel."
-msgstr ""
+msgstr "经为这个系统提供<b>所有可用更新(_A)</b>。如果一直更新则这个系统将总是等同于红帽企业版 Linux 5 的最新可用次要版本。要将其在主要‘红帽就企业版 Linux 5’软件频道中注册。"
#: ../data/rh_register.glade.h:18
msgid ""
@@ -1697,7 +1677,7 @@ msgstr ""
#: ../data/rh_register.glade.h:20
msgid "<big><b>Profile Data</b></big>"
-msgstr "<big><b>配置档案数据</b></big>"
+msgstr "<big><b>侧写数据</b></big>"
#: ../data/rh_register.glade.h:21
msgid "<big><b>System Name</b></big>"
@@ -1726,8 +1706,7 @@ msgstr "红帽尊重您的隐私权:http://www.redhat.com/legal/privacy_statem
msgid ""
"<small>Tip: Forgot your login or password? Contact your Satellite's "
"<i>Organization Administrator</i>.</small>"
-msgstr ""
-"<small>忘记了您的用户名或口令?联系您的 Satellite <i>机构管理员</i>。</small>"
+msgstr "<small>忘记了您的用户名或口令?联系您的 Satellite <i>机构管理员</i>。</small>"
#: ../data/rh_register.glade.h:27
msgid ""
@@ -1753,8 +1732,7 @@ msgstr ""
"和口令)的安全。"
#: ../data/rh_register.glade.h:34
-msgid ""
-"Activate a previously purchased subscription you have not yet activated."
+msgid "Activate a previously purchased subscription you have not yet activated."
msgstr "激活一个您以前购买的、但还没有激活的订阅。"
#: ../data/rh_register.glade.h:35
@@ -1903,8 +1881,7 @@ msgstr "代理服务器用户名(_U):"
msgid ""
"Purchase an additional Red Hat Enterprise Linux subscription at http://www."
"redhat.com/store/."
-msgstr ""
-"购买一个额外的红帽企业 Linux 订阅(通过 http://www.redhat.com/store/)。"
+msgstr "购买一个额外的红帽企业 Linux 订阅(通过 http://www.redhat.com/store/)。"
#: ../data/rh_register.glade.h:72
msgid ""
@@ -1932,11 +1909,11 @@ msgstr "选择一个文件"
#: ../data/rh_register.glade.h:77
msgid "Send _hardware profile"
-msgstr "发送(_h)硬件配置档案"
+msgstr "发送(_h)硬件侧写"
#: ../data/rh_register.glade.h:78
msgid "Send _package profile"
-msgstr "发送软件包配置档案(_p)"
+msgstr "发送软件包侧写(_p)"
#: ../data/rh_register.glade.h:79
msgid "Software update setup has been completed for this system."
@@ -1979,7 +1956,7 @@ msgstr "使用 HTTP 代理服务器进行验证(_t)"
#: ../data/rh_register.glade.h:89
msgid "V_iew Package Profile ..."
-msgstr "查看软件包配置档案(_i)"
+msgstr "查看软件包侧写(_i)"
#: ../data/rh_register.glade.h:90
msgid "Why Register"
@@ -2025,8 +2002,7 @@ msgstr ""
msgid ""
"You'll need to send us a profile of what packages and hardware are installed "
"on your system so we can determine what updates are available."
-msgstr ""
-"您需要发送给我们一个系统配置档案,从而使我们可以决定哪些更新适用您的系统。"
+msgstr "您需要发送给我们一个系统侧写,从而使我们可以决定哪些更新适用您的系统。"
#: ../data/rh_register.glade.h:99
msgid ""
@@ -2132,7 +2108,7 @@ msgstr "(_T)返回到设置过程。"
#: ../data/rh_register.glade.h:121
msgid "_View Hardware Profile ..."
-msgstr "(_V)查看硬件配置档案 ..."
+msgstr "(_V)查看硬件侧写 ..."
#: ../data/rh_register.glade.h:122
msgid "_Why Should I Connect to RHN? ..."
@@ -2156,7 +2132,7 @@ msgstr "•"
#: ../data/rh_register.glade.h:127
msgid "• A name for your system's Red Hat Network profile"
-msgstr "您系统的红帽网络配置档案名"
+msgstr "您系统的红帽网络侧写名"
#: ../data/rh_register.glade.h:128
msgid "• The address to your Red Hat Network Satellite (optional)"
@@ -2180,1227 +2156,3 @@ msgstr ""
msgid "Register to Spacewalk/Satellite/Red Hat Network."
msgstr "在 Red Hat 网络上注册"
-#~ msgid "_Exit software update setup"
-#~ msgstr "退出软件更新设置(_E)"
-
-#~ msgid "software updates setup unsuccessful"
-#~ msgstr "软件更新设置不成功"
-
-#~ msgid ""
-#~ "If you do not have a Red Hat Login, this assistant will allow you to "
-#~ "create one."
-#~ msgstr "如果您还没有红帽登录帐号,它将帮助您建立一个。"
-
-#~ msgid "Step 1: Review the Red Hat Privacy Statement"
-#~ msgstr "步骤 1:查阅 Red Hat 的隐私声明"
-
-#~ msgid "Review the Red Hat Network Terms And Conditions"
-#~ msgstr "回顾 Red Hat 网络的条件"
-
-#~ msgid ""
-#~ "Are you sure you don't want to connect your system to Red Hat Network? "
-#~ "You'll miss out on the benefits of a Red Hat Enterprise Linux "
-#~ "subscription:\n"
-#~ "\n"
-#~ "Security & Updates:\n"
-#~ "Receive the latest software updates, including security updates, keeping "
-#~ "this Red Hat Enterprise Linux system updated and secure.\n"
-#~ "\n"
-#~ "Downloads & Upgrades:\n"
-#~ "Download installation images for Red Hat Enterprise Linux releases, "
-#~ "including new releases.\n"
-#~ "\n"
-#~ "Support:\n"
-#~ "Access to the technical support experts at Red Hat or Red Hat's partners "
-#~ "for help with any issues you might encounter with this system.\n"
-#~ "\n"
-#~ "Compliance:\n"
-#~ "Stay in compliance with your subscription agreement and manage "
-#~ "subscriptions for systems connected to your account at http://rhn.redhat."
-#~ "com/.\n"
-#~ "\n"
-#~ "You will not be able to take advantage of these subscription privileges "
-#~ "without connecting your system to Red Hat Network.\n"
-#~ "\n"
-#~ "Tip: Red Hat values your privacy: http://www.redhat.com/legal/"
-#~ "privacy_statement.html"
-#~ msgstr ""
-#~ "您确定不想把您的系统连接到红帽网络吗?您将无法获得红帽企业 Linux 订阅为您"
-#~ "提供的以下好处:\n"
-#~ "\n"
-#~ "安全和更新:\n"
-#~ "接收包括安全更新在内的软件更新,使您的红帽企业 Linux 系统保持在最新的、安"
-#~ "全的状态\n"
-#~ "\n"
-#~ "下载和升级:\n"
-#~ "下载包括最新的发行版本在内的红帽企业 Linux 安装映像。\n"
-#~ "\n"
-#~ "支持:\n"
-#~ "在您的系统遇到问题时获得红帽或红帽合作伙伴提供的专家级的技术支持。\n"
-#~ "\n"
-#~ "遵守使用条款:\n"
-#~ "遵守您的订阅的使用条款,并管理与您在 http://rhn.redhat.com/ 中的帐号相连的"
-#~ "系统订阅。\n"
-#~ "\n"
-#~ "如果您的系统没有与红帽网络相连,您将无法完全获得这些订阅所带给您的好处。\n"
-#~ "\n"
-#~ "红帽尊重您的隐私权:http://www.redhat.com/legal/privacy_statement.html"
-
-#~ msgid "No thanks. I'll connect later."
-#~ msgstr "不,我将在以后连接。"
-
-#~ msgid "Create a New Login ..."
-#~ msgstr "创建一个新登录 ..."
-
-#~ msgid ""
-#~ "The two passwords you entered don't match. Please re-type your passwords."
-#~ msgstr "您输入的两个口令不匹配。请重新输入您的口令。"
-
-#~ msgid "Create a new Red Hat login"
-#~ msgstr "建立一个新的红帽登录"
-
-#~ msgid ""
-#~ "Fill in the form below to create a new Red Hat login for use with Red Hat "
-#~ "Network (http://rhn.redhat.com/). Required information is marked with a "
-#~ "'*':"
-#~ msgstr ""
-#~ "填写以下表格来创建一个使用红帽网络 (http://rhn.redhat.com/) 的红帽登录。必"
-#~ "需的信息以 '*' 标记:"
-
-#~ msgid "*Desired Login:"
-#~ msgstr "*登录:"
-
-#~ msgid "Examples: user(a)domain.com"
-#~ msgstr "例如:user(a)domain.com"
-
-#~ msgid "*Desired Password:"
-#~ msgstr "* 口令:"
-
-#~ msgid "*Confirm Password:"
-#~ msgstr "* 确认口令:"
-
-#~ msgid "Tip: Leave blank if not with a company."
-#~ msgstr "如果您是个人用户,把它留为空。"
-
-#~ msgid ""
-#~ "Tip: Red Hat values your privacy. View our privacy policy at: http://"
-#~ msgstr "红帽尊重您的隐私权。在这里查看红帽的隐私条款:http://"
-
-#~ msgid "Please enter your first name."
-#~ msgstr "您必须输入姓名。"
-
-#~ msgid "Please enter your last name."
-#~ msgstr "请输入您的姓。"
-
-#~ msgid "Please enter your email address."
-#~ msgstr "请输入您的电子邮件地址。"
-
-#~ msgid "Please enter a valid email address."
-#~ msgstr "请输入一个有效的电子邮件地址。"
-
-#~ msgid "Please enter your country."
-#~ msgstr "请输入您所在的国家。"
-
-#~ msgid "Please enter a longer login."
-#~ msgstr "请输入一个较长的登录。"
-
-#~ msgid "Please enter a longer password."
-#~ msgstr "请输入一个较长的口令。"
-
-#~ msgid "Please enter a shorter password."
-#~ msgstr "请输入一个较短的口令。"
-
-#~ msgid ""
-#~ "It appears this system has attempted to register to the Red Hat Network.\n"
-#~ "The system may already be set up for software updates.\n"
-#~ "\n"
-#~ "Are you sure you would like to continue?"
-#~ msgstr ""
-#~ "这个系统可能已经和红帽网络进行了注册。\n"
-#~ "这个系统可能已经设置了软件更新。\n"
-#~ "\n"
-#~ "您确定要继续吗?"
-
-#~ msgid "Select Organization"
-#~ msgstr "选择机构"
-
-#~ msgid ""
-#~ "Your login, %s, is associated with multiple organizations. You will need "
-#~ "to select an organization to connect this system to."
-#~ msgstr "您的登录 %s 与多个机构相连。您需要选择一个机构来与这个系统相连。"
-
-#~ msgid "Organization:"
-#~ msgstr "机构:"
-
-#~ msgid "You must select an organization."
-#~ msgstr "您必须选择一个机构。"
-
-#~ msgid "Access a subscription"
-#~ msgstr "访问一个订阅"
-
-#~ msgid ""
-#~ "You have no active subscriptions available in your account. You will "
-#~ "need to do one of the following to create an active subscription in your "
-#~ "account before this system can connect to Red Hat Network:"
-#~ msgstr ""
-#~ "您还没有激活您帐号内的订阅。您在把这个系统连接到红帽网络前需要使用以下的方"
-#~ "法之一在您帐号内创建一个激活的订阅:"
-
-#~ msgid "Activate a new subscription with an installation number:"
-#~ msgstr "使用一个安装码来激活一个新订阅:"
-
-#~ msgid ""
-#~ "You have already activated this installation number during this "
-#~ "registration."
-#~ msgstr "您在注册时已经激活了这个安装号。"
-
-#~ msgid "Installation Number:"
-#~ msgstr "安装号:"
-
-#, fuzzy
-#~ msgid "Example: XXXX-XXXX-XXXX-XXXX"
-#~ msgstr "例如:XXXX-XXXX-XXXX-XXXX-XXXX"
-
-#~ msgid ""
-#~ "Congratulations, you have successfully completed software updates set up "
-#~ "for this system.\n"
-#~ "\n"
-#~ "Your system is now ready to receive the software updates that will keep "
-#~ "it secure and supported.\n"
-#~ "\n"
-#~ "You'll know when software updates are available when a package icon "
-#~ "appears in the notification area of you desktop (usually in the upper-"
-#~ "right corner.) Clicking on this icon, when available, will guide you "
-#~ "through applying any updates that are available."
-#~ msgstr ""
-#~ "恭喜您,您已经成功地为这个系统设置了软件更新。\n"
-#~ "\n"
-#~ "您的系统现在可以接收软件更新。\n"
-#~ "\n"
-#~ "当有新的软件更新时,一个软件包图标会出现在您的桌面的通知区域上。点这个图标"
-#~ "将可以应用有效的更新。"
-
-#~ msgid "Subscriptions Activated:"
-#~ msgstr "激活的订阅:"
-
-#~ msgid ""
-#~ "A subscription-activating installation number was found on disk, but we "
-#~ "were not able to activate it (An unknown error occurred.) We used "
-#~ "existing active subscription slots available in the rhn account instead. "
-#~ "You may wish to contact Red Hat customer service regarding this issue: "
-#~ "http://www.redhat.com/apps/support/"
-#~ msgstr ""
-#~ "在磁盘上发现了一个订阅激活安装号,但是我们无法激活它(发生了一个未知的错"
-#~ "误。)我们将使用 rhn 帐号中的有效的激活订阅来代替它。您可以使用以下网址联"
-#~ "系红帽的客户服务部门来解决这个问题:http://www.redhat.com/apps/support/"
-
-#~ msgid "A installation number was found on disk, but we "
-#~ msgstr "在磁盘中发现了一个订阅激活安装码,但是我们"
-
-#~ msgid ""
-#~ "The installation number you have provided (%s) is invalid.\n"
-#~ "\n"
-#~ "Please check the number and try again or try another option listed on the "
-#~ "'Access a Subscription' screen."
-#~ msgstr ""
-#~ "您所提供的安装号 (%s) 无效。\n"
-#~ "\n"
-#~ "请检查这个安装号后再试,或使用 '访问一个订阅' 屏幕所列出的另一个选项。"
-
-#~ msgid ""
-#~ "The installation number you provided is valid but was already activated "
-#~ "and the subscriptions have already been used by systems in your "
-#~ "organization or is not usable for this system.\n"
-#~ "\n"
-#~ "Please try a different number or try another option listed on the 'Access "
-#~ "a Subscription' screen."
-#~ msgstr ""
-#~ "您所提供的安装号是正确的,但它已经被激活,这个订阅已经被您的机构内的系统所"
-#~ "使用,或无法在这个系统上使用。\n"
-#~ "\n"
-#~ "请使用一个不同的安装号,或使用 '访问一个订阅' 屏幕所列出的另一个选项。"
-
-#~ msgid ""
-#~ "The installation number you provided does not have subscriptions "
-#~ "associated with it.\n"
-#~ "\n"
-#~ "Please try a different number or try another option listed in the 'Access "
-#~ "a Subscription' screen."
-#~ msgstr ""
-#~ "您所提供的安装号并没有与它相关联的订阅。\n"
-#~ "\n"
-#~ "请使用一个不同的安装号,或使用 '访问一个订阅' 屏幕所列出的另一个选项。"
-
-#~ msgid ""
-#~ "There was a problem logging in:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "登录时出现问题:\n"
-#~ "%s"
-
-#~ msgid "There was problem logging in."
-#~ msgstr "登录时出现问题。"
-
-#, fuzzy
-#~ msgid "There was an error while getting the list of organizations."
-#~ msgstr "在产生配置档案时出现了一个错误。"
-
-#, fuzzy
-#~ msgid "You must enter an installation number."
-#~ msgstr "您必须输入一个安装号。"
-
-#, fuzzy
-#~ msgid "There was an error activating your number."
-#~ msgstr "在与红帽网络连接时出现错误。"
-
-#~ msgid "This installation number has already been activated."
-#~ msgstr "这个安装码已经被激活。"
-
-#, fuzzy
-#~ msgid "There was an error retrieving the privacy statement."
-#~ msgstr "在产生配置档案时出现了一个错误。"
-
-#~ msgid "Unable to access the server. Please check your network settings."
-#~ msgstr "无法访问这个服务器。请检查您的网络配置。"
-
-#~ msgid ""
-#~ "The server you are attempting to register against does not support this "
-#~ "version of the client."
-#~ msgstr "您要注册的服务器不支持这个版本的客户端。"
-
-#~ msgid "You must enter an Installation Number that "
-#~ msgstr "您必须输入注册号码"
-
-#~ msgid "Problem registering login name:\n"
-#~ msgstr "注册登录名时出现问题:\n"
-
-#~ msgid "Problem registering login name."
-#~ msgstr "注册登录名时出现问题。"
-
-#~ msgid ", quantity:"
-#~ msgstr "数量:"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "Red Hat Network Location: "
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "红帽网络位置:"
-
-#~ msgid ""
-#~ "\n"
-#~ "RHN Login: "
-#~ msgstr ""
-#~ "\n"
-#~ "红帽登录:"
-
-#~ msgid "Access Subscription"
-#~ msgstr "访问订阅"
-
-#~ msgid "Choose Organization"
-#~ msgstr "选择机构"
-
-#~ msgid "Choose an organization to use with this username"
-#~ msgstr "选择一个机构来使用这个用户名"
-
-#~ msgid "Specify an email address"
-#~ msgstr "指定一个电子邮件地址"
-
-#, fuzzy
-#~ msgid "Specify a installation number to use"
-#~ msgstr "指定一个要使用的订阅号"
-
-#~ msgid "Important Registration Info"
-#~ msgstr "重要的注册信息"
-
-#~ msgid "Registration information"
-#~ msgstr "登录信息"
-
-#~ msgid "Select organization"
-#~ msgstr "选择组织"
-
-#~ msgid "<small><b>Tip:</b> Red Hat values your privacy.</small>"
-#~ msgstr "<small><b>信息:</b> 红帽尊重您的隐私权。</small>"
-
-#~ msgid "Privacy Statement"
-#~ msgstr "隐私声明"
-
-#~ msgid "Red Hat Privacy Statement"
-#~ msgstr "红帽隐私声明"
-
-#, fuzzy
-#~ msgid ""
-#~ "Your account is associated with multiple <b>organizations</b>. You will "
-#~ "need to select an organization to register this system to."
-#~ msgstr "您的帐号与多个 <b>机构</b> 相连。您需要选择一个机构来注册这个系统。"
-
-#~ msgid "_Organization:"
-#~ msgstr "(_O)机构:"
-
-#~ msgid ""
-#~ "were not able to activate it (An unknown error occurred.) We used "
-#~ "existing "
-#~ msgstr "无法激活它(存在一个未知的错误。)使用在"
-
-#~ msgid ""
-#~ "active subscription slots available in the rhn account instead. You may "
-#~ "wish "
-#~ msgstr "rhn 帐号中有效的激活订阅。您也可以联系"
-
-#~ msgid "to contact Red Hat customer service regarding this issue: "
-#~ msgstr "红帽客户服务部门来解决这个问题:"
-
-#~ msgid "http://www.redhat.com/apps/support/"
-#~ msgstr "http://www.redhat.com/apps/support/"
-
-#~ msgid "activates subscriptions in your account."
-#~ msgstr "来在您的帐号中激活订阅。"
-
-#~ msgid "Only https and http are allowed."
-#~ msgstr "只允许使用 https 和 http。"
-
-#~ msgid "Error reading hardware information:"
-#~ msgstr "读取硬件信息时出错:"
-
-#~ msgid "Error reading DMI information:"
-#~ msgstr "读取 DMI 信息时出错:"
-
-#~ msgid "That user account and password is not valid\n"
-#~ msgstr "用户帐号和口令无效\n"
-
-#~ msgid "You must enter a user name."
-#~ msgstr "您必须输入用户名。"
-
-#~ msgid "You must enter and verify a password."
-#~ msgstr "您必须输入并校验一个口令。"
-
-#~ msgid ""
-#~ "Problem registering login:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "注册登录时出现问题:\n"
-#~ "%s"
-
-#~ msgid "Problem registering login."
-#~ msgstr "注册登录时出现问题。"
-
-#~ msgid "United States"
-#~ msgstr "美国"
-
-#~ msgid "Canada"
-#~ msgstr "加拿大"
-
-#~ msgid "Login Information:"
-#~ msgstr "登录信息:"
-
-#~ msgid "Account Information:"
-#~ msgstr "帐号信息:"
-
-#~ msgid "*First Name:"
-#~ msgstr "*名字:"
-
-#~ msgid "*Last Name:"
-#~ msgstr "*姓:"
-
-#~ msgid "*Company Name:"
-#~ msgstr "*公司名:"
-
-#~ msgid "Street Address:"
-#~ msgstr "街道地址:"
-
-#~ msgid "City:"
-#~ msgstr "城市:"
-
-#~ msgid "State/Province:"
-#~ msgstr "州/省:"
-
-#~ msgid "Zip/Post Code:"
-#~ msgstr "邮政编码:"
-
-#~ msgid "*Country:"
-#~ msgstr "*国家:"
-
-#~ msgid " Address 2:"
-#~ msgstr " 地址行 2:"
-
-#~ msgid " Address:"
-#~ msgstr "地址:"
-
-#~ msgid " C_ity:"
-#~ msgstr "(_i)城市:"
-
-#~ msgid " Co_mpany Name:"
-#~ msgstr "(_m)公司名:"
-
-#~ msgid " _State/Province:"
-#~ msgstr "(_S)州/省:"
-
-#~ msgid " _Zip/Postal code:"
-#~ msgstr "(_Z)邮政编码:"
-
-#~ msgid "* C_onfirm password: "
-#~ msgstr "* 确认口令 (_o): "
-
-#~ msgid "* Co_untry:"
-#~ msgstr "* (_u)国家:"
-
-#~ msgid "* Desired _Login:"
-#~ msgstr "* (_L)登录:"
-
-#~ msgid "* Desired _Password:"
-#~ msgstr "* 口令 (_P):"
-
-#~ msgid "* Last _Name:"
-#~ msgstr "*(_N)姓:"
-
-#~ msgid "* _Email Address: "
-#~ msgstr "* 电子邮件地址 (_E): "
-
-#~ msgid "* _First Name:"
-#~ msgstr "*(_F)名:"
-
-#~ msgid "<b>Account Information:</b>"
-#~ msgstr "<b>帐号信息:</b>"
-
-#~ msgid "<b>Login Information:</b>"
-#~ msgstr "<b>登录信息:</b>"
-
-#~ msgid "<small><b>Examples:</b> user(a)domain.com</small>"
-#~ msgstr "<small><b>例如:</b> user(a)domain.com</small>"
-
-#~ msgid "<small><b>Tip:</b> Leave blank if not with a company.</small>"
-#~ msgstr "<small><b>信息:</b> 如果是一个个人用户,请把它留为空。</small>"
-
-#~ msgid "Afghanistan"
-#~ msgstr "阿富汗"
-
-#~ msgid "Albania"
-#~ msgstr "阿尔巴尼亚"
-
-#~ msgid "Algeria"
-#~ msgstr "阿尔及利亚"
-
-#~ msgid "American Samoa"
-#~ msgstr "美属萨摩尔"
-
-#~ msgid "Andorra"
-#~ msgstr "安道尔"
-
-#~ msgid "Angola"
-#~ msgstr "安格拉"
-
-#~ msgid "Anguilla"
-#~ msgstr "安圭拉"
-
-#~ msgid "Antarctica"
-#~ msgstr "南极洲"
-
-#~ msgid "Antigua and Barbuda"
-#~ msgstr "安提瓜和巴布达"
-
-#~ msgid "Argentina"
-#~ msgstr "阿根廷"
-
-#~ msgid "Armenia"
-#~ msgstr "亚美尼亚"
-
-#~ msgid "Aruba"
-#~ msgstr "阿鲁巴"
-
-#~ msgid "Australia"
-#~ msgstr "澳大利亚"
-
-#~ msgid "Austria"
-#~ msgstr "奥地利"
-
-#~ msgid "Azerbaijan"
-#~ msgstr "阿塞拜疆"
-
-#~ msgid "Bahamas"
-#~ msgstr "巴哈马"
-
-#~ msgid "Bahrain"
-#~ msgstr "巴林"
-
-#~ msgid "Bangladesh"
-#~ msgstr "孟加拉国"
-
-#~ msgid "Barbados"
-#~ msgstr "巴巴多斯"
-
-#~ msgid "Belarus"
-#~ msgstr "白俄罗斯"
-
-#~ msgid "Belgium"
-#~ msgstr "比利时"
-
-#~ msgid "Belize"
-#~ msgstr "伯利兹"
-
-#~ msgid "Benin"
-#~ msgstr "贝宁"
-
-#~ msgid "Bermuda"
-#~ msgstr "百慕大"
-
-#~ msgid "Bhutan"
-#~ msgstr "不丹"
-
-#~ msgid "Bolivia"
-#~ msgstr "玻利维亚"
-
-#~ msgid "Bosnia and Herzegovina"
-#~ msgstr "波斯尼亚和黑塞哥维那"
-
-#~ msgid "Botswana"
-#~ msgstr "博茨瓦那"
-
-#~ msgid "Bouvet Island"
-#~ msgstr "布维岛"
-
-#~ msgid "Brazil"
-#~ msgstr "巴西"
-
-#~ msgid "British Indian Ocean Territory"
-#~ msgstr "英联邦的印度洋领域"
-
-#~ msgid "Brunei Darussalam"
-#~ msgstr "文莱"
-
-#~ msgid "Bulgaria"
-#~ msgstr "保加利亚"
-
-#~ msgid "Burkina Faso"
-#~ msgstr "布其纳法索"
-
-#~ msgid "Burundi"
-#~ msgstr "布隆迪"
-
-#~ msgid "C_reate new login"
-#~ msgstr "(_r)建立新登录"
-
-#~ msgid "Cambodia"
-#~ msgstr "柬埔寨"
-
-#~ msgid "Cameroon"
-#~ msgstr "喀麦隆"
-
-#~ msgid "Cape Verde"
-#~ msgstr "佛得角"
-
-#~ msgid "Cayman Islands"
-#~ msgstr "开曼群岛"
-
-#~ msgid "Central African Republic"
-#~ msgstr "中非共和国"
-
-#~ msgid "Chad"
-#~ msgstr "乍得"
-
-#~ msgid "Chile"
-#~ msgstr "智利"
-
-#~ msgid "China"
-#~ msgstr "中国"
-
-#~ msgid "Christmas Island"
-#~ msgstr "圣诞岛"
-
-#~ msgid "Cocos (Keeling) Islands"
-#~ msgstr "可可岛"
-
-#~ msgid "Colombia"
-#~ msgstr "哥伦比亚"
-
-#~ msgid "Comoros"
-#~ msgstr "科摩罗"
-
-#~ msgid "Congo"
-#~ msgstr "刚果"
-
-#~ msgid "Cook Islands"
-#~ msgstr "库克群岛"
-
-#~ msgid "Costa Rica"
-#~ msgstr "哥斯达黎加"
-
-#~ msgid "Cote d'Ivoire"
-#~ msgstr "科特迪瓦"
-
-#~ msgid "Create a _New Login"
-#~ msgstr "创建一个新登录(_N)"
-
-#~ msgid "Create a new Red Hat Network login"
-#~ msgstr "建立一个新的红帽网络登录"
-
-#~ msgid "Croatia"
-#~ msgstr "克罗地亚"
-
-#~ msgid "Cuba"
-#~ msgstr "古巴"
-
-#~ msgid "Cyprus"
-#~ msgstr "塞浦路斯"
-
-#~ msgid "Czech Republic"
-#~ msgstr "捷克共和国"
-
-#~ msgid "Denmark"
-#~ msgstr "丹麦"
-
-#~ msgid "Djibouti"
-#~ msgstr "吉布提"
-
-#~ msgid "Dominica"
-#~ msgstr "多米尼加"
-
-#~ msgid "Dominican Republic"
-#~ msgstr "多米尼加共和国"
-
-#~ msgid "East Timor"
-#~ msgstr "东帝汶"
-
-#~ msgid "Ecuador"
-#~ msgstr "厄瓜多尔"
-
-#~ msgid "Egypt"
-#~ msgstr "埃及"
-
-#~ msgid "El Salvador"
-#~ msgstr "萨尔瓦多"
-
-#~ msgid "Equatorial Guinea"
-#~ msgstr "赤道几内亚"
-
-#~ msgid "Eritrea"
-#~ msgstr "厄立特里亚"
-
-#~ msgid "Estonia"
-#~ msgstr "爱沙尼亚"
-
-#~ msgid "Ethiopia"
-#~ msgstr "埃塞俄比亚"
-
-#~ msgid "Falkland Islands (Malvinas)"
-#~ msgstr "福克兰群岛"
-
-#~ msgid "Faroe Islands"
-#~ msgstr "法罗群岛"
-
-#~ msgid "Fiji"
-#~ msgstr "斐济"
-
-#~ msgid ""
-#~ "Fill in the form below to create a new Red Hat login. Required "
-#~ "information is marked with a '*':"
-#~ msgstr "填写以下表格来创建一个新的红帽网络登录。必需的信息以 '*' 标记:"
-
-#~ msgid "Finland"
-#~ msgstr "芬兰"
-
-#~ msgid "France"
-#~ msgstr "法国"
-
-#~ msgid "France, Metropolitan"
-#~ msgstr "法国,本土"
-
-#~ msgid "French Guiana"
-#~ msgstr "法属圭亚那"
-
-#~ msgid "French Polynesia"
-#~ msgstr "法属玻里尼西亚"
-
-#~ msgid "French Southern Territories"
-#~ msgstr "法属南部领土"
-
-#~ msgid "Gabon"
-#~ msgstr "加蓬"
-
-#~ msgid "Gambia"
-#~ msgstr "甘比亚"
-
-#~ msgid "Georgia"
-#~ msgstr "乔治亚州"
-
-#~ msgid "Germany"
-#~ msgstr "德国"
-
-#~ msgid "Ghana"
-#~ msgstr "加纳"
-
-#~ msgid "Gibraltar"
-#~ msgstr "直布罗陀"
-
-#~ msgid "Greece"
-#~ msgstr "希腊"
-
-#~ msgid "Greenland"
-#~ msgstr "格陵兰"
-
-#~ msgid "Grenada"
-#~ msgstr "格林纳达"
-
-#~ msgid "Guadeloupe"
-#~ msgstr "瓜德罗普"
-
-#~ msgid "Guam"
-#~ msgstr "关岛"
-
-#~ msgid "Guatemala"
-#~ msgstr "瓜地马拉"
-
-#~ msgid "Guinea"
-#~ msgstr "几内亚"
-
-#~ msgid "Guinea-Bissau"
-#~ msgstr "几内亚比绍"
-
-#~ msgid "Guyana"
-#~ msgstr "圭亚那"
-
-#~ msgid "Haiti"
-#~ msgstr "海地"
-
-#~ msgid "Heard Island and McDonald Islands"
-#~ msgstr "赫德与麦克唐纳群岛"
-
-#~ msgid "Honduras"
-#~ msgstr "洪都拉斯"
-
-#~ msgid "Hong Kong"
-#~ msgstr "中国香港"
-
-#~ msgid "Hungary"
-#~ msgstr "匈牙利"
-
-#~ msgid "Iceland"
-#~ msgstr "冰岛"
-
-#~ msgid "India"
-#~ msgstr "印度"
-
-#~ msgid "Indonesia"
-#~ msgstr "印度尼西亚"
-
-#~ msgid "Iran (Islamic Republic of)"
-#~ msgstr "伊朗 (伊斯兰共和国)"
-
-#~ msgid "Iraq"
-#~ msgstr "伊拉克"
-
-#~ msgid "Ireland"
-#~ msgstr "爱尔兰"
-
-#~ msgid "Israel"
-#~ msgstr "以色列"
-
-#~ msgid "Italy"
-#~ msgstr "意大利"
-
-#~ msgid "Jamaica"
-#~ msgstr "牙买加"
-
-#~ msgid "Japan"
-#~ msgstr "日本"
-
-#~ msgid "Jordan"
-#~ msgstr "约旦"
-
-#~ msgid "Kazakhstan"
-#~ msgstr "哈萨克斯坦"
-
-#~ msgid "Kenya"
-#~ msgstr "肯尼亚"
-
-#~ msgid "Kiribati"
-#~ msgstr "基里巴斯"
-
-#~ msgid "Korea, Democratic People's Republic of"
-#~ msgstr "朝鲜人民民主共和国"
-
-#~ msgid "Korea, Republic of"
-#~ msgstr "朝鲜共和国"
-
-#~ msgid "Kuwait"
-#~ msgstr "科威特"
-
-#~ msgid "Kyrgyzstan"
-#~ msgstr "吉尔吉斯斯坦"
-
-#~ msgid "Lao People's Democratic Republic"
-#~ msgstr "老挝人民民主共和国"
-
-#~ msgid "Latin America"
-#~ msgstr "拉丁美洲"
-
-#~ msgid "Latvia"
-#~ msgstr "拉托维亚"
-
-#~ msgid "Lebanon"
-#~ msgstr "黎巴嫩"
-
-#~ msgid "Lesotho"
-#~ msgstr "莱索脱"
-
-#~ msgid "Liberia"
-#~ msgstr "利比里亚"
-
-#~ msgid "Libyan Arab Jamahiriya"
-#~ msgstr "阿拉伯利比亚民众国"
-
-#~ msgid "Liechtenstein"
-#~ msgstr "列支敦士登"
-
-#~ msgid "Lithuania"
-#~ msgstr "立陶宛"
-
-#~ msgid "Luxembourg"
-#~ msgstr "卢森堡"
-
-#~ msgid "Macau"
-#~ msgstr "中国澳门"
-
-#~ msgid "Macedonia"
-#~ msgstr "马塞多尼亚"
-
-#~ msgid "Madagascar"
-#~ msgstr "马达加斯加"
-
-#~ msgid "Malawi"
-#~ msgstr "马拉威"
-
-#~ msgid "Malaysia"
-#~ msgstr "马来西亚"
-
-#~ msgid "Maldives"
-#~ msgstr "马尔代夫"
-
-#~ msgid "Mali"
-#~ msgstr "马里"
-
-#~ msgid "Malta"
-#~ msgstr "马耳他"
-
-#~ msgid "Marshall Islands"
-#~ msgstr "马绍尔群岛"
-
-#~ msgid "Martinique"
-#~ msgstr "马提尼克"
-
-#~ msgid "Mauritania"
-#~ msgstr "毛里塔尼亚"
-
-#~ msgid "Mauritius"
-#~ msgstr "毛里求斯"
-
-#~ msgid "Mayotte"
-#~ msgstr "马约特岛"
-
-#~ msgid "Mexico"
-#~ msgstr "墨西哥"
-
-#~ msgid "Micronesia (Federated States of)"
-#~ msgstr "密克罗尼西亚联邦"
-
-#~ msgid "Moldova"
-#~ msgstr "摩尔多瓦"
-
-#~ msgid "Monaco"
-#~ msgstr "摩纳哥"
-
-#~ msgid "Mongolia"
-#~ msgstr "蒙古"
-
-#~ msgid "Montserrat"
-#~ msgstr "蒙特塞拉特岛"
-
-#~ msgid "Morocco"
-#~ msgstr "摩洛哥"
-
-#~ msgid "Mozambique"
-#~ msgstr "莫桑比克"
-
-#~ msgid "Myanmar"
-#~ msgstr "缅甸"
-
-#~ msgid "Namibia"
-#~ msgstr "纳米比亚"
-
-#~ msgid "Nauru"
-#~ msgstr "瑙鲁"
-
-#~ msgid "Nepal"
-#~ msgstr "尼泊尔"
-
-#~ msgid "Netherlands"
-#~ msgstr "荷兰"
-
-#~ msgid "Netherlands Antilles"
-#~ msgstr "荷属安的列斯"
-
-#~ msgid "New Caledonia"
-#~ msgstr "新喀里多尼亚"
-
-#~ msgid "New Zealand"
-#~ msgstr "新西兰"
-
-#~ msgid "Nicaragua"
-#~ msgstr "尼加拉瓜"
-
-#~ msgid "Niger"
-#~ msgstr "尼日尔"
-
-#~ msgid "Nigeria"
-#~ msgstr "尼日利亚"
-
-#~ msgid "Niue"
-#~ msgstr "纽埃"
-
-#~ msgid "Norfolk Island"
-#~ msgstr "诺福克群岛"
-
-#~ msgid "Northern Mariana Islands"
-#~ msgstr "北马里亚纳群岛"
-
-#~ msgid "Norway"
-#~ msgstr "挪威"
-
-#~ msgid "Oman"
-#~ msgstr "阿曼"
-
-#~ msgid "Pakistan"
-#~ msgstr "巴基斯坦"
-
-#~ msgid "Palau"
-#~ msgstr "帕劳"
-
-#~ msgid "Panama"
-#~ msgstr "巴拿马"
-
-#~ msgid "Papua New Guinea"
-#~ msgstr "巴布亚新几内亚"
-
-#~ msgid "Paraguay"
-#~ msgstr "巴拉圭"
-
-#~ msgid "Peru"
-#~ msgstr "秘鲁"
-
-#~ msgid "Philippines"
-#~ msgstr "菲律宾"
-
-#~ msgid "Pitcairn"
-#~ msgstr "皮特开恩群岛"
-
-#~ msgid "Poland"
-#~ msgstr "波兰"
-
-#~ msgid "Portugal"
-#~ msgstr "葡萄牙"
-
-#~ msgid "Puerto Rico"
-#~ msgstr "波多黎各"
-
-#~ msgid "Qatar"
-#~ msgstr "卡塔尔"
-
-#~ msgid ""
-#~ "Red Hat Logins and Passwords must be at least 5 alphanumeric characters"
-#~ msgstr "Red Hat 登录名和密码必须至少5个字母或数字"
-
-#~ msgid "Reunion"
-#~ msgstr "留尼汪岛"
-
-#~ msgid "Romania"
-#~ msgstr "罗马尼亚"
-
-#~ msgid "Russian Federation"
-#~ msgstr "俄罗斯联邦"
-
-#~ msgid "Rwanda"
-#~ msgstr "卢旺达"
-
-#~ msgid "Saint Helena"
-#~ msgstr "圣赫勒那"
-
-#~ msgid "Saint Kitts and Nevis"
-#~ msgstr "圣基茨和尼维斯联邦"
-
-#~ msgid "Saint Lucia"
-#~ msgstr "圣卢西亚"
-
-#~ msgid "Saint Pierre and Miquelon "
-#~ msgstr "圣皮埃尔和密克隆"
-
-#~ msgid "Saint Vincent and the Grenadines"
-#~ msgstr "圣文森特和格林纳丁斯"
-
-#~ msgid "Samoa"
-#~ msgstr "萨摩亚"
-
-#~ msgid "San Marino"
-#~ msgstr "圣马利诺"
-
-#~ msgid "Sao Tome and Principe"
-#~ msgstr "圣多美与普林西比"
-
-#~ msgid "Saudi Arabia"
-#~ msgstr "沙特阿拉伯"
-
-#~ msgid "Senegal"
-#~ msgstr "塞内加尔"
-
-#~ msgid "Seychelles"
-#~ msgstr "塞舌尔"
-
-#~ msgid "Sierra Leone"
-#~ msgstr "塞拉利昂"
-
-#~ msgid "Singapore"
-#~ msgstr "新加坡"
-
-#~ msgid "Slovakia"
-#~ msgstr "斯洛伐克"
-
-#~ msgid "Slovenia"
-#~ msgstr "斯洛文尼亚"
-
-#~ msgid "Solomon Islands"
-#~ msgstr "所罗门群岛"
-
-#~ msgid "Somalia"
-#~ msgstr "索马里"
-
-#~ msgid "South Africa"
-#~ msgstr "南非"
-
-#~ msgid "South Georgia and the South Sandwich Island"
-#~ msgstr "南乔治亚岛和南桑德韦奇岛"
-
-#~ msgid "Spain"
-#~ msgstr "西班牙"
-
-#~ msgid "Sri Lanka"
-#~ msgstr "斯里兰卡"
-
-#~ msgid "Sudan"
-#~ msgstr "苏丹"
-
-#~ msgid "Suriname"
-#~ msgstr "苏里南"
-
-#~ msgid "Svalbard and Jan Mayen Islands"
-#~ msgstr "斯马尔巴特和扬马延岛"
-
-#~ msgid "Swaziland"
-#~ msgstr "斯威士兰"
-
-#~ msgid "Sweden"
-#~ msgstr "瑞典"
-
-#~ msgid "Switzerland"
-#~ msgstr "瑞士"
-
-#~ msgid "Syrian Arab Republic"
-#~ msgstr "叙利亚阿拉伯共和国"
-
-#~ msgid "Taiwan"
-#~ msgstr "台湾"
-
-#~ msgid "Tajikistan"
-#~ msgstr "塔吉克斯坦"
-
-#~ msgid "Tanzania, United Republic of"
-#~ msgstr "坦赞尼亚联合共和国"
-
-#~ msgid "Thailand"
-#~ msgstr "泰国"
-
-#~ msgid "Togo"
-#~ msgstr "多哥"
-
-#~ msgid "Tokelau"
-#~ msgstr "托克劳"
-
-#~ msgid "Tonga"
-#~ msgstr "汤加"
-
-#~ msgid "Trinidad and Tobago"
-#~ msgstr "特立尼达和多巴哥"
-
-#~ msgid "Tunisia"
-#~ msgstr "突尼斯"
-
-#~ msgid "Turkey"
-#~ msgstr "土耳其"
-
-#~ msgid "Turkmenistan"
-#~ msgstr "土库曼斯坦"
-
-#~ msgid "Turks and Caicos Islands"
-#~ msgstr "特克斯群岛与凯科斯群岛"
-
-#~ msgid "Tuvalu"
-#~ msgstr "图瓦卢"
-
-#~ msgid "Uganda"
-#~ msgstr "乌干达"
-
-#~ msgid "Ukraine"
-#~ msgstr "乌克兰"
-
-#~ msgid "United Arab Emirates"
-#~ msgstr "阿拉伯联合酋长国"
-
-#~ msgid "United Kingdom"
-#~ msgstr "英国"
-
-#~ msgid "United States Minor Outlying Islands"
-#~ msgstr "美属群岛"
-
-#~ msgid "Uruguay"
-#~ msgstr "乌拉圭"
-
-#~ msgid "Uzbekistan"
-#~ msgstr "乌兹别克斯坦"
-
-#~ msgid "Vanuatu"
-#~ msgstr "瓦努阿图"
-
-#~ msgid "Vatican City State (Holy See)"
-#~ msgstr "梵蒂冈"
-
-#~ msgid "Venezuela"
-#~ msgstr "委内瑞拉"
-
-#~ msgid "Viet Nam"
-#~ msgstr "越南"
-
-#~ msgid "Virgin Islands (British)"
-#~ msgstr "维尔京群岛 (英属)"
-
-#~ msgid "Virgin Islands (U.S.)"
-#~ msgstr "维尔京群岛 (美属)"
-
-#~ msgid "Wallis and Futuna Islands"
-#~ msgstr "瓦里斯和富土那群岛"
-
-#~ msgid "Western Sahara"
-#~ msgstr "西部撒哈拉"
-
-#~ msgid "Yemen"
-#~ msgstr "也门"
-
-#~ msgid "Yugoslavia"
-#~ msgstr "南斯拉夫"
-
-#~ msgid "Zaire"
-#~ msgstr "扎伊尔"
-
-#~ msgid "Zambia"
-#~ msgstr "赞比亚"
-
-#~ msgid "Zimbabwe"
-#~ msgstr "津巴布韦"
commit c454b5c47e9cb7f1a0faa9e3ced6419c38663824
Author: ypoyarko <ypoyarko(a)fedoraproject.org>
Date: Mon Jun 14 22:21:05 2010 +0000
l10n: Updates to Russian (ru) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/backend/po/ru.po b/backend/po/ru.po
index e5543f7..e868937 100644
--- a/backend/po/ru.po
+++ b/backend/po/ru.po
@@ -2,19 +2,20 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
+# Yulia <ypoyarko(a)redhat.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: ru\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-06 16:29+0200\n"
-"PO-Revision-Date: 2010-05-06 11:54+1000\n"
+"PO-Revision-Date: 2010-06-15 08:04\n"
"Language-Team: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\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"
+"Last-Translator: Yulia <ypoyarko(a)redhat.com>\n"
#: ../server/rhnSQL/sql_lib.py:81 ../server/handlers/xmlrpc/up2date.py:540
#, python-format
@@ -39,7 +40,7 @@ msgstr ""
#: ../server/rhnPackage.py:203 ../server/rhnPackage.py:291
#: ../server/rhnPackage.py:357
msgid "Package not found"
-msgstr ""
+msgstr "Пакет не найден"
#: ../server/apacheAuth.py:55
#, python-format
@@ -49,16 +50,16 @@ msgstr ""
#: ../server/apacheAuth.py:71
#, python-format
msgid "Sent proxy signature %s does not match ours %s."
-msgstr ""
+msgstr "Отправленная подпись прокси-сервера %s не соответствует %s."
#: ../server/apacheAuth.py:102
msgid "declined proxy authentication"
-msgstr ""
+msgstr "отказано в аутентификации прокси"
#: ../server/apacheRequest.py:47
#, python-format
msgid "Invalid request received (%s)."
-msgstr ""
+msgstr "Получен недопустимый запрос (%s)."
#: ../server/apacheRequest.py:105
#, python-format
@@ -66,6 +67,8 @@ msgid ""
"IMPORTANT MESSAGE FOLLOWS:\n"
"%s"
msgstr ""
+"ВАЖНО:\n"
+"%s"
#: ../server/apacheRequest.py:130
#, python-format
@@ -77,12 +80,12 @@ msgstr ""
#: ../server/apacheRequest.py:556
#, python-format
msgid "Invalid URI %s"
-msgstr ""
+msgstr "Недопустимый URI %s"
#. ignore ORA-20277: (product_no_service)
#: ../server/rhnServer/server_lib.py:66
msgid "Attempt to register a system failed"
-msgstr ""
+msgstr "Не удалось зарегистрировать систему"
#: ../server/rhnServer/server_token.py:84
#, python-format
@@ -91,12 +94,12 @@ msgstr ""
#: ../server/rhnServer/server_token.py:86
msgid "Conflicting base channels"
-msgstr ""
+msgstr "Конфликт основных каналов"
#: ../server/rhnServer/server_token.py:210
#, python-format
msgid "Failed to add server to group %s"
-msgstr ""
+msgstr "Не удалось добавить сервер в группу %s"
#: ../server/rhnServer/server_token.py:517
#, python-format
@@ -104,9 +107,8 @@ msgid "Maximum usage count of %s reached"
msgstr ""
#: ../server/rhnServer/server_token.py:648
-msgid ""
-"Registration failed: RHN Software Management service entitlements exhausted"
-msgstr ""
+msgid "Registration failed: RHN Software Management service entitlements exhausted"
+msgstr "Ошибка регистрации: недостаточно полномочий управления RHN"
#: ../server/rhnServer/server_token.py:762
msgid ""
@@ -117,7 +119,7 @@ msgstr ""
#: ../server/rhnServer/server_token.py:840
#, python-format
msgid "Could not find token '%s'"
-msgstr ""
+msgstr "Токен «%s» не найден"
#. Cannot use activation keys from different orgs
#: ../server/rhnServer/server_token.py:872
@@ -127,7 +129,7 @@ msgstr ""
#. Two tokens with different kickstart sessions
#: ../server/rhnServer/server_token.py:882
msgid "Kickstart session mismatch"
-msgstr ""
+msgstr "Несоответствие сеанса кикстарта"
#: ../server/rhnServer/server_token.py:902
msgid "Stacking of re-registration tokens is not supported"
@@ -136,11 +138,11 @@ msgstr ""
#: ../server/rhnServer/server_class.py:98
#, python-format
msgid "Architecture `%s' is not supported"
-msgstr ""
+msgstr "Архитектура «%s» не поддерживается"
#: ../server/rhnUser.py:382 ../server/rhnUser.py:385
msgid "Invalid username/password combination"
-msgstr ""
+msgstr "Неверная комбинация имени и пароля"
#. nope, not reserved either
#: ../server/rhnUser.py:543
@@ -151,7 +153,7 @@ msgstr ""
#. New accounts have to specify an e-mail address
#: ../server/rhnUser.py:549
msgid "E-mail address not specified"
-msgstr ""
+msgstr "Не указан электронный адрес"
#. wrong organization
#. Invalid org password
@@ -162,22 +164,22 @@ msgstr ""
#: ../server/rhnUser.py:614
#, python-format
msgid "User `%s' not a member of organization %s"
-msgstr ""
+msgstr "Пользователь «%s» не входит в состав организации %s"
#: ../server/rhnUser.py:642
#, python-format
msgid "username should be at least %d characters"
-msgstr ""
+msgstr "имя пользователя должно содержать не меньше %d символов"
#: ../server/rhnUser.py:645
#, python-format
msgid "username should be less than %d characters"
-msgstr ""
+msgstr "имя пользователя должно содержать не больше %d символов"
#: ../server/rhnUser.py:656
#, python-format
msgid "username = `%s', invalid character `%s'"
-msgstr ""
+msgstr "имя пользователя — «%s», недопустимый символ — «%s»"
#: ../server/rhnUser.py:674
#, python-format
@@ -194,27 +196,27 @@ msgstr ""
#: ../server/rhnUser.py:762
#, python-format
msgid "password must be at least %d characters"
-msgstr ""
+msgstr "пароль должен содержать не меньше %d символов"
#: ../server/rhnUser.py:765
#, python-format
msgid "Password must be shorter than %d characters"
-msgstr ""
+msgstr "пароль должен содержать не больше %d символов"
#: ../server/rhnUser.py:783
#, python-format
msgid "password contains character `%s'"
-msgstr ""
+msgstr "пароль содержит символ «%s»"
#: ../server/rhnUser.py:790
#, python-format
msgid "username should be at least %d characters long"
-msgstr ""
+msgstr "имя пользователя должно содержать не меньше %d символов"
#: ../server/rhnUser.py:801
#, python-format
msgid "Cannot register usernames ending with %s"
-msgstr ""
+msgstr "Не удалось зарегистрировать имена, заканчивающиеся на %s"
#: ../server/rhnChannel.py:1967
#, python-format
@@ -234,7 +236,7 @@ msgstr ""
#: ../server/rhnChannel.py:1987
#, python-format
msgid "Insufficient subscription permissions for release (%s, %s"
-msgstr ""
+msgstr "Недостаточные разрешения подписки (%s, %s"
#. Various messages that can be reused
#.
@@ -243,7 +245,7 @@ msgstr ""
#: ../server/rhnChannel.py:2258 ../server/rhnChannel.py:2269
#: ../server/rhnChannel.py:2284 ../server/rhnChannel.py:2292
msgid "System Registered but Inactive"
-msgstr ""
+msgstr "Система зарегистрирована, но неактивна"
#: ../server/rhnChannel.py:2259
#, python-format
@@ -440,8 +442,7 @@ msgstr ""
#: ../server/importlib/userAuth.py:146
#, python-format
-msgid ""
-"You are not allowed to manage channel %s, or that channel does not exist"
+msgid "You are not allowed to manage channel %s, or that channel does not exist"
msgstr ""
#: ../common/rhnException.py:43
@@ -820,8 +821,7 @@ msgid "Unable to entitle system"
msgstr ""
#: ../common/rhnException.py:201
-msgid ""
-"Registration token unable to entitle system: maximum membership exceeded"
+msgid "Registration token unable to entitle system: maximum membership exceeded"
msgstr ""
#. 100-109: e-mail and uuid related faults
@@ -1098,15 +1098,15 @@ msgstr ""
#: ../common/rhnException.py:313
msgid "File contains binary data"
-msgstr ""
+msgstr "Файл содержит двоичные данные"
#: ../common/rhnException.py:314
msgid "Configuration channel is not empty"
-msgstr ""
+msgstr "Непустой канал конфигурации"
#: ../common/rhnException.py:315
msgid "Permission error"
-msgstr ""
+msgstr "Ошибка разрешений"
#: ../common/rhnException.py:316
msgid "Content missing for configuration file"
@@ -1118,11 +1118,11 @@ msgstr ""
#: ../common/rhnException.py:318
msgid "Configuration channel does not exist"
-msgstr ""
+msgstr "Канал конфигурации не существует"
#: ../common/rhnException.py:319
msgid "Configuration channel already exists"
-msgstr ""
+msgstr "Канал конфигурации уже существует"
#: ../common/rhnException.py:320
msgid "File missing from configuration channel"
@@ -1142,7 +1142,7 @@ msgstr ""
#: ../common/rhnException.py:324
msgid "Full path of file must be specified"
-msgstr ""
+msgstr "Необходимо указать абсолютный путь к файлу"
#. 5000 - 5099: entitlement mapper errors
#: ../common/rhnException.py:327
@@ -1155,11 +1155,11 @@ msgstr ""
#: ../common/rhnException.py:329
msgid "Invalid user role"
-msgstr ""
+msgstr "Недопустимая роль пользователя"
#: ../common/rhnException.py:330
msgid "Invalid server group"
-msgstr ""
+msgstr "Недопустимая группа серверов"
#: ../common/rhnException.py:331
msgid "Invalid channel family"
@@ -1181,6 +1181,8 @@ msgid ""
"Error Message:\n"
" %s\n"
msgstr ""
+"Сообщение:\n"
+" %s\n"
#: ../common/rhnException.py:431
#, python-format
@@ -1196,3 +1198,4 @@ msgstr ""
#, python-format
msgid "Explanation: %s"
msgstr ""
+
commit a124fd8e3259e3af2f2e0ccaa25062a52d5f4371
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Jun 14 17:28:20 2010 -0400
576314 - fix for errata being added to the email queue multiple times before it can be run
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
index e6514d7..2638cee 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
@@ -111,6 +111,10 @@ SELECT DISTINCT
FROM web_customer wc,
rhnChannelErrata CE
WHERE CE.errata_id = :errata_id
+ and not exists (select q2.errata_id
+ from rhnErrataNotificationQueue Q2
+ where Q2.errata_id = :errata_id and
+ Q2.org_id = wc.id)
</query>
</write-mode>
13 years, 11 months
java/code
by Partha Aji
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 3 +
java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp | 18 +++++++++-
2 files changed, 20 insertions(+), 1 deletion(-)
New commits:
commit 4d96b504e378bac2d3361900a94a8ec20b51b18e
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 15 15:44:26 2010 -0400
Added a sort of 'confirm' logic for delete systems in dup compares page
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 1f04705..7613e05 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -5797,6 +5797,9 @@ value for this entitlement, excluding the default organization's consumption.</s
</trans-unit>
<trans-unit id="System Identity Properties">
<source>System Identity Properties</source>
+ </trans-unit>
+ <trans-unit id="Check to Confirm Delete">
+ <source>Select to Confirm Deletion</source>
</trans-unit>
<trans-unit id="System Content And Monitoring">
<source>System Content And Monitoring</source>
diff --git a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
index 0c9b449..5c17997 100644
--- a/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/duplicate/duplicatesystemscompare.jsp
@@ -19,6 +19,7 @@
}
}
+
function pageToggleRows(linkId, ids){
for (var i = 0 ; i < ids.length; i++) {
toggleElement(document.getElementById(ids[i]));
@@ -27,6 +28,19 @@
toggleElement(document.getElementById(linkId + 'Hide'));
}
+ function handle_delete(chk_id, div_id, form) {
+ var delete_chk_box = document.getElementById(chk_id);
+ if (delete_chk_box.checked == true) {
+ return form.submit();
+ }
+
+ var delete_chk_box_div = document.getElementById(div_id);
+ if (delete_chk_box_div.style.display == 'none') {
+ delete_chk_box_div.style.display = '';
+ }
+ return false;
+ }
+
</script>
</head>
<body>
@@ -91,7 +105,9 @@
</c:when>
<c:otherwise><td></c:otherwise>
</c:choose>
- <input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}"/></td>
+ <div style="display:none" id='div${current.value}'> <input type="checkbox" id="chk_id_${current.value}" name="chk${current.value}" value="${current.value}"/> - <bean:message key="Check to Confirm Delete"/></div>
+ <input type="submit" name="btn${current.value}" value="${rhn:localize('Delete System Profile')}" onclick="return handle_delete('chk_id_${current.value}','div${current.value}', this.form);"/><br/>
+ </td>
</c:forEach>
</tr>
<tr>
13 years, 11 months
java/code
by Tomas Lestach
java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java | 5 +++++
1 file changed, 5 insertions(+)
New commits:
commit a66747190151e01e482b30e7d627f7f833947f70
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Jun 15 16:17:20 2010 +0200
602591 - "Content-Length" added to response header for different download contents
added for:
- package
- srpm
- patchreadme
- patchsetreadme
- repolog
diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
index 592297f..f747bd9 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
@@ -341,6 +341,7 @@ public class DownloadFile extends DownloadAction {
User user = UserFactory.lookupById(userid);
if (type.equals(DownloadManager.DOWNLOAD_TYPE_PACKAGE)) {
Package pack = PackageFactory.lookupByIdAndOrg(fileId, user.getOrg());
+ response.addHeader("Content-Length", pack.getPackageSize() + "");
path = Config.get().getString(ConfigDefaults.MOUNT_POINT) +
"/" + pack.getPath();
return getStreamForBinary(path);
@@ -349,6 +350,7 @@ public class DownloadFile extends DownloadAction {
Package pack = PackageFactory.lookupByIdAndOrg(fileId, user.getOrg());
List<PackageSource> src = PackageFactory.lookupPackageSources(pack);
if (!src.isEmpty()) {
+ response.addHeader("Content-Length", src.get(0).getPackageSize() + "");
path = Config.get().getString(ConfigDefaults.MOUNT_POINT) + "/" +
src.get(0).getPath();
return getStreamForBinary(path);
@@ -357,6 +359,7 @@ public class DownloadFile extends DownloadAction {
else if (type.equals(DownloadManager.DOWNLOAD_TYPE_PATCH_README)) {
Patch patch = (Patch) PackageFactory.lookupByIdAndOrg(fileId,
user.getOrg());
+ response.addHeader("Content-Length", patch.getPackageSize() + "");
return getStreamForText(patch.getReadme().getBytes(1L,
(int) patch.getReadme().length()));
@@ -364,6 +367,7 @@ public class DownloadFile extends DownloadAction {
else if (type.equals(DownloadManager.DOWNLOAD_TYPE_PATCH_SET_README)) {
PatchSet patch = (PatchSet) PackageFactory.lookupByIdAndOrg(fileId,
user.getOrg());
+ response.addHeader("Content-Length", patch.getPackageSize() + "");
return getStreamForText(patch.getReadme().getBytes(1L,
(int) patch.getReadme().length()));
}
@@ -380,6 +384,7 @@ public class DownloadFile extends DownloadAction {
output.append("\n");
}
+ response.addHeader("Content-Length", output.length() + "");
return getStreamForText(output.toString().getBytes());
}
}
13 years, 11 months
java/code
by Tomas Lestach
java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java | 53 ++--------
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 1
2 files changed, 15 insertions(+), 39 deletions(-)
New commits:
commit 2b195123a9503541543ac3d335a7a69f4b2c4d38
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Tue Jun 15 13:49:07 2010 +0200
603890 - fix/rewrite system.listSubscribableBaseChannels API
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
index 90d054d..6421bef 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
@@ -71,6 +71,7 @@ import com.redhat.rhn.domain.token.ActivationKeyFactory;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.ActivationKeyDto;
import com.redhat.rhn.frontend.dto.ErrataOverview;
+import com.redhat.rhn.frontend.dto.EssentialChannelDto;
import com.redhat.rhn.frontend.dto.ServerPath;
import com.redhat.rhn.frontend.dto.SystemOverview;
import com.redhat.rhn.frontend.events.SsmDeleteServersEvent;
@@ -527,32 +528,13 @@ public class SystemHandler extends BaseHandler {
Server server = lookupServer(loggedInUser, sid);
Channel baseChannel = server.getBaseChannel();
List returnList = new ArrayList();
-
- if (baseChannel != null) {
- //Add the current base channel to the list
- Map base = new HashMap();
-
- base.put("id", baseChannel.getId());
- base.put("name", baseChannel.getName());
- base.put("label", baseChannel.getLabel());
- base.put("current_base", new Integer(1));
- returnList.add(base);
- }
-
- DataResult dr = ChannelManager.userSubscribableBaseChannelsForSystem(loggedInUser,
- server);
- //Loop through the results and put into returnList. This is because we have to
- //set the CURRENT_BASE field.
- for (Iterator itr = dr.iterator(); itr.hasNext();) {
- Map map = (Map) itr.next();
- if (baseChannel != null &&
- baseChannel.getId().intValue() == ((Long) map.get("id")).intValue()) {
- continue; //we've already added the base channel
- }
-
- returnList.add(createChannelMap(map));
+
+ List<EssentialChannelDto> list = ChannelManager.listBaseChannelsForSystem(loggedInUser, server);
+ for (EssentialChannelDto ch : list) {
+ Boolean currentBase = (baseChannel != null) && baseChannel.getId().equals(ch.getId());
+ returnList.add(createChannelMap(ch, currentBase));
}
-
+
return returnList.toArray();
}
@@ -607,24 +589,17 @@ public class SystemHandler extends BaseHandler {
}
return returnList.toArray();
}
-
-
-
- private Map createChannelMap(Map map) {
+
+ private Map createChannelMap(EssentialChannelDto channel, Boolean currentBase) {
Map ret = new HashMap();
- ret.put("ID", map.get("id"));
- ret.put("NAME", map.get("name"));
- ret.put("LABEL", map.get("label"));
- ret.put("CURRENT_BASE", new Integer(0));
-
- ret.put("id", map.get("id"));
- ret.put("name", map.get("name"));
- ret.put("label", map.get("label"));
- ret.put("current_base", new Integer(0));
+ ret.put("id", channel.getId());
+ ret.put("name", channel.getName());
+ ret.put("label", channel.getLabel());
+ ret.put("current_base", currentBase ? new Integer(1) : new Integer(0));
return ret;
}
-
+
/**
* List the child channels that this system can subscribe to.
* @param sessionKey The sessionKey containing the logged in user
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index 72bb0a2..253676b 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -2079,6 +2079,7 @@ public class ChannelManager extends BaseManager {
EssentialChannelDto guessed = new EssentialChannelDto();
guessed.setId(guessedBase.getId());
+ guessed.setLabel(guessedBase.getLabel());
guessed.setName(guessedBase.getName());
channelDtos.add(0, guessed);
}
13 years, 11 months
client/rhel
by Transifex System User
client/rhel/rhn-client-tools/po/zh_CN.po | 1438 ++-----------------------------
1 file changed, 95 insertions(+), 1343 deletions(-)
New commits:
commit 4db18650d691d6a0c0bfd03983368f37d13b55dc
Author: leahliu <leahliu(a)fedoraproject.org>
Date: Tue Jun 15 03:50:43 2010 +0000
l10n: Updates to Chinese (China) (zh_CN) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/client/rhel/rhn-client-tools/po/zh_CN.po b/client/rhel/rhn-client-tools/po/zh_CN.po
index d0e8541..f484a1f 100644
--- a/client/rhel/rhn-client-tools/po/zh_CN.po
+++ b/client/rhel/rhn-client-tools/po/zh_CN.po
@@ -1,18 +1,20 @@
+# translation of spacewalk.rhn-client-tools.po to Wei Liu
# translation of zh_CN.po to
-# Copyright (C) 2002,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
#
# Sarah Wang <sarahs(a)redhat.com>, 2003, 2004.
# Tony Fu <tfu(a)redhat.com>, 2004, 2006.
# Leah Liu <weliu(a)redhat.com>, 2005, 2006.
# Xi HUANG <xhuang(a)redhat.com>, 2007.
+# Leah Liu <lliu(a)redhat.com>, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: zh_CN\n"
+"Project-Id-Version: spacewalk.rhn-client-tools\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-07 13:34+0200\n"
-"PO-Revision-Date: 2007-02-01 11:42+1000\n"
-"Last-Translator: Xi HUANG <xhuang(a)redhat.com>\n"
-"Language-Team: <en(a)li.org>\n"
+"PO-Revision-Date: 2010-06-10 13:14+1000\n"
+"Last-Translator: Leah Liu <lliu(a)redhat.com>\n"
+"Language-Team: Wei Liu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -42,10 +44,9 @@ msgstr "完成软件更新的设置"
#: ../src/up2date_client/gui.py:301
msgid "_Exit"
-msgstr ""
+msgstr "退出(_)"
#: ../src/up2date_client/gui.py:302
-#, fuzzy
msgid "Software updates setup unsuccessful"
msgstr "软件更新设置不成功"
@@ -100,7 +101,7 @@ msgstr "问题对话框:"
#: ../src/up2date_client/rhnChannel.py:97
msgid "Unable to Locate SystemId"
-msgstr ""
+msgstr "无法定位 SystemId"
#: ../src/up2date_client/rhnChannel.py:114
msgid "This system may not be updated until it is associated with a channel."
@@ -136,14 +137,13 @@ msgid "An unexpected OS error occurred: %s\n"
msgstr "发生了一个意外的操作系统错误:%s\n"
#: ../src/up2date_client/rhncli.py:83
-#, fuzzy
msgid "A connection was attempted with a malformed URI.\n"
-msgstr "格式不正确的 URI。\n"
+msgstr "尝试使用异常 URI 连接。\n"
#: ../src/up2date_client/rhncli.py:85
-#, fuzzy, python-format
+#, python-format
msgid "A connection was attempted with a malformed URI: %s.\n"
-msgstr "使用了一个格式不正确的 URI: %s。\n"
+msgstr "尝试使用异常 URI 连接:%s。\n"
#: ../src/up2date_client/rhncli.py:87
#, python-format
@@ -181,15 +181,15 @@ msgid "Unable to open gui. Try `up2date --nox`"
msgstr "无法打开 gui,请尝试“up2date --nox”"
#: ../src/up2date_client/rhncli.py:184
-#, fuzzy, python-format
+#, python-format
msgid ""
"%%prog (Red Hat Network Client Tools) %s\n"
"Copyright (C) 1999--2010 Red Hat, Inc.\n"
"Licensed under the terms of the GPLv2."
msgstr ""
"%%prog (Red Hat Network Client Tools) %s\n"
-"Copyright (C) 1999-2006 Red Hat, Inc.\n"
-"Licensed under the terms of the GPL."
+"版权所有 (C) 1999-2006 Red Hat, Inc.\n"
+"根据 GPL 中的条款获准使用。"
#: ../src/up2date_client/rhncli.py:204
msgid "An error has occurred:"
@@ -200,9 +200,8 @@ msgid "See /var/log/up2date for more information"
msgstr "查看 /var/log/up2date 来获得详悉信息"
#: ../src/up2date_client/rhnreg_constants.py:13
-#, fuzzy
msgid "Copyright © 2006--2010 Red Hat, Inc. All rights reserved."
-msgstr "Copyright © 2006 Red Hat, Inc. All rights reserved."
+msgstr "版权 © 2006 Red Hat, Inc. 版权所有。"
#. Connect Window
#: ../src/up2date_client/rhnreg_constants.py:16
@@ -299,8 +298,7 @@ msgstr "联系红帽或红帽合作伙伴的技术支持专家来帮助您解决
msgid ""
"Stay in compliance with your subscription agreement and manage subscriptions "
"for systems connected to your account at http://rhn.redhat.com/."
-msgstr ""
-"遵循您的订阅协议并管理连接到您在 http://rhn.redhat.com 上的帐号的系统订阅。"
+msgstr "遵循您的订阅协议并管理连接到您在 http://rhn.redhat.com 上的帐号的系统订阅。"
#: ../src/up2date_client/rhnreg_constants.py:54
msgid ""
@@ -319,20 +317,16 @@ msgid "Software update setup unsuccessful"
msgstr "软件更新设置不成功"
#: ../src/up2date_client/rhnreg_constants.py:60
-#, fuzzy
msgid ""
"Are you sure you don't want to connect your system to Red Hat Network? "
"You'll miss out on the benefits of a Red Hat Enterprise Linux subscription:\n"
-msgstr ""
-"您确认不希望把您的系统连接到红帽网络吗?您将无法获得红帽企业 Linux 订阅所提供"
-"的益处:"
+msgstr "您确认不希望将您的系统连接到红帽网络吗?您将无法获得红帽企业 Linux 订阅所提供的:\n"
#: ../src/up2date_client/rhnreg_constants.py:62
-#, fuzzy
msgid ""
"You will not be able to take advantage of these subscription privileges "
"without connecting your system to Red Hat Network.\n"
-msgstr "没有在红帽网络上注册系统,您将 <b>无法</b> 获得这些订阅所提供的益处。"
+msgstr "不将您的系统与红帽网络相连,您将无法获得这些订阅所提供的益处。\n"
#: ../src/up2date_client/rhnreg_constants.py:65
msgid "I'll register later."
@@ -390,13 +384,10 @@ msgstr ""
"\n"
#: ../src/up2date_client/rhnreg_constants.py:82
-#, fuzzy
msgid ""
"Tip: Forgot your login or password? Visit: https://rhn.redhat.com/rhn/sales/"
"LoginInfo.do"
-msgstr ""
-"<small>忘记了您的登录或口令?访问 \n"
-"https://www.redhat.com/wapps/sso/rhn/lostPassword.html</small>"
+msgstr "窍门:忘记您的登录或者密码?请访问 Visit: https://rhn.redhat.com/rhn/sales/LoginInfo.do"
#: ../src/up2date_client/rhnreg_constants.py:84
msgid "*Email Address:"
@@ -419,9 +410,9 @@ msgid ""
"\"Cancel\" and no information will be sent. You can run the registration "
"program later by typing `rhn_register` at the command line."
msgstr ""
-"我们已经完成了为系统配置档案收集信息的过程。\n"
+"我们已经完成了为系统侧写收集信息的过程。\n"
"\n"
-"点 \"下一步\" 来把这个系统配置档案发送到红帽网络。点 \"取消\" 则不会有任何信"
+"点 \"下一步\" 来把这个系统侧写发送到红帽网络。点 \"取消\" 则不会有任何信"
"息被发送。您可以以后通过在命令行中输入 `rhn_register` 来运行注册程序。"
#: ../src/up2date_client/rhnreg_constants.py:98
@@ -527,7 +518,7 @@ msgstr ""
"一个不活跃的系统释放一个权利。\n"
"(2) 通过 http://www.redhat.com/store/ 购买新的权利。\n"
"(3) 在 http://www.redhat.com/now/ 上激活一个新的安装码。一旦您的帐号中有了有"
-"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的配置档案,并通过 软件 > "
+"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的侧写,并通过 软件 > "
"软件频道 标签页来把这个系统订阅到软件频道。"
#: ../src/up2date_client/rhnreg_constants.py:155
@@ -559,14 +550,13 @@ msgstr "更新模块:每个系统的更新,电子邮件勘误通知,勘误
msgid ""
"Management module: automatic updates, systems grouping, systems permissions, "
"system package profiling"
-msgstr "管理模块:自动更新、系统组群、系统访问权限、软件包配置档案"
+msgstr "管理模块:自动更新、系统组群、系统访问权限、软件包侧写"
#: ../src/up2date_client/rhnreg_constants.py:167
msgid ""
"Provisioning module: bare-metal provisioning, existing state provisioning, "
"rollbacks, configuration management"
-msgstr ""
-"Provision 模块:全新系统 provision、已存在状态 provision、系统恢复、配置管理"
+msgstr "Provision 模块:全新系统 provision、已存在状态 provision、系统恢复、配置管理"
#: ../src/up2date_client/rhnreg_constants.py:169
msgid ""
@@ -625,7 +615,7 @@ msgstr ""
"一个不活跃的系统释放一个权利。\n"
"(2) 通过 http://www.redhat.com/store/ 购买新的权利。\n"
"(3) 在 http://www.redhat.com/now/ 上激活一个新的安装码。一旦您的帐号中有了有"
-"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的配置档案,并通过 软件 > "
+"效的激活订阅,您可以通过 RHN 网站界面来查看这个系统的侧写,并通过 软件 > "
"软件频道 标签页来把这个系统订阅到软件频道。"
#: ../src/up2date_client/rhnreg_constants.py:200
@@ -693,7 +683,7 @@ msgstr ""
"服务器。"
#: ../src/up2date_client/rhnreg_constants.py:229
-#, fuzzy, python-format
+#, python-format
msgid ""
"<b><span size=\"16000\">Incompatible Certificate File</span></b>\n"
"\n"
@@ -706,7 +696,7 @@ msgid ""
msgstr ""
"<b><span size=\"16000\">不兼容的证书文件</span></b>\n"
"\n"
-"您所提供的证书 <b>%s</b> 与 <b>%s</b> 中的红帽网络服务器不兼容。您确定您所提"
+"您所提供的证书 <b>%s</b> 与 <b>%s</b> 中的红帽网络服务器不兼容。您可能希望确认您提供了有效的证书文件。您确定您所提"
"供的证书是正确的,并且证书文件没有被破坏吗?\n"
"\n"
"请尝试使用一个不同的证书文件。"
@@ -718,6 +708,9 @@ msgid ""
" The certificate is expired. Please ensure you have the correct certificate "
"and your system time is correct."
msgstr ""
+"<b><span size=\"12000\">不兼容的证书文件</span></b>\n"
+"\n"
+"该证书已经过期。请确定您使用了正确的证书文件,且您的系统时间是正确的。"
#: ../src/up2date_client/rhnreg_constants.py:241
msgid "Please verify the value of sslCACert in /etc/sysconfig/rhn/up2date"
@@ -747,12 +740,15 @@ msgid ""
" Tip: Minor releases with a '*' are currently supported by Red Hat.\n"
"\n"
msgstr ""
+"\n"
+"窍门:目前红帽支持使用 '*' 的次要版本。\n"
+"\n"
#: ../src/up2date_client/rhnreg_constants.py:260
msgid ""
"Warning:You will not be able to limit this system to minor release that is "
"older than the recent minor release if you select this option.\n"
-msgstr ""
+msgstr "警告:如果您选择这个选择,您将无法将这个系统限定为比最近次要版本旧的次要版本。\n"
#: ../src/up2date_client/rhnreg_constants.py:265
#, python-format
@@ -763,6 +759,11 @@ msgid ""
"(you will be able to move to a newer release.)\n"
"Are you sure you Would like to Continue?"
msgstr ""
+"您的系统必须订阅 %s 基本\n"
+"软件频道。您将无法将该系统\n"
+"迁移到之前的版本\n"
+"(您将可以迁移到较新的版本。)\n"
+"您确定要继续吗?"
#. Navigation
#: ../src/up2date_client/rhnreg_constants.py:274
@@ -812,20 +813,18 @@ msgid "Notice"
msgstr "注意"
#: ../src/up2date_client/rhnregGui.py:261
-#, fuzzy
msgid "There was an error while applying your choice."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在应用您的选择时出错。"
#: ../src/up2date_client/rhnregGui.py:287
msgid "You specified an invalid protocol. Only https and http are allowed."
msgstr "您指定了一个无效的协议。只允许使用 https 和 http。"
#: ../src/up2date_client/rhnregGui.py:300
-#, fuzzy
msgid ""
"You will not be able to successfully register this system without contacting "
"a Red Hat Network server."
-msgstr "没有在红帽网络上注册系统,您将 <b>无法</b> 获得这些订阅所提供的益处。"
+msgstr "不联络红帽网络服务器您将无法成功注册这个系统。"
#: ../src/up2date_client/rhnregGui.py:325
#, python-format
@@ -870,13 +869,11 @@ msgid "You may be running a client that is incompatible with the server."
msgstr "您可能正在运行一个与服务器不兼容的客户端系统。"
#: ../src/up2date_client/rhnregGui.py:396
-#, fuzzy, python-format
+#, python-format
msgid ""
"Please enter your account information for the <b>%s</b> Red Hat Network "
"Satellite:"
-msgstr ""
-"请输入您的 %s 红帽网络 Satellite 的登录信息:\n"
-"\n"
+msgstr "请输入您的 <b>%s</b> 红帽网络 Satellite 的帐户信息:"
#: ../src/up2date_client/rhnregGui.py:445
msgid "You must enter a login."
@@ -887,9 +884,8 @@ msgid "You must enter a password."
msgstr "您必须输入一个口令。"
#: ../src/up2date_client/rhnregGui.py:465
-#, fuzzy
msgid "There was an error while logging in."
-msgstr "登录时出现问题。"
+msgstr "登录时出错。"
#: ../src/up2date_client/rhnregGui.py:489
msgid ""
@@ -898,9 +894,8 @@ msgid ""
msgstr "在与注册服务器联络时出现了一个致命错误。 错误消息是:\n"
#: ../src/up2date_client/rhnregGui.py:631
-#, fuzzy
msgid "There was an error while assembling information for the profile."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在为侧写收集信息时出错。"
#: ../src/up2date_client/rhnregGui.py:652
msgid "Error running hardware profile"
@@ -908,16 +903,15 @@ msgstr "运行硬件档案时出错"
#: ../src/up2date_client/rhnregGui.py:679
msgid "There was an error while populating the profile."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在产生侧写时出现了一个错误。"
#: ../src/up2date_client/rhnregGui.py:699
msgid "You must choose a name for this profile."
msgstr "您必须为这个档案选择一个名称。"
#: ../src/up2date_client/rhnregGui.py:714
-#, fuzzy
msgid "There was an error while creating the profile."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "在生成侧写时出现了一个错误。"
#: ../src/up2date_client/rhnregGui.py:725
msgid "Sending your profile information to Red Hat Network. Please wait."
@@ -991,9 +985,8 @@ msgid "Problem registering personal information"
msgstr "注册个人信息时出现问题"
#: ../src/up2date_client/rhnregGui.py:940
-#, fuzzy
msgid "There was an error while installing the certificate."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "安装证书时出错。"
#: ../src/up2date_client/rhnregGui.py:966
msgid "You must select a certificate."
@@ -1019,9 +1012,8 @@ msgid "unknown"
msgstr "未知"
#: ../src/up2date_client/rhnregGui.py:1138
-#, fuzzy
msgid "There was an error getting the list of hardware."
-msgstr "在产生配置档案时出现了一个错误。"
+msgstr "获得硬件列表时出错。"
#: ../src/up2date_client/rhnregGui.py:1150 ../src/up2date_client/tui.py:631
#, python-format
@@ -1034,9 +1026,8 @@ msgid "%s MB"
msgstr "%s MB"
#: ../src/up2date_client/rhnregGui.py:1198
-#, fuzzy
msgid "There was an error building the list of packages."
-msgstr "在安装软件包时出现了一个致命错误:\n"
+msgstr "构建软件包列表时出错。"
#: ../src/up2date_client/rhnregGui.py:1213
msgid "Package"
@@ -1082,13 +1073,12 @@ msgid "Warning: unable to enable rhnsd with chkconfig"
msgstr "警告:无法使用 chkconfig 来启用 rhnsd"
#: ../src/up2date_client/rhnreg.py:65
-#, fuzzy
msgid "Warning: unable to run rhn_check"
-msgstr "警告:无法使用 chkconfig 来启用 rhnsd"
+msgstr "警告:无法运行 rhn_check"
#: ../src/up2date_client/rpcServer.py:47
msgid "Error: Server Unavailable. Please try later."
-msgstr ""
+msgstr "错误:服务器不可用,请稍后再试。"
#: ../src/up2date_client/rpcServer.py:171
msgid "ERROR: can not find RHNS CA file"
@@ -1111,59 +1101,54 @@ msgid "System software updates already set up"
msgstr "系统软件更新已被设置"
#: ../src/up2date_client/tui.py:115
-#, fuzzy
msgid "Red Hat Network Location:"
-msgstr "红帽网络位置(_L):"
+msgstr "红帽网络位置:"
#: ../src/up2date_client/tui.py:117
-#, fuzzy
msgid "System ID:"
-msgstr ""
-"\n"
-"系统 ID: "
+msgstr "系统 ID: "
#: ../src/up2date_client/tui.py:371
msgid "The server indicated an error:\n"
msgstr "服务器标明一个错误:\n"
#: ../src/up2date_client/tui.py:375
-#, fuzzy
msgid "There was an error communicating with the registration server:\n"
-msgstr "在与注册服务器联络时出现了一个致命错误。 错误消息是:\n"
+msgstr "在与注册服务器联络时出错:\n"
#: ../src/up2date_client/tui.py:434
msgid "Select Operating System Release"
-msgstr ""
+msgstr "选择操作系统发行本"
#: ../src/up2date_client/tui.py:438
msgid "Operating System version:"
-msgstr ""
+msgstr "操作系统版本:"
#: ../src/up2date_client/tui.py:440
msgid "Limited Updates Only"
-msgstr ""
+msgstr "仅限有限更新"
#: ../src/up2date_client/tui.py:452
msgid " Minor Release: "
-msgstr ""
+msgstr "次要版本:"
#: ../src/up2date_client/tui.py:467
msgid "All available updates"
-msgstr ""
+msgstr "所有可用更新"
#: ../src/up2date_client/tui.py:520
msgid "Confirm operating system release selection"
-msgstr ""
+msgstr "确认操作系统发行本选择"
#: ../src/up2date_client/tui.py:528
msgid ""
"Your system will be subscribed to the base software channel to receive all "
"available updates."
-msgstr ""
+msgstr "您的系统将订阅基本软件频道以便接收所有可用更新。"
#: ../src/up2date_client/tui.py:572
msgid "Register a System Profile - Hardware"
-msgstr "注册系统配置档案 - 硬件"
+msgstr "注册系统侧写 - 硬件"
#: ../src/up2date_client/tui.py:575
msgid ""
@@ -1219,7 +1204,7 @@ msgstr "该档案中还会包括其它硬件信息,包括 PCI 设备、磁盘
#: ../src/up2date_client/tui.py:685
msgid "Register a System Profile - Packages"
-msgstr "注册系统配置档案 - 软件包"
+msgstr "注册系统侧写 - 软件包"
#: ../src/up2date_client/tui.py:690
msgid ""
@@ -1272,8 +1257,7 @@ msgid "You specified an invalid protocol."
msgstr "您指定了一个无效的协议。"
#: ../src/up2date_client/tui.py:1106
-msgid ""
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
+msgid " <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
msgstr " <Tab>/<Alt-Tab> 在元素间切换 | <Space> 选择 | <F12> 下一屏幕"
#: ../src/up2date_client/tui.py:1200
@@ -1347,8 +1331,7 @@ msgid "GPG is not installed properly."
msgstr "GPG 没有被正确安装。"
#: ../src/up2date_client/up2dateErrors.py:237
-msgid ""
-"GPG keyring does not include the Red Hat, Inc. public package-signing key"
+msgid "GPG keyring does not include the Red Hat, Inc. public package-signing key"
msgstr "GPG 钥匙圈不包括 Red Hat, Inc. 软件包签名公钥"
#: ../src/up2date_client/up2dateErrors.py:249
@@ -1417,7 +1400,7 @@ msgstr "选择一个红帽网络服务器"
#: ../src/firstboot/rhn_create_profile_gui.py:48
msgid "Create Profile"
-msgstr "创建配置档案"
+msgstr "创建侧写"
#: ../src/firstboot/rhn_create_profile_gui.py:50
#: ../src/firstboot/rhn_finish_gui.py:41 ../src/firstboot/rhn_review_gui.py:40
@@ -1442,8 +1425,7 @@ msgid "There was a communication error with the server: %s"
msgstr "在与服务器联络时出现错误:%s"
#: ../src/firstboot/rhn_login_gui.py:106
-msgid ""
-"Would you like to try changing the network configuration and trying again?"
+msgid "Would you like to try changing the network configuration and trying again?"
msgstr "你是否希望更改网络设置,然后重试一次?"
#: ../src/firstboot/rhn_provide_certificate_gui.py:40
@@ -1478,7 +1460,7 @@ msgstr "正在更新硬件档案..."
#: ../src/bin/rhn-profile-sync.py:49
msgid "Updating virtualization profile..."
-msgstr "更新虚拟化配置档案..."
+msgstr "更新虚拟化侧写..."
#: ../src/bin/rhn_register.py:36
msgid "Do not attempt to use X"
@@ -1486,7 +1468,7 @@ msgstr "不要试图使用 X"
#: ../src/bin/rhnreg_ks.py:44
msgid "Specify a profilename"
-msgstr "指定配置档案名"
+msgstr "指定侧写名"
#: ../src/bin/rhnreg_ks.py:46
msgid "Specify a username"
@@ -1513,14 +1495,12 @@ msgid "Specify an activation key"
msgstr "指定一个激活码"
#: ../src/bin/rhnreg_ks.py:58
-msgid ""
-"Subscribe this system to the EUS channel tied to the system's redhat-release"
+msgid "Subscribe this system to the EUS channel tied to the system's redhat-release"
msgstr ""
#: ../src/bin/rhnreg_ks.py:60
-#, fuzzy
msgid "[Deprecated] Read contact info from stdin"
-msgstr "从标准输入中读取联系信息"
+msgstr "[过时的] 从标准输入中读取联系信息"
#: ../src/bin/rhnreg_ks.py:62
msgid "Do not probe or upload any hardware info"
@@ -1554,18 +1534,17 @@ msgstr "该系统已经注册了。使用 --force 来超越"
msgid ""
"Usage of --use-eus-channel option with --activationkey is not supported. "
"Please use username and password instead."
-msgstr ""
+msgstr "不支持在 --activationkey 中使用 --use-eus-channel 选项。请使用 username 和 password。"
#: ../src/bin/rhnreg_ks.py:122
-#, fuzzy
msgid "The server you are registering against does not support EUS."
-msgstr "您要注册的服务器不支持这个版本的客户端。"
+msgstr "您订阅的服务器不支持 EUS。"
#: ../src/bin/rhnreg_ks.py:152
msgid ""
"Warning: --contactinfo option has been deprecated. Please login to the "
"server web user Interface and update your contactinfo. "
-msgstr ""
+msgstr "警告:--contactinfo 选项已经过时。请登录到服务器网页用户界面并更新您的联络信息。"
#: ../src/bin/rhnreg_ks.py:192
msgid ""
@@ -1595,22 +1574,23 @@ msgstr "软件更新注册"
#: ../data/gui.glade.h:7
msgid "Select operating system release"
-msgstr ""
+msgstr "选择操作系统发行本"
#: ../data/progress.glade.h:1
msgid "Progress Dialog"
msgstr "进度对话框"
#: ../data/rh_register.glade.h:1
-#, fuzzy
msgid ""
"\n"
"Are you sure you would like to continue?"
-msgstr "您确定要继续吗?"
+msgstr ""
+"\n"
+"您确定要继续吗?"
#: ../data/rh_register.glade.h:3
msgid " "
-msgstr ""
+msgstr " "
#: ../data/rh_register.glade.h:4
msgid "<b>Compliance:</b>"
@@ -1654,14 +1634,14 @@ msgstr "<b>您系统的网络连接没有正常工作。您的系统无法设置
msgid ""
"<b>Tip:</b> Minor releases with a '*' are currently fully supported by Red "
"Hat."
-msgstr ""
+msgstr "<b>窍门:</b>红帽完全支持带 '*' 的次要版本。"
#: ../data/rh_register.glade.h:14
msgid ""
"<b>Warning:</b> You will <b>not</b> be able to limit this system to a minor "
"release that is older than the most recent minor release if you select this "
"option."
-msgstr ""
+msgstr "<b>警告:如果您选择这个选项,</b>您将<b>无法</b>将这个系统限制为比最新次要版本旧的次要版本。"
#: ../data/rh_register.glade.h:15
msgid ""
@@ -1674,7 +1654,7 @@ msgstr ""
#: ../data/rh_register.glade.h:16
msgid "<b>Your system was registered for updates during installation.</b>"
-msgstr ""
+msgstr "<b>在安装过程中已将您的系统注册了更新。</b>"
#: ../data/rh_register.glade.h:17
msgid ""
@@ -1682,7 +1662,7 @@ msgid ""
"if kept updated, will always be equivalent to the latest available minor "
"release of Red Hat Enterprise Linux 5. It will be registered to the main "
"'Red Hat Enterprise Linux 5' software channel."
-msgstr ""
+msgstr "经为这个系统提供<b>所有可用更新(_A)</b>。如果一直更新则这个系统将总是等同于红帽企业版 Linux 5 的最新可用次要版本。要将其在主要‘红帽就企业版 Linux 5’软件频道中注册。"
#: ../data/rh_register.glade.h:18
msgid ""
@@ -1697,7 +1677,7 @@ msgstr ""
#: ../data/rh_register.glade.h:20
msgid "<big><b>Profile Data</b></big>"
-msgstr "<big><b>配置档案数据</b></big>"
+msgstr "<big><b>侧写数据</b></big>"
#: ../data/rh_register.glade.h:21
msgid "<big><b>System Name</b></big>"
@@ -1726,8 +1706,7 @@ msgstr "红帽尊重您的隐私权:http://www.redhat.com/legal/privacy_statem
msgid ""
"<small>Tip: Forgot your login or password? Contact your Satellite's "
"<i>Organization Administrator</i>.</small>"
-msgstr ""
-"<small>忘记了您的用户名或口令?联系您的 Satellite <i>机构管理员</i>。</small>"
+msgstr "<small>忘记了您的用户名或口令?联系您的 Satellite <i>机构管理员</i>。</small>"
#: ../data/rh_register.glade.h:27
msgid ""
@@ -1753,8 +1732,7 @@ msgstr ""
"和口令)的安全。"
#: ../data/rh_register.glade.h:34
-msgid ""
-"Activate a previously purchased subscription you have not yet activated."
+msgid "Activate a previously purchased subscription you have not yet activated."
msgstr "激活一个您以前购买的、但还没有激活的订阅。"
#: ../data/rh_register.glade.h:35
@@ -1903,8 +1881,7 @@ msgstr "代理服务器用户名(_U):"
msgid ""
"Purchase an additional Red Hat Enterprise Linux subscription at http://www."
"redhat.com/store/."
-msgstr ""
-"购买一个额外的红帽企业 Linux 订阅(通过 http://www.redhat.com/store/)。"
+msgstr "购买一个额外的红帽企业 Linux 订阅(通过 http://www.redhat.com/store/)。"
#: ../data/rh_register.glade.h:72
msgid ""
@@ -1932,11 +1909,11 @@ msgstr "选择一个文件"
#: ../data/rh_register.glade.h:77
msgid "Send _hardware profile"
-msgstr "发送(_h)硬件配置档案"
+msgstr "发送(_h)硬件侧写"
#: ../data/rh_register.glade.h:78
msgid "Send _package profile"
-msgstr "发送软件包配置档案(_p)"
+msgstr "发送软件包侧写(_p)"
#: ../data/rh_register.glade.h:79
msgid "Software update setup has been completed for this system."
@@ -1979,7 +1956,7 @@ msgstr "使用 HTTP 代理服务器进行验证(_t)"
#: ../data/rh_register.glade.h:89
msgid "V_iew Package Profile ..."
-msgstr "查看软件包配置档案(_i)"
+msgstr "查看软件包侧写(_i)"
#: ../data/rh_register.glade.h:90
msgid "Why Register"
@@ -2025,8 +2002,7 @@ msgstr ""
msgid ""
"You'll need to send us a profile of what packages and hardware are installed "
"on your system so we can determine what updates are available."
-msgstr ""
-"您需要发送给我们一个系统配置档案,从而使我们可以决定哪些更新适用您的系统。"
+msgstr "您需要发送给我们一个系统侧写,从而使我们可以决定哪些更新适用您的系统。"
#: ../data/rh_register.glade.h:99
msgid ""
@@ -2132,7 +2108,7 @@ msgstr "(_T)返回到设置过程。"
#: ../data/rh_register.glade.h:121
msgid "_View Hardware Profile ..."
-msgstr "(_V)查看硬件配置档案 ..."
+msgstr "(_V)查看硬件侧写 ..."
#: ../data/rh_register.glade.h:122
msgid "_Why Should I Connect to RHN? ..."
@@ -2156,7 +2132,7 @@ msgstr "•"
#: ../data/rh_register.glade.h:127
msgid "• A name for your system's Red Hat Network profile"
-msgstr "您系统的红帽网络配置档案名"
+msgstr "您系统的红帽网络侧写名"
#: ../data/rh_register.glade.h:128
msgid "• The address to your Red Hat Network Satellite (optional)"
@@ -2180,1227 +2156,3 @@ msgstr ""
msgid "Register to Spacewalk/Satellite/Red Hat Network."
msgstr "在 Red Hat 网络上注册"
-#~ msgid "_Exit software update setup"
-#~ msgstr "退出软件更新设置(_E)"
-
-#~ msgid "software updates setup unsuccessful"
-#~ msgstr "软件更新设置不成功"
-
-#~ msgid ""
-#~ "If you do not have a Red Hat Login, this assistant will allow you to "
-#~ "create one."
-#~ msgstr "如果您还没有红帽登录帐号,它将帮助您建立一个。"
-
-#~ msgid "Step 1: Review the Red Hat Privacy Statement"
-#~ msgstr "步骤 1:查阅 Red Hat 的隐私声明"
-
-#~ msgid "Review the Red Hat Network Terms And Conditions"
-#~ msgstr "回顾 Red Hat 网络的条件"
-
-#~ msgid ""
-#~ "Are you sure you don't want to connect your system to Red Hat Network? "
-#~ "You'll miss out on the benefits of a Red Hat Enterprise Linux "
-#~ "subscription:\n"
-#~ "\n"
-#~ "Security & Updates:\n"
-#~ "Receive the latest software updates, including security updates, keeping "
-#~ "this Red Hat Enterprise Linux system updated and secure.\n"
-#~ "\n"
-#~ "Downloads & Upgrades:\n"
-#~ "Download installation images for Red Hat Enterprise Linux releases, "
-#~ "including new releases.\n"
-#~ "\n"
-#~ "Support:\n"
-#~ "Access to the technical support experts at Red Hat or Red Hat's partners "
-#~ "for help with any issues you might encounter with this system.\n"
-#~ "\n"
-#~ "Compliance:\n"
-#~ "Stay in compliance with your subscription agreement and manage "
-#~ "subscriptions for systems connected to your account at http://rhn.redhat."
-#~ "com/.\n"
-#~ "\n"
-#~ "You will not be able to take advantage of these subscription privileges "
-#~ "without connecting your system to Red Hat Network.\n"
-#~ "\n"
-#~ "Tip: Red Hat values your privacy: http://www.redhat.com/legal/"
-#~ "privacy_statement.html"
-#~ msgstr ""
-#~ "您确定不想把您的系统连接到红帽网络吗?您将无法获得红帽企业 Linux 订阅为您"
-#~ "提供的以下好处:\n"
-#~ "\n"
-#~ "安全和更新:\n"
-#~ "接收包括安全更新在内的软件更新,使您的红帽企业 Linux 系统保持在最新的、安"
-#~ "全的状态\n"
-#~ "\n"
-#~ "下载和升级:\n"
-#~ "下载包括最新的发行版本在内的红帽企业 Linux 安装映像。\n"
-#~ "\n"
-#~ "支持:\n"
-#~ "在您的系统遇到问题时获得红帽或红帽合作伙伴提供的专家级的技术支持。\n"
-#~ "\n"
-#~ "遵守使用条款:\n"
-#~ "遵守您的订阅的使用条款,并管理与您在 http://rhn.redhat.com/ 中的帐号相连的"
-#~ "系统订阅。\n"
-#~ "\n"
-#~ "如果您的系统没有与红帽网络相连,您将无法完全获得这些订阅所带给您的好处。\n"
-#~ "\n"
-#~ "红帽尊重您的隐私权:http://www.redhat.com/legal/privacy_statement.html"
-
-#~ msgid "No thanks. I'll connect later."
-#~ msgstr "不,我将在以后连接。"
-
-#~ msgid "Create a New Login ..."
-#~ msgstr "创建一个新登录 ..."
-
-#~ msgid ""
-#~ "The two passwords you entered don't match. Please re-type your passwords."
-#~ msgstr "您输入的两个口令不匹配。请重新输入您的口令。"
-
-#~ msgid "Create a new Red Hat login"
-#~ msgstr "建立一个新的红帽登录"
-
-#~ msgid ""
-#~ "Fill in the form below to create a new Red Hat login for use with Red Hat "
-#~ "Network (http://rhn.redhat.com/). Required information is marked with a "
-#~ "'*':"
-#~ msgstr ""
-#~ "填写以下表格来创建一个使用红帽网络 (http://rhn.redhat.com/) 的红帽登录。必"
-#~ "需的信息以 '*' 标记:"
-
-#~ msgid "*Desired Login:"
-#~ msgstr "*登录:"
-
-#~ msgid "Examples: user(a)domain.com"
-#~ msgstr "例如:user(a)domain.com"
-
-#~ msgid "*Desired Password:"
-#~ msgstr "* 口令:"
-
-#~ msgid "*Confirm Password:"
-#~ msgstr "* 确认口令:"
-
-#~ msgid "Tip: Leave blank if not with a company."
-#~ msgstr "如果您是个人用户,把它留为空。"
-
-#~ msgid ""
-#~ "Tip: Red Hat values your privacy. View our privacy policy at: http://"
-#~ msgstr "红帽尊重您的隐私权。在这里查看红帽的隐私条款:http://"
-
-#~ msgid "Please enter your first name."
-#~ msgstr "您必须输入姓名。"
-
-#~ msgid "Please enter your last name."
-#~ msgstr "请输入您的姓。"
-
-#~ msgid "Please enter your email address."
-#~ msgstr "请输入您的电子邮件地址。"
-
-#~ msgid "Please enter a valid email address."
-#~ msgstr "请输入一个有效的电子邮件地址。"
-
-#~ msgid "Please enter your country."
-#~ msgstr "请输入您所在的国家。"
-
-#~ msgid "Please enter a longer login."
-#~ msgstr "请输入一个较长的登录。"
-
-#~ msgid "Please enter a longer password."
-#~ msgstr "请输入一个较长的口令。"
-
-#~ msgid "Please enter a shorter password."
-#~ msgstr "请输入一个较短的口令。"
-
-#~ msgid ""
-#~ "It appears this system has attempted to register to the Red Hat Network.\n"
-#~ "The system may already be set up for software updates.\n"
-#~ "\n"
-#~ "Are you sure you would like to continue?"
-#~ msgstr ""
-#~ "这个系统可能已经和红帽网络进行了注册。\n"
-#~ "这个系统可能已经设置了软件更新。\n"
-#~ "\n"
-#~ "您确定要继续吗?"
-
-#~ msgid "Select Organization"
-#~ msgstr "选择机构"
-
-#~ msgid ""
-#~ "Your login, %s, is associated with multiple organizations. You will need "
-#~ "to select an organization to connect this system to."
-#~ msgstr "您的登录 %s 与多个机构相连。您需要选择一个机构来与这个系统相连。"
-
-#~ msgid "Organization:"
-#~ msgstr "机构:"
-
-#~ msgid "You must select an organization."
-#~ msgstr "您必须选择一个机构。"
-
-#~ msgid "Access a subscription"
-#~ msgstr "访问一个订阅"
-
-#~ msgid ""
-#~ "You have no active subscriptions available in your account. You will "
-#~ "need to do one of the following to create an active subscription in your "
-#~ "account before this system can connect to Red Hat Network:"
-#~ msgstr ""
-#~ "您还没有激活您帐号内的订阅。您在把这个系统连接到红帽网络前需要使用以下的方"
-#~ "法之一在您帐号内创建一个激活的订阅:"
-
-#~ msgid "Activate a new subscription with an installation number:"
-#~ msgstr "使用一个安装码来激活一个新订阅:"
-
-#~ msgid ""
-#~ "You have already activated this installation number during this "
-#~ "registration."
-#~ msgstr "您在注册时已经激活了这个安装号。"
-
-#~ msgid "Installation Number:"
-#~ msgstr "安装号:"
-
-#, fuzzy
-#~ msgid "Example: XXXX-XXXX-XXXX-XXXX"
-#~ msgstr "例如:XXXX-XXXX-XXXX-XXXX-XXXX"
-
-#~ msgid ""
-#~ "Congratulations, you have successfully completed software updates set up "
-#~ "for this system.\n"
-#~ "\n"
-#~ "Your system is now ready to receive the software updates that will keep "
-#~ "it secure and supported.\n"
-#~ "\n"
-#~ "You'll know when software updates are available when a package icon "
-#~ "appears in the notification area of you desktop (usually in the upper-"
-#~ "right corner.) Clicking on this icon, when available, will guide you "
-#~ "through applying any updates that are available."
-#~ msgstr ""
-#~ "恭喜您,您已经成功地为这个系统设置了软件更新。\n"
-#~ "\n"
-#~ "您的系统现在可以接收软件更新。\n"
-#~ "\n"
-#~ "当有新的软件更新时,一个软件包图标会出现在您的桌面的通知区域上。点这个图标"
-#~ "将可以应用有效的更新。"
-
-#~ msgid "Subscriptions Activated:"
-#~ msgstr "激活的订阅:"
-
-#~ msgid ""
-#~ "A subscription-activating installation number was found on disk, but we "
-#~ "were not able to activate it (An unknown error occurred.) We used "
-#~ "existing active subscription slots available in the rhn account instead. "
-#~ "You may wish to contact Red Hat customer service regarding this issue: "
-#~ "http://www.redhat.com/apps/support/"
-#~ msgstr ""
-#~ "在磁盘上发现了一个订阅激活安装号,但是我们无法激活它(发生了一个未知的错"
-#~ "误。)我们将使用 rhn 帐号中的有效的激活订阅来代替它。您可以使用以下网址联"
-#~ "系红帽的客户服务部门来解决这个问题:http://www.redhat.com/apps/support/"
-
-#~ msgid "A installation number was found on disk, but we "
-#~ msgstr "在磁盘中发现了一个订阅激活安装码,但是我们"
-
-#~ msgid ""
-#~ "The installation number you have provided (%s) is invalid.\n"
-#~ "\n"
-#~ "Please check the number and try again or try another option listed on the "
-#~ "'Access a Subscription' screen."
-#~ msgstr ""
-#~ "您所提供的安装号 (%s) 无效。\n"
-#~ "\n"
-#~ "请检查这个安装号后再试,或使用 '访问一个订阅' 屏幕所列出的另一个选项。"
-
-#~ msgid ""
-#~ "The installation number you provided is valid but was already activated "
-#~ "and the subscriptions have already been used by systems in your "
-#~ "organization or is not usable for this system.\n"
-#~ "\n"
-#~ "Please try a different number or try another option listed on the 'Access "
-#~ "a Subscription' screen."
-#~ msgstr ""
-#~ "您所提供的安装号是正确的,但它已经被激活,这个订阅已经被您的机构内的系统所"
-#~ "使用,或无法在这个系统上使用。\n"
-#~ "\n"
-#~ "请使用一个不同的安装号,或使用 '访问一个订阅' 屏幕所列出的另一个选项。"
-
-#~ msgid ""
-#~ "The installation number you provided does not have subscriptions "
-#~ "associated with it.\n"
-#~ "\n"
-#~ "Please try a different number or try another option listed in the 'Access "
-#~ "a Subscription' screen."
-#~ msgstr ""
-#~ "您所提供的安装号并没有与它相关联的订阅。\n"
-#~ "\n"
-#~ "请使用一个不同的安装号,或使用 '访问一个订阅' 屏幕所列出的另一个选项。"
-
-#~ msgid ""
-#~ "There was a problem logging in:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "登录时出现问题:\n"
-#~ "%s"
-
-#~ msgid "There was problem logging in."
-#~ msgstr "登录时出现问题。"
-
-#, fuzzy
-#~ msgid "There was an error while getting the list of organizations."
-#~ msgstr "在产生配置档案时出现了一个错误。"
-
-#, fuzzy
-#~ msgid "You must enter an installation number."
-#~ msgstr "您必须输入一个安装号。"
-
-#, fuzzy
-#~ msgid "There was an error activating your number."
-#~ msgstr "在与红帽网络连接时出现错误。"
-
-#~ msgid "This installation number has already been activated."
-#~ msgstr "这个安装码已经被激活。"
-
-#, fuzzy
-#~ msgid "There was an error retrieving the privacy statement."
-#~ msgstr "在产生配置档案时出现了一个错误。"
-
-#~ msgid "Unable to access the server. Please check your network settings."
-#~ msgstr "无法访问这个服务器。请检查您的网络配置。"
-
-#~ msgid ""
-#~ "The server you are attempting to register against does not support this "
-#~ "version of the client."
-#~ msgstr "您要注册的服务器不支持这个版本的客户端。"
-
-#~ msgid "You must enter an Installation Number that "
-#~ msgstr "您必须输入注册号码"
-
-#~ msgid "Problem registering login name:\n"
-#~ msgstr "注册登录名时出现问题:\n"
-
-#~ msgid "Problem registering login name."
-#~ msgstr "注册登录名时出现问题。"
-
-#~ msgid ", quantity:"
-#~ msgstr "数量:"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "Red Hat Network Location: "
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "红帽网络位置:"
-
-#~ msgid ""
-#~ "\n"
-#~ "RHN Login: "
-#~ msgstr ""
-#~ "\n"
-#~ "红帽登录:"
-
-#~ msgid "Access Subscription"
-#~ msgstr "访问订阅"
-
-#~ msgid "Choose Organization"
-#~ msgstr "选择机构"
-
-#~ msgid "Choose an organization to use with this username"
-#~ msgstr "选择一个机构来使用这个用户名"
-
-#~ msgid "Specify an email address"
-#~ msgstr "指定一个电子邮件地址"
-
-#, fuzzy
-#~ msgid "Specify a installation number to use"
-#~ msgstr "指定一个要使用的订阅号"
-
-#~ msgid "Important Registration Info"
-#~ msgstr "重要的注册信息"
-
-#~ msgid "Registration information"
-#~ msgstr "登录信息"
-
-#~ msgid "Select organization"
-#~ msgstr "选择组织"
-
-#~ msgid "<small><b>Tip:</b> Red Hat values your privacy.</small>"
-#~ msgstr "<small><b>信息:</b> 红帽尊重您的隐私权。</small>"
-
-#~ msgid "Privacy Statement"
-#~ msgstr "隐私声明"
-
-#~ msgid "Red Hat Privacy Statement"
-#~ msgstr "红帽隐私声明"
-
-#, fuzzy
-#~ msgid ""
-#~ "Your account is associated with multiple <b>organizations</b>. You will "
-#~ "need to select an organization to register this system to."
-#~ msgstr "您的帐号与多个 <b>机构</b> 相连。您需要选择一个机构来注册这个系统。"
-
-#~ msgid "_Organization:"
-#~ msgstr "(_O)机构:"
-
-#~ msgid ""
-#~ "were not able to activate it (An unknown error occurred.) We used "
-#~ "existing "
-#~ msgstr "无法激活它(存在一个未知的错误。)使用在"
-
-#~ msgid ""
-#~ "active subscription slots available in the rhn account instead. You may "
-#~ "wish "
-#~ msgstr "rhn 帐号中有效的激活订阅。您也可以联系"
-
-#~ msgid "to contact Red Hat customer service regarding this issue: "
-#~ msgstr "红帽客户服务部门来解决这个问题:"
-
-#~ msgid "http://www.redhat.com/apps/support/"
-#~ msgstr "http://www.redhat.com/apps/support/"
-
-#~ msgid "activates subscriptions in your account."
-#~ msgstr "来在您的帐号中激活订阅。"
-
-#~ msgid "Only https and http are allowed."
-#~ msgstr "只允许使用 https 和 http。"
-
-#~ msgid "Error reading hardware information:"
-#~ msgstr "读取硬件信息时出错:"
-
-#~ msgid "Error reading DMI information:"
-#~ msgstr "读取 DMI 信息时出错:"
-
-#~ msgid "That user account and password is not valid\n"
-#~ msgstr "用户帐号和口令无效\n"
-
-#~ msgid "You must enter a user name."
-#~ msgstr "您必须输入用户名。"
-
-#~ msgid "You must enter and verify a password."
-#~ msgstr "您必须输入并校验一个口令。"
-
-#~ msgid ""
-#~ "Problem registering login:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "注册登录时出现问题:\n"
-#~ "%s"
-
-#~ msgid "Problem registering login."
-#~ msgstr "注册登录时出现问题。"
-
-#~ msgid "United States"
-#~ msgstr "美国"
-
-#~ msgid "Canada"
-#~ msgstr "加拿大"
-
-#~ msgid "Login Information:"
-#~ msgstr "登录信息:"
-
-#~ msgid "Account Information:"
-#~ msgstr "帐号信息:"
-
-#~ msgid "*First Name:"
-#~ msgstr "*名字:"
-
-#~ msgid "*Last Name:"
-#~ msgstr "*姓:"
-
-#~ msgid "*Company Name:"
-#~ msgstr "*公司名:"
-
-#~ msgid "Street Address:"
-#~ msgstr "街道地址:"
-
-#~ msgid "City:"
-#~ msgstr "城市:"
-
-#~ msgid "State/Province:"
-#~ msgstr "州/省:"
-
-#~ msgid "Zip/Post Code:"
-#~ msgstr "邮政编码:"
-
-#~ msgid "*Country:"
-#~ msgstr "*国家:"
-
-#~ msgid " Address 2:"
-#~ msgstr " 地址行 2:"
-
-#~ msgid " Address:"
-#~ msgstr "地址:"
-
-#~ msgid " C_ity:"
-#~ msgstr "(_i)城市:"
-
-#~ msgid " Co_mpany Name:"
-#~ msgstr "(_m)公司名:"
-
-#~ msgid " _State/Province:"
-#~ msgstr "(_S)州/省:"
-
-#~ msgid " _Zip/Postal code:"
-#~ msgstr "(_Z)邮政编码:"
-
-#~ msgid "* C_onfirm password: "
-#~ msgstr "* 确认口令 (_o): "
-
-#~ msgid "* Co_untry:"
-#~ msgstr "* (_u)国家:"
-
-#~ msgid "* Desired _Login:"
-#~ msgstr "* (_L)登录:"
-
-#~ msgid "* Desired _Password:"
-#~ msgstr "* 口令 (_P):"
-
-#~ msgid "* Last _Name:"
-#~ msgstr "*(_N)姓:"
-
-#~ msgid "* _Email Address: "
-#~ msgstr "* 电子邮件地址 (_E): "
-
-#~ msgid "* _First Name:"
-#~ msgstr "*(_F)名:"
-
-#~ msgid "<b>Account Information:</b>"
-#~ msgstr "<b>帐号信息:</b>"
-
-#~ msgid "<b>Login Information:</b>"
-#~ msgstr "<b>登录信息:</b>"
-
-#~ msgid "<small><b>Examples:</b> user(a)domain.com</small>"
-#~ msgstr "<small><b>例如:</b> user(a)domain.com</small>"
-
-#~ msgid "<small><b>Tip:</b> Leave blank if not with a company.</small>"
-#~ msgstr "<small><b>信息:</b> 如果是一个个人用户,请把它留为空。</small>"
-
-#~ msgid "Afghanistan"
-#~ msgstr "阿富汗"
-
-#~ msgid "Albania"
-#~ msgstr "阿尔巴尼亚"
-
-#~ msgid "Algeria"
-#~ msgstr "阿尔及利亚"
-
-#~ msgid "American Samoa"
-#~ msgstr "美属萨摩尔"
-
-#~ msgid "Andorra"
-#~ msgstr "安道尔"
-
-#~ msgid "Angola"
-#~ msgstr "安格拉"
-
-#~ msgid "Anguilla"
-#~ msgstr "安圭拉"
-
-#~ msgid "Antarctica"
-#~ msgstr "南极洲"
-
-#~ msgid "Antigua and Barbuda"
-#~ msgstr "安提瓜和巴布达"
-
-#~ msgid "Argentina"
-#~ msgstr "阿根廷"
-
-#~ msgid "Armenia"
-#~ msgstr "亚美尼亚"
-
-#~ msgid "Aruba"
-#~ msgstr "阿鲁巴"
-
-#~ msgid "Australia"
-#~ msgstr "澳大利亚"
-
-#~ msgid "Austria"
-#~ msgstr "奥地利"
-
-#~ msgid "Azerbaijan"
-#~ msgstr "阿塞拜疆"
-
-#~ msgid "Bahamas"
-#~ msgstr "巴哈马"
-
-#~ msgid "Bahrain"
-#~ msgstr "巴林"
-
-#~ msgid "Bangladesh"
-#~ msgstr "孟加拉国"
-
-#~ msgid "Barbados"
-#~ msgstr "巴巴多斯"
-
-#~ msgid "Belarus"
-#~ msgstr "白俄罗斯"
-
-#~ msgid "Belgium"
-#~ msgstr "比利时"
-
-#~ msgid "Belize"
-#~ msgstr "伯利兹"
-
-#~ msgid "Benin"
-#~ msgstr "贝宁"
-
-#~ msgid "Bermuda"
-#~ msgstr "百慕大"
-
-#~ msgid "Bhutan"
-#~ msgstr "不丹"
-
-#~ msgid "Bolivia"
-#~ msgstr "玻利维亚"
-
-#~ msgid "Bosnia and Herzegovina"
-#~ msgstr "波斯尼亚和黑塞哥维那"
-
-#~ msgid "Botswana"
-#~ msgstr "博茨瓦那"
-
-#~ msgid "Bouvet Island"
-#~ msgstr "布维岛"
-
-#~ msgid "Brazil"
-#~ msgstr "巴西"
-
-#~ msgid "British Indian Ocean Territory"
-#~ msgstr "英联邦的印度洋领域"
-
-#~ msgid "Brunei Darussalam"
-#~ msgstr "文莱"
-
-#~ msgid "Bulgaria"
-#~ msgstr "保加利亚"
-
-#~ msgid "Burkina Faso"
-#~ msgstr "布其纳法索"
-
-#~ msgid "Burundi"
-#~ msgstr "布隆迪"
-
-#~ msgid "C_reate new login"
-#~ msgstr "(_r)建立新登录"
-
-#~ msgid "Cambodia"
-#~ msgstr "柬埔寨"
-
-#~ msgid "Cameroon"
-#~ msgstr "喀麦隆"
-
-#~ msgid "Cape Verde"
-#~ msgstr "佛得角"
-
-#~ msgid "Cayman Islands"
-#~ msgstr "开曼群岛"
-
-#~ msgid "Central African Republic"
-#~ msgstr "中非共和国"
-
-#~ msgid "Chad"
-#~ msgstr "乍得"
-
-#~ msgid "Chile"
-#~ msgstr "智利"
-
-#~ msgid "China"
-#~ msgstr "中国"
-
-#~ msgid "Christmas Island"
-#~ msgstr "圣诞岛"
-
-#~ msgid "Cocos (Keeling) Islands"
-#~ msgstr "可可岛"
-
-#~ msgid "Colombia"
-#~ msgstr "哥伦比亚"
-
-#~ msgid "Comoros"
-#~ msgstr "科摩罗"
-
-#~ msgid "Congo"
-#~ msgstr "刚果"
-
-#~ msgid "Cook Islands"
-#~ msgstr "库克群岛"
-
-#~ msgid "Costa Rica"
-#~ msgstr "哥斯达黎加"
-
-#~ msgid "Cote d'Ivoire"
-#~ msgstr "科特迪瓦"
-
-#~ msgid "Create a _New Login"
-#~ msgstr "创建一个新登录(_N)"
-
-#~ msgid "Create a new Red Hat Network login"
-#~ msgstr "建立一个新的红帽网络登录"
-
-#~ msgid "Croatia"
-#~ msgstr "克罗地亚"
-
-#~ msgid "Cuba"
-#~ msgstr "古巴"
-
-#~ msgid "Cyprus"
-#~ msgstr "塞浦路斯"
-
-#~ msgid "Czech Republic"
-#~ msgstr "捷克共和国"
-
-#~ msgid "Denmark"
-#~ msgstr "丹麦"
-
-#~ msgid "Djibouti"
-#~ msgstr "吉布提"
-
-#~ msgid "Dominica"
-#~ msgstr "多米尼加"
-
-#~ msgid "Dominican Republic"
-#~ msgstr "多米尼加共和国"
-
-#~ msgid "East Timor"
-#~ msgstr "东帝汶"
-
-#~ msgid "Ecuador"
-#~ msgstr "厄瓜多尔"
-
-#~ msgid "Egypt"
-#~ msgstr "埃及"
-
-#~ msgid "El Salvador"
-#~ msgstr "萨尔瓦多"
-
-#~ msgid "Equatorial Guinea"
-#~ msgstr "赤道几内亚"
-
-#~ msgid "Eritrea"
-#~ msgstr "厄立特里亚"
-
-#~ msgid "Estonia"
-#~ msgstr "爱沙尼亚"
-
-#~ msgid "Ethiopia"
-#~ msgstr "埃塞俄比亚"
-
-#~ msgid "Falkland Islands (Malvinas)"
-#~ msgstr "福克兰群岛"
-
-#~ msgid "Faroe Islands"
-#~ msgstr "法罗群岛"
-
-#~ msgid "Fiji"
-#~ msgstr "斐济"
-
-#~ msgid ""
-#~ "Fill in the form below to create a new Red Hat login. Required "
-#~ "information is marked with a '*':"
-#~ msgstr "填写以下表格来创建一个新的红帽网络登录。必需的信息以 '*' 标记:"
-
-#~ msgid "Finland"
-#~ msgstr "芬兰"
-
-#~ msgid "France"
-#~ msgstr "法国"
-
-#~ msgid "France, Metropolitan"
-#~ msgstr "法国,本土"
-
-#~ msgid "French Guiana"
-#~ msgstr "法属圭亚那"
-
-#~ msgid "French Polynesia"
-#~ msgstr "法属玻里尼西亚"
-
-#~ msgid "French Southern Territories"
-#~ msgstr "法属南部领土"
-
-#~ msgid "Gabon"
-#~ msgstr "加蓬"
-
-#~ msgid "Gambia"
-#~ msgstr "甘比亚"
-
-#~ msgid "Georgia"
-#~ msgstr "乔治亚州"
-
-#~ msgid "Germany"
-#~ msgstr "德国"
-
-#~ msgid "Ghana"
-#~ msgstr "加纳"
-
-#~ msgid "Gibraltar"
-#~ msgstr "直布罗陀"
-
-#~ msgid "Greece"
-#~ msgstr "希腊"
-
-#~ msgid "Greenland"
-#~ msgstr "格陵兰"
-
-#~ msgid "Grenada"
-#~ msgstr "格林纳达"
-
-#~ msgid "Guadeloupe"
-#~ msgstr "瓜德罗普"
-
-#~ msgid "Guam"
-#~ msgstr "关岛"
-
-#~ msgid "Guatemala"
-#~ msgstr "瓜地马拉"
-
-#~ msgid "Guinea"
-#~ msgstr "几内亚"
-
-#~ msgid "Guinea-Bissau"
-#~ msgstr "几内亚比绍"
-
-#~ msgid "Guyana"
-#~ msgstr "圭亚那"
-
-#~ msgid "Haiti"
-#~ msgstr "海地"
-
-#~ msgid "Heard Island and McDonald Islands"
-#~ msgstr "赫德与麦克唐纳群岛"
-
-#~ msgid "Honduras"
-#~ msgstr "洪都拉斯"
-
-#~ msgid "Hong Kong"
-#~ msgstr "中国香港"
-
-#~ msgid "Hungary"
-#~ msgstr "匈牙利"
-
-#~ msgid "Iceland"
-#~ msgstr "冰岛"
-
-#~ msgid "India"
-#~ msgstr "印度"
-
-#~ msgid "Indonesia"
-#~ msgstr "印度尼西亚"
-
-#~ msgid "Iran (Islamic Republic of)"
-#~ msgstr "伊朗 (伊斯兰共和国)"
-
-#~ msgid "Iraq"
-#~ msgstr "伊拉克"
-
-#~ msgid "Ireland"
-#~ msgstr "爱尔兰"
-
-#~ msgid "Israel"
-#~ msgstr "以色列"
-
-#~ msgid "Italy"
-#~ msgstr "意大利"
-
-#~ msgid "Jamaica"
-#~ msgstr "牙买加"
-
-#~ msgid "Japan"
-#~ msgstr "日本"
-
-#~ msgid "Jordan"
-#~ msgstr "约旦"
-
-#~ msgid "Kazakhstan"
-#~ msgstr "哈萨克斯坦"
-
-#~ msgid "Kenya"
-#~ msgstr "肯尼亚"
-
-#~ msgid "Kiribati"
-#~ msgstr "基里巴斯"
-
-#~ msgid "Korea, Democratic People's Republic of"
-#~ msgstr "朝鲜人民民主共和国"
-
-#~ msgid "Korea, Republic of"
-#~ msgstr "朝鲜共和国"
-
-#~ msgid "Kuwait"
-#~ msgstr "科威特"
-
-#~ msgid "Kyrgyzstan"
-#~ msgstr "吉尔吉斯斯坦"
-
-#~ msgid "Lao People's Democratic Republic"
-#~ msgstr "老挝人民民主共和国"
-
-#~ msgid "Latin America"
-#~ msgstr "拉丁美洲"
-
-#~ msgid "Latvia"
-#~ msgstr "拉托维亚"
-
-#~ msgid "Lebanon"
-#~ msgstr "黎巴嫩"
-
-#~ msgid "Lesotho"
-#~ msgstr "莱索脱"
-
-#~ msgid "Liberia"
-#~ msgstr "利比里亚"
-
-#~ msgid "Libyan Arab Jamahiriya"
-#~ msgstr "阿拉伯利比亚民众国"
-
-#~ msgid "Liechtenstein"
-#~ msgstr "列支敦士登"
-
-#~ msgid "Lithuania"
-#~ msgstr "立陶宛"
-
-#~ msgid "Luxembourg"
-#~ msgstr "卢森堡"
-
-#~ msgid "Macau"
-#~ msgstr "中国澳门"
-
-#~ msgid "Macedonia"
-#~ msgstr "马塞多尼亚"
-
-#~ msgid "Madagascar"
-#~ msgstr "马达加斯加"
-
-#~ msgid "Malawi"
-#~ msgstr "马拉威"
-
-#~ msgid "Malaysia"
-#~ msgstr "马来西亚"
-
-#~ msgid "Maldives"
-#~ msgstr "马尔代夫"
-
-#~ msgid "Mali"
-#~ msgstr "马里"
-
-#~ msgid "Malta"
-#~ msgstr "马耳他"
-
-#~ msgid "Marshall Islands"
-#~ msgstr "马绍尔群岛"
-
-#~ msgid "Martinique"
-#~ msgstr "马提尼克"
-
-#~ msgid "Mauritania"
-#~ msgstr "毛里塔尼亚"
-
-#~ msgid "Mauritius"
-#~ msgstr "毛里求斯"
-
-#~ msgid "Mayotte"
-#~ msgstr "马约特岛"
-
-#~ msgid "Mexico"
-#~ msgstr "墨西哥"
-
-#~ msgid "Micronesia (Federated States of)"
-#~ msgstr "密克罗尼西亚联邦"
-
-#~ msgid "Moldova"
-#~ msgstr "摩尔多瓦"
-
-#~ msgid "Monaco"
-#~ msgstr "摩纳哥"
-
-#~ msgid "Mongolia"
-#~ msgstr "蒙古"
-
-#~ msgid "Montserrat"
-#~ msgstr "蒙特塞拉特岛"
-
-#~ msgid "Morocco"
-#~ msgstr "摩洛哥"
-
-#~ msgid "Mozambique"
-#~ msgstr "莫桑比克"
-
-#~ msgid "Myanmar"
-#~ msgstr "缅甸"
-
-#~ msgid "Namibia"
-#~ msgstr "纳米比亚"
-
-#~ msgid "Nauru"
-#~ msgstr "瑙鲁"
-
-#~ msgid "Nepal"
-#~ msgstr "尼泊尔"
-
-#~ msgid "Netherlands"
-#~ msgstr "荷兰"
-
-#~ msgid "Netherlands Antilles"
-#~ msgstr "荷属安的列斯"
-
-#~ msgid "New Caledonia"
-#~ msgstr "新喀里多尼亚"
-
-#~ msgid "New Zealand"
-#~ msgstr "新西兰"
-
-#~ msgid "Nicaragua"
-#~ msgstr "尼加拉瓜"
-
-#~ msgid "Niger"
-#~ msgstr "尼日尔"
-
-#~ msgid "Nigeria"
-#~ msgstr "尼日利亚"
-
-#~ msgid "Niue"
-#~ msgstr "纽埃"
-
-#~ msgid "Norfolk Island"
-#~ msgstr "诺福克群岛"
-
-#~ msgid "Northern Mariana Islands"
-#~ msgstr "北马里亚纳群岛"
-
-#~ msgid "Norway"
-#~ msgstr "挪威"
-
-#~ msgid "Oman"
-#~ msgstr "阿曼"
-
-#~ msgid "Pakistan"
-#~ msgstr "巴基斯坦"
-
-#~ msgid "Palau"
-#~ msgstr "帕劳"
-
-#~ msgid "Panama"
-#~ msgstr "巴拿马"
-
-#~ msgid "Papua New Guinea"
-#~ msgstr "巴布亚新几内亚"
-
-#~ msgid "Paraguay"
-#~ msgstr "巴拉圭"
-
-#~ msgid "Peru"
-#~ msgstr "秘鲁"
-
-#~ msgid "Philippines"
-#~ msgstr "菲律宾"
-
-#~ msgid "Pitcairn"
-#~ msgstr "皮特开恩群岛"
-
-#~ msgid "Poland"
-#~ msgstr "波兰"
-
-#~ msgid "Portugal"
-#~ msgstr "葡萄牙"
-
-#~ msgid "Puerto Rico"
-#~ msgstr "波多黎各"
-
-#~ msgid "Qatar"
-#~ msgstr "卡塔尔"
-
-#~ msgid ""
-#~ "Red Hat Logins and Passwords must be at least 5 alphanumeric characters"
-#~ msgstr "Red Hat 登录名和密码必须至少5个字母或数字"
-
-#~ msgid "Reunion"
-#~ msgstr "留尼汪岛"
-
-#~ msgid "Romania"
-#~ msgstr "罗马尼亚"
-
-#~ msgid "Russian Federation"
-#~ msgstr "俄罗斯联邦"
-
-#~ msgid "Rwanda"
-#~ msgstr "卢旺达"
-
-#~ msgid "Saint Helena"
-#~ msgstr "圣赫勒那"
-
-#~ msgid "Saint Kitts and Nevis"
-#~ msgstr "圣基茨和尼维斯联邦"
-
-#~ msgid "Saint Lucia"
-#~ msgstr "圣卢西亚"
-
-#~ msgid "Saint Pierre and Miquelon "
-#~ msgstr "圣皮埃尔和密克隆"
-
-#~ msgid "Saint Vincent and the Grenadines"
-#~ msgstr "圣文森特和格林纳丁斯"
-
-#~ msgid "Samoa"
-#~ msgstr "萨摩亚"
-
-#~ msgid "San Marino"
-#~ msgstr "圣马利诺"
-
-#~ msgid "Sao Tome and Principe"
-#~ msgstr "圣多美与普林西比"
-
-#~ msgid "Saudi Arabia"
-#~ msgstr "沙特阿拉伯"
-
-#~ msgid "Senegal"
-#~ msgstr "塞内加尔"
-
-#~ msgid "Seychelles"
-#~ msgstr "塞舌尔"
-
-#~ msgid "Sierra Leone"
-#~ msgstr "塞拉利昂"
-
-#~ msgid "Singapore"
-#~ msgstr "新加坡"
-
-#~ msgid "Slovakia"
-#~ msgstr "斯洛伐克"
-
-#~ msgid "Slovenia"
-#~ msgstr "斯洛文尼亚"
-
-#~ msgid "Solomon Islands"
-#~ msgstr "所罗门群岛"
-
-#~ msgid "Somalia"
-#~ msgstr "索马里"
-
-#~ msgid "South Africa"
-#~ msgstr "南非"
-
-#~ msgid "South Georgia and the South Sandwich Island"
-#~ msgstr "南乔治亚岛和南桑德韦奇岛"
-
-#~ msgid "Spain"
-#~ msgstr "西班牙"
-
-#~ msgid "Sri Lanka"
-#~ msgstr "斯里兰卡"
-
-#~ msgid "Sudan"
-#~ msgstr "苏丹"
-
-#~ msgid "Suriname"
-#~ msgstr "苏里南"
-
-#~ msgid "Svalbard and Jan Mayen Islands"
-#~ msgstr "斯马尔巴特和扬马延岛"
-
-#~ msgid "Swaziland"
-#~ msgstr "斯威士兰"
-
-#~ msgid "Sweden"
-#~ msgstr "瑞典"
-
-#~ msgid "Switzerland"
-#~ msgstr "瑞士"
-
-#~ msgid "Syrian Arab Republic"
-#~ msgstr "叙利亚阿拉伯共和国"
-
-#~ msgid "Taiwan"
-#~ msgstr "台湾"
-
-#~ msgid "Tajikistan"
-#~ msgstr "塔吉克斯坦"
-
-#~ msgid "Tanzania, United Republic of"
-#~ msgstr "坦赞尼亚联合共和国"
-
-#~ msgid "Thailand"
-#~ msgstr "泰国"
-
-#~ msgid "Togo"
-#~ msgstr "多哥"
-
-#~ msgid "Tokelau"
-#~ msgstr "托克劳"
-
-#~ msgid "Tonga"
-#~ msgstr "汤加"
-
-#~ msgid "Trinidad and Tobago"
-#~ msgstr "特立尼达和多巴哥"
-
-#~ msgid "Tunisia"
-#~ msgstr "突尼斯"
-
-#~ msgid "Turkey"
-#~ msgstr "土耳其"
-
-#~ msgid "Turkmenistan"
-#~ msgstr "土库曼斯坦"
-
-#~ msgid "Turks and Caicos Islands"
-#~ msgstr "特克斯群岛与凯科斯群岛"
-
-#~ msgid "Tuvalu"
-#~ msgstr "图瓦卢"
-
-#~ msgid "Uganda"
-#~ msgstr "乌干达"
-
-#~ msgid "Ukraine"
-#~ msgstr "乌克兰"
-
-#~ msgid "United Arab Emirates"
-#~ msgstr "阿拉伯联合酋长国"
-
-#~ msgid "United Kingdom"
-#~ msgstr "英国"
-
-#~ msgid "United States Minor Outlying Islands"
-#~ msgstr "美属群岛"
-
-#~ msgid "Uruguay"
-#~ msgstr "乌拉圭"
-
-#~ msgid "Uzbekistan"
-#~ msgstr "乌兹别克斯坦"
-
-#~ msgid "Vanuatu"
-#~ msgstr "瓦努阿图"
-
-#~ msgid "Vatican City State (Holy See)"
-#~ msgstr "梵蒂冈"
-
-#~ msgid "Venezuela"
-#~ msgstr "委内瑞拉"
-
-#~ msgid "Viet Nam"
-#~ msgstr "越南"
-
-#~ msgid "Virgin Islands (British)"
-#~ msgstr "维尔京群岛 (英属)"
-
-#~ msgid "Virgin Islands (U.S.)"
-#~ msgstr "维尔京群岛 (美属)"
-
-#~ msgid "Wallis and Futuna Islands"
-#~ msgstr "瓦里斯和富土那群岛"
-
-#~ msgid "Western Sahara"
-#~ msgstr "西部撒哈拉"
-
-#~ msgid "Yemen"
-#~ msgstr "也门"
-
-#~ msgid "Yugoslavia"
-#~ msgstr "南斯拉夫"
-
-#~ msgid "Zaire"
-#~ msgstr "扎伊尔"
-
-#~ msgid "Zambia"
-#~ msgstr "赞比亚"
-
-#~ msgid "Zimbabwe"
-#~ msgstr "津巴布韦"
13 years, 11 months
backend/po
by Transifex System User
backend/po/ru.po | 87 ++++++++++++++++++++++++++++---------------------------
1 file changed, 45 insertions(+), 42 deletions(-)
New commits:
commit c454b5c47e9cb7f1a0faa9e3ced6419c38663824
Author: ypoyarko <ypoyarko(a)fedoraproject.org>
Date: Mon Jun 14 22:21:05 2010 +0000
l10n: Updates to Russian (ru) translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/backend/po/ru.po b/backend/po/ru.po
index e5543f7..e868937 100644
--- a/backend/po/ru.po
+++ b/backend/po/ru.po
@@ -2,19 +2,20 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
+# Yulia <ypoyarko(a)redhat.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: ru\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-06 16:29+0200\n"
-"PO-Revision-Date: 2010-05-06 11:54+1000\n"
+"PO-Revision-Date: 2010-06-15 08:04\n"
"Language-Team: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\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"
+"Last-Translator: Yulia <ypoyarko(a)redhat.com>\n"
#: ../server/rhnSQL/sql_lib.py:81 ../server/handlers/xmlrpc/up2date.py:540
#, python-format
@@ -39,7 +40,7 @@ msgstr ""
#: ../server/rhnPackage.py:203 ../server/rhnPackage.py:291
#: ../server/rhnPackage.py:357
msgid "Package not found"
-msgstr ""
+msgstr "Пакет не найден"
#: ../server/apacheAuth.py:55
#, python-format
@@ -49,16 +50,16 @@ msgstr ""
#: ../server/apacheAuth.py:71
#, python-format
msgid "Sent proxy signature %s does not match ours %s."
-msgstr ""
+msgstr "Отправленная подпись прокси-сервера %s не соответствует %s."
#: ../server/apacheAuth.py:102
msgid "declined proxy authentication"
-msgstr ""
+msgstr "отказано в аутентификации прокси"
#: ../server/apacheRequest.py:47
#, python-format
msgid "Invalid request received (%s)."
-msgstr ""
+msgstr "Получен недопустимый запрос (%s)."
#: ../server/apacheRequest.py:105
#, python-format
@@ -66,6 +67,8 @@ msgid ""
"IMPORTANT MESSAGE FOLLOWS:\n"
"%s"
msgstr ""
+"ВАЖНО:\n"
+"%s"
#: ../server/apacheRequest.py:130
#, python-format
@@ -77,12 +80,12 @@ msgstr ""
#: ../server/apacheRequest.py:556
#, python-format
msgid "Invalid URI %s"
-msgstr ""
+msgstr "Недопустимый URI %s"
#. ignore ORA-20277: (product_no_service)
#: ../server/rhnServer/server_lib.py:66
msgid "Attempt to register a system failed"
-msgstr ""
+msgstr "Не удалось зарегистрировать систему"
#: ../server/rhnServer/server_token.py:84
#, python-format
@@ -91,12 +94,12 @@ msgstr ""
#: ../server/rhnServer/server_token.py:86
msgid "Conflicting base channels"
-msgstr ""
+msgstr "Конфликт основных каналов"
#: ../server/rhnServer/server_token.py:210
#, python-format
msgid "Failed to add server to group %s"
-msgstr ""
+msgstr "Не удалось добавить сервер в группу %s"
#: ../server/rhnServer/server_token.py:517
#, python-format
@@ -104,9 +107,8 @@ msgid "Maximum usage count of %s reached"
msgstr ""
#: ../server/rhnServer/server_token.py:648
-msgid ""
-"Registration failed: RHN Software Management service entitlements exhausted"
-msgstr ""
+msgid "Registration failed: RHN Software Management service entitlements exhausted"
+msgstr "Ошибка регистрации: недостаточно полномочий управления RHN"
#: ../server/rhnServer/server_token.py:762
msgid ""
@@ -117,7 +119,7 @@ msgstr ""
#: ../server/rhnServer/server_token.py:840
#, python-format
msgid "Could not find token '%s'"
-msgstr ""
+msgstr "Токен «%s» не найден"
#. Cannot use activation keys from different orgs
#: ../server/rhnServer/server_token.py:872
@@ -127,7 +129,7 @@ msgstr ""
#. Two tokens with different kickstart sessions
#: ../server/rhnServer/server_token.py:882
msgid "Kickstart session mismatch"
-msgstr ""
+msgstr "Несоответствие сеанса кикстарта"
#: ../server/rhnServer/server_token.py:902
msgid "Stacking of re-registration tokens is not supported"
@@ -136,11 +138,11 @@ msgstr ""
#: ../server/rhnServer/server_class.py:98
#, python-format
msgid "Architecture `%s' is not supported"
-msgstr ""
+msgstr "Архитектура «%s» не поддерживается"
#: ../server/rhnUser.py:382 ../server/rhnUser.py:385
msgid "Invalid username/password combination"
-msgstr ""
+msgstr "Неверная комбинация имени и пароля"
#. nope, not reserved either
#: ../server/rhnUser.py:543
@@ -151,7 +153,7 @@ msgstr ""
#. New accounts have to specify an e-mail address
#: ../server/rhnUser.py:549
msgid "E-mail address not specified"
-msgstr ""
+msgstr "Не указан электронный адрес"
#. wrong organization
#. Invalid org password
@@ -162,22 +164,22 @@ msgstr ""
#: ../server/rhnUser.py:614
#, python-format
msgid "User `%s' not a member of organization %s"
-msgstr ""
+msgstr "Пользователь «%s» не входит в состав организации %s"
#: ../server/rhnUser.py:642
#, python-format
msgid "username should be at least %d characters"
-msgstr ""
+msgstr "имя пользователя должно содержать не меньше %d символов"
#: ../server/rhnUser.py:645
#, python-format
msgid "username should be less than %d characters"
-msgstr ""
+msgstr "имя пользователя должно содержать не больше %d символов"
#: ../server/rhnUser.py:656
#, python-format
msgid "username = `%s', invalid character `%s'"
-msgstr ""
+msgstr "имя пользователя — «%s», недопустимый символ — «%s»"
#: ../server/rhnUser.py:674
#, python-format
@@ -194,27 +196,27 @@ msgstr ""
#: ../server/rhnUser.py:762
#, python-format
msgid "password must be at least %d characters"
-msgstr ""
+msgstr "пароль должен содержать не меньше %d символов"
#: ../server/rhnUser.py:765
#, python-format
msgid "Password must be shorter than %d characters"
-msgstr ""
+msgstr "пароль должен содержать не больше %d символов"
#: ../server/rhnUser.py:783
#, python-format
msgid "password contains character `%s'"
-msgstr ""
+msgstr "пароль содержит символ «%s»"
#: ../server/rhnUser.py:790
#, python-format
msgid "username should be at least %d characters long"
-msgstr ""
+msgstr "имя пользователя должно содержать не меньше %d символов"
#: ../server/rhnUser.py:801
#, python-format
msgid "Cannot register usernames ending with %s"
-msgstr ""
+msgstr "Не удалось зарегистрировать имена, заканчивающиеся на %s"
#: ../server/rhnChannel.py:1967
#, python-format
@@ -234,7 +236,7 @@ msgstr ""
#: ../server/rhnChannel.py:1987
#, python-format
msgid "Insufficient subscription permissions for release (%s, %s"
-msgstr ""
+msgstr "Недостаточные разрешения подписки (%s, %s"
#. Various messages that can be reused
#.
@@ -243,7 +245,7 @@ msgstr ""
#: ../server/rhnChannel.py:2258 ../server/rhnChannel.py:2269
#: ../server/rhnChannel.py:2284 ../server/rhnChannel.py:2292
msgid "System Registered but Inactive"
-msgstr ""
+msgstr "Система зарегистрирована, но неактивна"
#: ../server/rhnChannel.py:2259
#, python-format
@@ -440,8 +442,7 @@ msgstr ""
#: ../server/importlib/userAuth.py:146
#, python-format
-msgid ""
-"You are not allowed to manage channel %s, or that channel does not exist"
+msgid "You are not allowed to manage channel %s, or that channel does not exist"
msgstr ""
#: ../common/rhnException.py:43
@@ -820,8 +821,7 @@ msgid "Unable to entitle system"
msgstr ""
#: ../common/rhnException.py:201
-msgid ""
-"Registration token unable to entitle system: maximum membership exceeded"
+msgid "Registration token unable to entitle system: maximum membership exceeded"
msgstr ""
#. 100-109: e-mail and uuid related faults
@@ -1098,15 +1098,15 @@ msgstr ""
#: ../common/rhnException.py:313
msgid "File contains binary data"
-msgstr ""
+msgstr "Файл содержит двоичные данные"
#: ../common/rhnException.py:314
msgid "Configuration channel is not empty"
-msgstr ""
+msgstr "Непустой канал конфигурации"
#: ../common/rhnException.py:315
msgid "Permission error"
-msgstr ""
+msgstr "Ошибка разрешений"
#: ../common/rhnException.py:316
msgid "Content missing for configuration file"
@@ -1118,11 +1118,11 @@ msgstr ""
#: ../common/rhnException.py:318
msgid "Configuration channel does not exist"
-msgstr ""
+msgstr "Канал конфигурации не существует"
#: ../common/rhnException.py:319
msgid "Configuration channel already exists"
-msgstr ""
+msgstr "Канал конфигурации уже существует"
#: ../common/rhnException.py:320
msgid "File missing from configuration channel"
@@ -1142,7 +1142,7 @@ msgstr ""
#: ../common/rhnException.py:324
msgid "Full path of file must be specified"
-msgstr ""
+msgstr "Необходимо указать абсолютный путь к файлу"
#. 5000 - 5099: entitlement mapper errors
#: ../common/rhnException.py:327
@@ -1155,11 +1155,11 @@ msgstr ""
#: ../common/rhnException.py:329
msgid "Invalid user role"
-msgstr ""
+msgstr "Недопустимая роль пользователя"
#: ../common/rhnException.py:330
msgid "Invalid server group"
-msgstr ""
+msgstr "Недопустимая группа серверов"
#: ../common/rhnException.py:331
msgid "Invalid channel family"
@@ -1181,6 +1181,8 @@ msgid ""
"Error Message:\n"
" %s\n"
msgstr ""
+"Сообщение:\n"
+" %s\n"
#: ../common/rhnException.py:431
#, python-format
@@ -1196,3 +1198,4 @@ msgstr ""
#, python-format
msgid "Explanation: %s"
msgstr ""
+
13 years, 11 months
java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml | 4 ++++
1 file changed, 4 insertions(+)
New commits:
commit a124fd8e3259e3af2f2e0ccaa25062a52d5f4371
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Jun 14 17:28:20 2010 -0400
576314 - fix for errata being added to the email queue multiple times before it can be run
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
index e6514d7..2638cee 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
@@ -111,6 +111,10 @@ SELECT DISTINCT
FROM web_customer wc,
rhnChannelErrata CE
WHERE CE.errata_id = :errata_id
+ and not exists (select q2.errata_id
+ from rhnErrataNotificationQueue Q2
+ where Q2.errata_id = :errata_id and
+ Q2.org_id = wc.id)
</query>
</write-mode>
13 years, 11 months
Branch 'fve' - 2 commits - schema/spacewalk
by Partha Aji
schema/spacewalk/oracle/packages/rhn_channel.pkb | 111 -----------------
schema/spacewalk/oracle/packages/rhn_channel.pks | 16 --
schema/spacewalk/postgres/packages/rhn_channel.pkb | 134 ---------------------
3 files changed, 261 deletions(-)
New commits:
commit 439f87153f33706936aa70eaa127bc22004b9e00
Author: Partha Aji <paji(a)redhat.com>
Date: Mon Jun 14 17:20:30 2010 -0400
Wiped out unused bulk procs
diff --git a/schema/spacewalk/postgres/packages/rhn_channel.pkb b/schema/spacewalk/postgres/packages/rhn_channel.pkb
index 09f78f9..2f61396 100644
--- a/schema/spacewalk/postgres/packages/rhn_channel.pkb
+++ b/schema/spacewalk/postgres/packages/rhn_channel.pkb
@@ -218,105 +218,6 @@ update pg_settings set setting = 'rhn_channel,' || setting where name = 'search_
end$$ language plpgsql;
-
- CREATE OR REPLACE FUNCTION bulk_server_base_change(channel_id_in IN NUMERIC, set_label_in IN VARCHAR, set_uid_in IN NUMERIC) returns void
- AS $$
- DECLARE
- server RECORD;
- BEGIN
- FOR server IN
- SELECT user_id, label, element, element_two
- FROM rhnSet
- WHERE label = set_label_in
- AND user_id = set_uid_in
- LOOP
- IF rhn_server.can_change_base_channel(server.element) = 1
- THEN
- perform rhn_channel.clear_subscriptions(server.element);
- perform rhn_channel.subscribe_server(server.element, channel_id_in, 0, set_uid_in);
- END IF;
- END LOOP;
- END$$ language plpgsql;
-
- create or replace function bulk_server_basechange_from(
- set_label_in in varchar,
- set_uid_in in numeric,
- old_channel_id_in in numeric,
- new_channel_id_in in numeric
- ) returns void
- as $$
- declare
- servers cursor for
- select sc.server_id id
- from rhnChannel nc,
- rhnServerChannelArchCompat scac,
- rhnServer s,
- rhnChannel oc,
- rhnServerChannel sc,
- rhnSet st
- where 1=1
- -- first, find the servers we're looking for.
- and st.label = set_label_in
- and st.user_id = set_uid_in
- and st.element = sc.server_id
- -- now, filter out anything that's not in the
- -- old base channel.
- and sc.channel_id = old_channel_id_in
- and sc.channel_id = oc.id
- and oc.parent_channel is null
- -- now, see if it's compatible with the new base channel
- and nc.id = new_channel_id_in
- and nc.parent_channel is null
- and sc.server_id = s.id
- and s.server_arch_id = scac.server_arch_id
- and scac.channel_arch_id = nc.channel_arch_id;
- begin
- for s in servers loop
- insert into rhnSet (
- user_id, label, element
- ) values (
- set_uid_in,
- set_label_in || 'basechange',
- s.id
- );
- end loop;
- perform rhn_channel.bulk_server_base_change(new_channel_id_in,
- set_label_in || 'basechange',
- set_uid_in);
- delete from rhnSet
- where label = set_label_in||'basechange'
- and user_id = set_uid_in;
- end$$ language plpgsql;
-
- create or replace function bulk_guess_server_base(
- set_label_in in varchar,
- set_uid_in in numeric
- ) returns void
- as $$
- declare
- server RECORD;
- channel_id numeric;
- begin
- for server in
- SELECT user_id, label, element, element_two
- FROM rhnSet
- WHERE label = set_label_in
- AND user_id = set_uid_in
- loop
- -- anything that doesn't work, we just ignore
- begin
- if rhn_server.can_change_base_channel(server.element) = 1
- then
- channel_id := rhn_channel.guess_server_base(server.element);
- perform rhn_channel.clear_subscriptions(server.element);
- perform rhn_channel.subscribe_server(server.element, channel_id, 0, set_uid_in);
- end if;
- exception when others then
- null;
- end;
- end loop;
- end$$ language plpgsql;
-
create or replace function guess_server_base(
server_id_in in numeric
) RETURNS numeric as $$
@@ -480,41 +381,6 @@ update pg_settings set setting = 'rhn_channel,' || setting where name = 'search_
return NULL;
end$$ language plpgsql;
- create or replace function bulk_guess_server_base_from(
- set_label_in in varchar,
- set_uid_in in numeric,
- channel_id_in in numeric
- ) returns void
- as $$
- declare
- server RECORD;
- channels cursor(server_id_in numeric) for
- select rsc.channel_id
- from rhnServerChannel rsc,
- rhnChannel rc
- where server_id_in = rsc.server_id
- and rsc.channel_id = rc.id
- and rc.parent_channel is null;
- begin
- for server in
- SELECT user_id, label, element, element_two
- FROM rhnSet
- WHERE label = set_label_in
- AND user_id = set_uid_in
- loop
- for channel in channels(server.element)
- loop
- if channel.channel_id = channel_id_in
- then
- insert into rhnSet (user_id, label, element) values (set_uid_in, set_label_in || 'baseguess', server.element);
- end if;
- end loop;
- end loop;
- perform rhn_channel.bulk_guess_server_base(set_label_in||'baseguess',set_uid_in);
- delete from rhnSet where label = set_label_in||'baseguess' and user_id = set_uid_in;
- end$$ language plpgsql;
-
-
CREATE OR REPLACE FUNCTION clear_subscriptions(server_id_in IN NUMERIC, deleting_server IN NUMERIC default 0 ) returns void
AS $$
declare
commit b9b43fecde2b5be8b8101b65fc39d6e39be0d696
Author: Partha Aji <paji(a)redhat.com>
Date: Mon Jun 14 17:17:25 2010 -0400
Removed unused stored procedures
diff --git a/schema/spacewalk/oracle/packages/rhn_channel.pkb b/schema/spacewalk/oracle/packages/rhn_channel.pkb
index 1438f8c..84832fa 100644
--- a/schema/spacewalk/oracle/packages/rhn_channel.pkb
+++ b/schema/spacewalk/oracle/packages/rhn_channel.pkb
@@ -275,89 +275,6 @@ IS
RETURN 0;
END;
- PROCEDURE bulk_server_base_change(channel_id_in IN NUMBER, set_label_in IN VARCHAR2, set_uid_in IN NUMBER)
- IS
- BEGIN
- FOR server IN rhn_set.set_iterator(set_label_in, set_uid_in)
- LOOP
- IF rhn_server.can_change_base_channel(server.element) = 1
- THEN
- rhn_channel.clear_subscriptions(TO_NUMBER(server.element));
- rhn_channel.subscribe_server(server.element, channel_id_in, 0, set_uid_in);
- END IF;
- END LOOP server;
- END bulk_server_base_change;
-
- procedure bulk_server_basechange_from(
- set_label_in in varchar2,
- set_uid_in in number,
- old_channel_id_in in number,
- new_channel_id_in in number
- ) is
- cursor servers is
- select sc.server_id id
- from rhnChannel nc,
- rhnServerChannelArchCompat scac,
- rhnServer s,
- rhnChannel oc,
- rhnServerChannel sc,
- rhnSet st
- where 1=1
- -- first, find the servers we're looking for.
- and st.label = set_label_in
- and st.user_id = set_uid_in
- and st.element = sc.server_id
- -- now, filter out anything that's not in the
- -- old base channel.
- and sc.channel_id = old_channel_id_in
- and sc.channel_id = oc.id
- and oc.parent_channel is null
- -- now, see if it's compatible with the new base channel
- and nc.id = new_channel_id_in
- and nc.parent_channel is null
- and sc.server_id = s.id
- and s.server_arch_id = scac.server_arch_id
- and scac.channel_arch_id = nc.channel_arch_id;
- begin
- for s in servers loop
- insert into rhnSet (
- user_id, label, element
- ) values (
- set_uid_in,
- set_label_in || 'basechange',
- s.id
- );
- end loop channel;
- bulk_server_base_change(new_channel_id_in,
- set_label_in || 'basechange',
- set_uid_in);
- delete from rhnSet
- where label = set_label_in||'basechange'
- and user_id = set_uid_in;
- end bulk_server_basechange_from;
-
- procedure bulk_guess_server_base(
- set_label_in in varchar2,
- set_uid_in in number
- ) is
- channel_id number;
- begin
- for server in rhn_set.set_iterator(set_label_in, set_uid_in)
- loop
- -- anything that doesn't work, we just ignore
- begin
- if rhn_server.can_change_base_channel(server.element) = 1
- then
- channel_id := guess_server_base(TO_NUMBER(server.element));
- rhn_channel.clear_subscriptions(TO_NUMBER(server.element));
- rhn_channel.subscribe_server(TO_NUMBER(server.element), channel_id, 0, set_uid_in);
- end if;
- exception when others then
- null;
- end;
- end loop server;
- end;
-
function guess_server_base(
server_id_in in number
) RETURN number is
@@ -480,34 +397,6 @@ IS
return NULL;
end base_channel_rel_archid;
- procedure bulk_guess_server_base_from(
- set_label_in in varchar2,
- set_uid_in in number,
- channel_id_in in number
- ) is
- cursor channels(server_id_in in number) is
- select rsc.channel_id
- from rhnServerChannel rsc,
- rhnChannel rc
- where server_id_in = rsc.server_id
- and rsc.channel_id = rc.id
- and rc.parent_channel is null;
- begin
- for server in rhn_set.set_iterator(set_label_in, set_uid_in)
- loop
- for channel in channels(server.element)
- loop
- if channel.channel_id = channel_id_in
- then
- insert into rhnSet (user_id, label, element) values (set_uid_in, set_label_in || 'baseguess', server.element);
- end if;
- end loop channel;
- end loop server;
- bulk_guess_server_base(set_label_in||'baseguess',set_uid_in);
- delete from rhnSet where label = set_label_in||'baseguess' and user_id = set_uid_in;
- end;
-
-
PROCEDURE clear_subscriptions(server_id_in IN NUMBER, deleting_server IN NUMBER := 0,
update_family_countsYN IN NUMBER := 1)
IS
diff --git a/schema/spacewalk/oracle/packages/rhn_channel.pks b/schema/spacewalk/oracle/packages/rhn_channel.pks
index 67d239e..05ba2ff 100644
--- a/schema/spacewalk/oracle/packages/rhn_channel.pks
+++ b/schema/spacewalk/oracle/packages/rhn_channel.pks
@@ -73,22 +73,6 @@ IS
FUNCTION channel_priority(channel_id_in in number) RETURN number;
- PROCEDURE bulk_server_base_change(channel_id_in IN NUMBER, set_label_in IN VARCHAR2, set_uid_in IN NUMBER);
- procedure bulk_server_basechange_from(
- set_label_in in varchar2,
- set_uid_in in number,
- old_channel_id_in in number,
- new_channel_id_in in number);
-
- procedure bulk_guess_server_base(
- set_label_in in varchar2,
- set_uid_in in number);
-
- procedure bulk_guess_server_base_from(
- set_label_in in varchar2,
- set_uid_in in number,
- channel_id_in in number);
-
PROCEDURE clear_subscriptions(server_id_in IN NUMBER, deleting_server in number := 0,
update_family_countsYN IN NUMBER := 1);
13 years, 11 months