Fixed hard-coded UI messages.

Some hard-coded messages in ipa.js have been moved into internal.py.
The messages in internal.py have been rearranged to match the output
(ipa_init.json).

A new method IPA.get_message() has been added to take a message ID and
return the translated message or a default message if not found.

Ticket #1701
This commit is contained in:
Endi S. Dewata 2011-08-29 17:34:10 -05:00
parent 6a2dfde086
commit 6c6748748b
5 changed files with 435 additions and 393 deletions

View File

@ -138,8 +138,7 @@ IPA.facet = function (spec) {
that.entity.redirect_facet);
};
var redirect_errors =
["IPA Error 4001"];
var redirect_errors = [4001];
that.on_error = function(xhr, text_status, error_thrown) {
@ -147,7 +146,7 @@ IPA.facet = function (spec) {
as there is nothing any other facet can do either. */
if (that.entity.redirect_facet) {
for (var i=0; i<redirect_errors.length; i++) {
if (error_thrown.name === redirect_errors[i]) {
if (error_thrown.code === redirect_errors[i]) {
that.redirect();
return;
}

View File

@ -156,8 +156,8 @@ IPA.hbacrule_details_facet = function(spec) {
section.radio({
name: 'ipaenabledflag',
options:[
{'value': 'TRUE',label: IPA.messages['true']},
{'value': 'FALSE',label:IPA.messages['false']}
{ value: 'TRUE', label: IPA.get_message('true') },
{ value: 'FALSE', label: IPA.get_message('false') }
]
});
return section;

View File

@ -76,7 +76,7 @@ var IPA = ( function () {
// On IE the request is missing after authentication,
// so the request needs to be resent.
if (error_thrown.name == 'IPA Error 909') {
if (error_thrown.code === 909) {
batch.execute();
} else {
@ -208,6 +208,35 @@ var IPA = ( function () {
}
};
that.get_message = function(id, default_message) {
var messages = IPA.messages;
var keys = id.split(/\./);
for (var i=0; messages && i<keys.length; i++) {
var key = keys[i];
var value = messages[key];
// undefined key => not found
if (!value) return default_message;
// if value is string
if (typeof value === 'string') {
// and it's the last key => found
if (i === keys.length-1) return value;
// otherwise value should have been a container => not found
return default_message;
}
// value is container => check next key
messages = value;
}
// no more keys/messages => not found
return default_message;
};
return that;
}());
@ -242,8 +271,7 @@ IPA.command = function(spec) {
that.retry = typeof spec.retry == 'undefined' ? true : spec.retry;
that.error_message = spec.error_message || (IPA.messages.dialogs ?
IPA.messages.dialogs.batch_error_message : 'Some operations failed.');
that.error_message = spec.error_message || IPA.get_message('dialogs.batch_error_message', 'Some operations failed.');
that.get_command = function() {
return (that.entity ? that.entity+'_' : '') + that.method;
@ -299,22 +327,19 @@ IPA.command = function(spec) {
if (xhr.status === 401) {
error_thrown = {}; // error_thrown is string
error_thrown.name = 'Kerberos ticket no longer valid.';
if (IPA.messages && IPA.messages.ajax) {
error_thrown.message = IPA.messages.ajax["401"];
} else {
error_thrown.message =
"Your kerberos ticket is no longer valid. "+
"Please run kinit and then click 'Retry'. "+
"If this is your first time running the IPA Web UI "+
"<a href='/ipa/config/unauthorized.html'>"+
"follow these directions</a> to configure your browser.";
}
error_thrown.name = IPA.get_message('ajax.401.title',
'Kerberos ticket no longer valid.');
error_thrown.message = IPA.get_message('ajax.401.message',
"Your kerberos ticket is no longer valid. "+
"Please run kinit and then click 'Retry'. "+
"If this is your first time running the IPA Web UI "+
"<a href='/ipa/config/unauthorized.html'>"+
"follow these directions</a> to configure your browser.");
} else if (!error_thrown) {
error_thrown = {
name: xhr.responseText || 'Unknown Error',
message: xhr.statusText || 'Unknown Error'
name: xhr.responseText || IPA.get_message('errors.unknown_error', 'Unknown Error'),
message: xhr.statusText || IPA.get_message('errors.unknown_error', 'Unknown Error')
};
} else if (typeof error_thrown == 'string') {
@ -338,15 +363,16 @@ IPA.command = function(spec) {
if (!data) {
// error_handler() calls IPA.hide_activity_icon()
error_handler.call(this, xhr, text_status, /* error_thrown */ {
name: 'HTTP Error '+xhr.status,
name: IPA.get_message('errors.http_error', 'HTTP Error')+' '+xhr.status,
url: this.url,
message: data ? xhr.statusText : 'No response'
message: data ? xhr.statusText : IPA.get_message('errors.no_response', 'No response')
});
} else if (data.error) {
// error_handler() calls IPA.hide_activity_icon()
error_handler.call(this, xhr, text_status, /* error_thrown */ {
name: 'IPA Error '+data.error.code,
name: IPA.get_message('errors.ipa_error', 'IPA Error')+' '+data.error.code,
code: data.error.code,
message: data.error.message,
data: data
});
@ -361,8 +387,7 @@ IPA.command = function(spec) {
xhr: xhr,
text_status: text_status,
error_thrown: {
name: IPA.messages.dialogs ? IPA.messages.dialogs.batch_error_title :
'Operations Error',
name: IPA.get_message('dialogs.batch_error_title', 'Operations Error'),
message: that.error_message
},
command: that,
@ -416,7 +441,7 @@ IPA.command = function(spec) {
var member = result.failed[association][member_name];
for(var i = 0; i < member.length; i++) {
if(member[i].length > 1) {
var name = 'IPA Error';
var name = IPA.get_message('errors.ipa_error', 'IPA Error');
var message = member[i][1];
if(member[i][0])
message = member[i][0] + ': ' + message;
@ -502,8 +527,8 @@ IPA.batch_command = function (spec) {
var message = '';
if (!result) {
name = 'Internal Error '+xhr.status;
message = result ? xhr.statusText : "Internal error";
name = IPA.get_message('errors.internal_error', 'Internal Error')+' '+xhr.status;
message = result ? xhr.statusText : IPA.get_message('errors.internal_error', 'Internal Error');
that.errors.add(command, name, message, text_status);
@ -518,7 +543,7 @@ IPA.batch_command = function (spec) {
);
} else if (result.error) {
name = 'IPA Error ' + (result.error.code || '');
name = IPA.get_message('errors.ipa_error', 'IPA Error')+(result.error.code ? ' '+result.error.code : '');
message = result.error.message || result.error;
that.errors.add(command, name, message, text_status);
@ -529,6 +554,7 @@ IPA.batch_command = function (spec) {
text_status,
{
name: name,
code: result.error.code,
message: message,
data: result
}
@ -548,8 +574,7 @@ IPA.batch_command = function (spec) {
xhr: xhr,
text_status: text_status,
error_thrown: {
name: IPA.messages.dialogs ? IPA.messages.dialogs.batch_error_title :
'Operations Error',
name: IPA.get_message('dialogs.batch_error_title', 'Operations Error'),
message: that.error_message
},
command: that,
@ -728,7 +753,7 @@ IPA.error_dialog = function(spec) {
that.create = function() {
if (that.error_thrown.url) {
$('<p/>', {
text: 'URL: '+that.error_thrown.url
text: IPA.get_message('errors.url', 'URL')+': '+that.error_thrown.url
}).appendTo(that.container);
}
@ -794,21 +819,21 @@ IPA.error_dialog = function(spec) {
var label;
if(that.visible_buttons.indexOf('retry') > -1) {
label = IPA.messages.buttons ? IPA.messages.buttons.retry : 'Retry';
label = IPA.get_message('buttons.retry', 'Retry');
that.add_button(label, function() {
that.on_retry();
});
}
if(that.visible_buttons.indexOf('ok') > -1) {
label = IPA.messages.buttons ? IPA.messages.buttons.ok : 'OK';
label = IPA.get_message('buttons.ok', 'OK');
that.add_button(label, function() {
that.on_ok();
});
}
if(that.visible_buttons.indexOf('cancel') > -1) {
label = IPA.messages.buttons ? IPA.messages.buttons.cancel : 'Cancel';
label = IPA.get_message('buttons.cancel', 'Cancel');
that.add_button(label, function() {
that.on_cancel();
});

View File

@ -2578,6 +2578,7 @@
"class": "Password",
"cli_name": "password",
"cli_short_name": null,
"confirm": false,
"default": null,
"doc": "Registration password",
"exclude": null,
@ -9057,6 +9058,7 @@
"ipadefaultprimarygroup",
"ipaenabledflag",
"ipaentitlementid",
"ipaexternalmember",
"ipagroupobjectclasses",
"ipagroupsearchfields",
"ipahomesrootdir",
@ -15474,6 +15476,7 @@
"class": "Password",
"cli_name": "password",
"cli_short_name": null,
"confirm": true,
"default": null,
"doc": "Prompt to set the user password",
"exclude": [
@ -15912,7 +15915,10 @@
"error": null,
"messages": {
"ajax": {
"401": "Your Kerberos ticket is no longer valid. Please run kinit and then click 'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/config/unauthorized.html'>follow these directions</a> to configure your browser."
"401": {
"message": "Your Kerberos ticket is no longer valid. Please run kinit and then click 'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/config/unauthorized.html'>follow these directions</a> to configure your browser.",
"title": "Kerberos ticket no longer valid."
}
},
"association": {
"add": {
@ -15984,8 +15990,16 @@
"remove_empty": "Select entries to be removed.",
"remove_title": "Remove ${entity}",
"show_details": "Show details",
"validation_title": "Validation error",
"validation_message": "Input form contains invalid or missing values."
"validation_message": "Input form contains invalid or missing values.",
"validation_title": "Validation error"
},
"errors": {
"http_error": "HTTP Error",
"internal_error": "Internal Error",
"ipa_error": "IPA Error",
"no_response": "No response",
"unknown_error": "Unknown Error",
"url": "URL"
},
"facet_groups": {
"managedby": "${primary_key} is managed by:",
@ -16278,7 +16292,7 @@
"Administrator"
],
"gidnumber": [
"166000000"
"1890800000"
],
"has_keytab": true,
"has_password": true,
@ -16286,24 +16300,18 @@
"/home/admin"
],
"ipauniqueid": [
"a632c9f6-cdf7-11e0-89ce-525400e135d8"
"dcc874a0-d2d1-11e0-83f8-525400e135d8"
],
"krbextradata": [
{
"__base64__": "AAJyYFROcm9vdC9hZG1pbkBJRE0uTEFCLkJPUy5SRURIQVQuQ09NAA=="
},
{
"__base64__": "AAgBAA=="
"__base64__": "AAJ/hFxOcm9vdC9hZG1pbkBJRE0uTEFCLkJPUy5SRURIQVQuQ09NAA=="
}
],
"krblastpwdchange": [
"20110824022242Z"
],
"krblastsuccessfulauth": [
"20110824023056Z"
"20110830063439Z"
],
"krbpasswordexpiration": [
"20111122022242Z"
"20111128063439Z"
],
"krbprincipalname": [
"admin@IDM.LAB.BOS.REDHAT.COM"
@ -16331,7 +16339,7 @@
"admin"
],
"uidnumber": [
"166000000"
"1890800000"
]
}
],

View File

@ -92,365 +92,375 @@ api.register(json_metadata)
class i18n_messages(Command):
NO_CLI = True
messages={
"login": {"header" :_("Logged In As")},
"true": "True",
"false": "False",
"objects": {
"aci": {
"attribute":_("Attribute"),
},
"automountlocation": {
"identity":_("Automount Location Settings")
},
"automountmap": {
"map_type":_("Map Type"),
"direct":_("Direct"),
"indirect":_("Indirect"),
},
"automountkey": {
},
"cert": {
"unspecified":_("Unspecified"),
"key_compromise":_("Key Compromise"),
"ca_compromise":_("CA Compromise"),
"affiliation_changed":_("Affiliation Changed"),
"superseded":_("Superseded"),
"cessation_of_operation":_("Cessation of Operation"),
"certificate_hold":_("Certificate Hold"),
"remove_from_crl":_("Remove from CRL"),
"privilege_withdrawn":_("Privilege Withdrawn"),
"aa_compromise":_("AA Compromise"),
"revoke_confirmation":_(
"To confirm your intention to revoke this certificate, select a reason from the pull-down list, and click the \"Revoke\" button."),
"note":_("Note"),
"reason":_("Reason for Revocation"),
"restore_confirmation":_(
"To confirm your intention to restore this certificate, click the \"Restore\" button."),
"issued_to":_("Issued To"),
"common_name":_("Common Name"),
"organization":_("Organization"),
"organizational_unit":_("Organizational Unit"),
"serial_number":_("Serial Number"),
"issued_by":_("Issued By"),
"validity":_("Validity"),
"issued_on":_("Issued On"),
"expires_on":_("Expires On"),
"fingerprints":_("Fingerprints"),
"sha1_fingerprint":_("SHA1 Fingerprint"),
"md5_fingerprint":_("MD5 Fingerprint"),
"enter_csr":_("Enter the Base64-encoded CSR below"),
"valid":_("Valid Certificate Present"),
"new_certificate":_("New Certificate"),
"revoked":_("Certificate Revoked"),
"missing":_("No Valid Certificate"),
"view_certificate":_("Certificate for ${entity} ${primary_key}"),
"issue_certificate":_("Issue New Certificate for ${entity} ${primary_key}"),
"revoke_certificate":_("Revoke Certificate for ${entity} ${primary_key}"),
"restore_certificate":_("Restore Certificate for ${entity} ${primary_key}"),
},
"config": {
"user":_("User Options"),
"search":_("Search Options"),
"group":_("Group Options"),
},
"delegation": {
},
"dnszone": {
"identity":_("DNS Zone Settings"),
},
"dnsrecord": {
"type":_("Record Type"),
"data":_("Data"),
"deleted_no_data":_("DNS record was deleted because it contained no data."),
"redirection_dnszone":_("You will be redirected to DNS Zone."),
"title":_("Records for DNS Zone"),
"standard":_("Standard Record Types"),
"other":_("Other Record Types"),
},
"entitle": {
"account":_("Account"),
"certificate":_("Certificate"),
"certificates":_("Certificates"),
"consume":_("Consume"),
"consume_entitlement":_("Consume Entitlement"),
"consumed":_("Consumed"),
"download":_("Download"),
"download_certificate":_("Download Certificate"),
"end":_("End"),
"import_button":_("Import"),
"import_certificate":_("Import Certificate"),
"import_message":_("Enter the Base64-encoded entitlement certificate below:"),
"loading":_("Loading..."),
"no_certificate":_("No Certificate."),
"product":_("Product"),
"register":_("Register"),
"registration":_("Registration"),
"start":_("Start"),
"status":_("Status"),
},
"group": {
"details":_("Group Settings"),
"posix":_("Is this a POSIX group?"),
},
"hbacrule": {
"active":_("Active"),
"allow":_("Allow"),
"deny":_("Deny"),
"inactive":_("Inactive"),
"ipaenabledflag":_("Rule status"),
"user":_("Who"),
"anyone":_("Anyone"),
"specified_users":_("Specified Users and Groups"),
"host":_("Accessing"),
"any_host":_("Any Host"),
"specified_hosts":_("Specified Hosts and Groups"),
"service":_("Via Service"),
"any_service":_("Any Service"),
"specified_services":_("Specified Services and Groups"),
"sourcehost":_("From"),
},
"hbacsvc": {
},
"hbacsvcgroup": {
"services":_("Services"),
},
"host": {
"certificate":_("Host Certificate"),
"cn":_("Host Name"),
"delete_key_unprovision":_("Delete Key, Unprovision"),
"details":_("Host Settings"),
"enrolled":_("Enrolled?"),
"enrollment":_("Enrollment"),
"fqdn":_("Fully Qualified Host Name"),
"keytab":_("Kerberos Key"),
"keytab_missing":_("Kerberos Key Not Present"),
"keytab_present":_("Kerberos Key Present, Host Provisioned"),
"password":_("One-Time-Password"),
"password_missing":_("One-Time-Password Not Present"),
"password_present":_("One-Time-Password Present"),
"password_reset_button":_("Reset OTP"),
"password_reset_title":_("Reset One-Time-Password"),
"password_set_button":_("Set OTP"),
"password_set_title":_("Set One-Time-Password"),
"status":_("Status"),
"unprovision":_("Unprovision"),
"unprovision_confirmation":_("Are you sure you want to unprovision this host?"),
"unprovision_title":_("Unprovisioning ${entity}"),
},
"hostgroup": {
"identity":_("Host Group Settings"),
},
"krbtpolicy": {
"identity":_("Kerberos ticket policy"),
},
"netgroup": {
"identity":_("Netgroup Settings"),
},
"permission": {
"identity":_("Identity"),
"rights":_("Rights"),
"target":_("Target"),
"filter":_("Filter"),
"subtree":_("By Subtree"),
"targetgroup":_("Target Group"),
"type":_("Object By Type"),
"invalid_target":_("Permission with invalid target specification"),
},
"privilege": {
"identity":_("Privilege Settings"),
},
"pwpolicy": {
"identity":_("Password Policy"),
},
"role": {
"identity":_("Role Settings"),
},
"selfservice": {
},
"service": {
"certificate":_("Service Certificate"),
"details":_("Service Settings"),
"host":_("Host Name"),
"provisioning":_("Provisioning"),
"service":_("Service"),
"status":_("Status"),
"valid":_("Kerberos Key Present, Service Provisioned"),
"delete_key_unprovision":_("Delete Key, Unprovision"),
"missing":_("Kerberos Key Not Present"),
"unprovision_title":_("Unprovisioning ${entity}"),
"unprovision_confirmation":_("Are you sure you want to unprovision this service?"),
"unprovision":_("Unprovision"),
},
"sudocmd": {
"groups":_("Groups"),
},
"sudocmdgroup": {
"commands":_("Commands"),
},
"sudorule": {
"active":_("Active"),
"inactive":_("Inactive"),
"allow":_("Allow"),
"deny":_("Deny"),
"user":_("Who"),
"anyone":_("Anyone"),
"specified_users":_("Specified Users and Groups"),
"host":_("Access this host"),
"any_host":_("Any Host"),
"specified_hosts":_("Specified Hosts and Groups"),
"command":_("Run Commands"),
"any_command":_("Any Command"),
"specified_commands":_("Specified Commands and Groups"),
"options":_("Options"),
"runas":_("As Whom"),
"any_group":_("Any Group"),
"specified_groups":_("Specified Groups"),
"ipaenabledflag":_("Rule status"),
"external":_("External"),
},
"user": {
"account":_("Account Settings"),
"account_status":_("Account Status"),
"activate":_("Activate"),
"activation_link":_("Click to ${action}"),
"activation_confirmation":_("Are you sure you want to ${action} the user?<br/>The change will take effect immediately."),
"active":_("Active"),
"contact":_("Contact Settings"),
"deactivate":_("Deactivate"),
"employee":_("Employee Information"),
"error_changing_status":_("Error changing account status"),
"inactive":_("Inactive"),
"mailing":_("Mailing Address"),
"misc":_("Misc. Information"),
},
messages = {
"ajax": {
"401": {
"message": _("Your Kerberos ticket is no longer valid. Please run kinit and then click 'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/config/unauthorized.html'>follow these directions</a> to configure your browser."),
"title": _("Kerberos ticket no longer valid."),
},
},
"association": {
"add": {
"ipasudorunas": _("Add RunAs ${other_entity} into ${entity} ${primary_key}"),
"ipasudorunasgroup": _("Add RunAs Groups into ${entity} ${primary_key}"),
"managedby": _("Add ${other_entity} Managing ${entity} ${primary_key}"),
"member": _("Add ${other_entity} into ${entity} ${primary_key}"),
"memberallowcmd": _("Add Allow ${other_entity} into ${entity} ${primary_key}"),
"memberdenycmd": _("Add Deny ${other_entity} into ${entity} ${primary_key}"),
"memberof": _("Add ${entity} ${primary_key} into ${other_entity}"),
"sourcehost": _("Add Source ${other_entity} into ${entity} ${primary_key}"),
},
"direct_enrollment": _("Direct Enrollment"),
"indirect_enrollment": _("Indirect Enrollment"),
"no_entries": _("No entries."),
"paging": _("Showing ${start} to ${end} of ${total} entries."),
"remove": {
"ipasudorunas": _("Remove RunAs ${other_entity} from ${entity} ${primary_key}"),
"ipasudorunasgroup": _("Remove RunAs Groups from ${entity} ${primary_key}"),
"managedby": _("Remove ${other_entity} Managing ${entity} ${primary_key}"),
"member": _("Remove ${other_entity} from ${entity} ${primary_key}"),
"memberallowcmd": _("Remove Allow ${other_entity} from ${entity} ${primary_key}"),
"memberdenycmd": _("Remove Deny ${other_entity} from ${entity} ${primary_key}"),
"memberof": _("Remove ${entity} ${primary_key} from ${other_entity}"),
"sourcehost": _("Remove Source ${other_entity} from ${entity} ${primary_key}"),
},
"show_results": _("Show Results"),
},
"buttons": {
"add":_("Add"),
"add_and_add_another":_("Add and Add Another"),
"add_and_edit":_("Add and Edit"),
"add_and_close":_("Add and Close"),
"add_many":_("Add Many"),
"add": _("Add"),
"add_and_add_another": _("Add and Add Another"),
"add_and_close": _("Add and Close"),
"add_and_edit": _("Add and Edit"),
"add_many": _("Add Many"),
"cancel": _("Cancel"),
"close": _("Close"),
"enroll":_("Enroll"),
"enroll": _("Enroll"),
"find": _("Find"),
"get": _("Get"),
"issue": _("Issue"),
"ok": _("OK"),
"reset":_("Reset"),
"remove":_("Delete"),
"restore":_("Restore"),
"retry":_("Retry"),
"revoke":_("Revoke"),
"update":_("Update"),
"view":_("View"),
},
"dialogs": {
"add_title":_("Add ${entity}"),
"available":_("Available"),
"batch_error_message":_("Some operations failed."),
"batch_error_title":_("Operations Error"),
"confirmation":_("Confirmation"),
"dirty_message":_("This page has unsaved changes. Please save or revert."),
"dirty_title":_("Unsaved Changes"),
"hide_details":_("Hide details"),
"redirection":_("Redirection"),
"remove_empty":_("Select entries to be removed."),
"remove_title":_("Remove ${entity}"),
"prospective":_("Prospective"),
"show_details":_("Show details"),
"validation_title":_("Validation error"),
"validation_message":_("Input form contains invalid or missing values."),
},
"facet_groups": {
"managedby":_("${primary_key} is managed by:"),
"member":_("Entities enrolled in ${primary_key}:"),
"memberof":_("${primary_key} is a member of these:"),
},
"facets": {
"search":_("Search"),
"details": _("Settings"),
},
"password": {
"new_password":_("New Password"),
"password_change_complete":_("Password change complete"),
"password_must_match":_("Passwords must match"),
"reset_password":_("Reset Password"),
"verify_password":_("Verify Password"),
},
"search": {
"partial_delete":_("Some entries were not deleted"),
"quick_links":_("Quick Links"),
"select_all":_("Select All"),
"unselect_all":_("Unselect All"),
"delete_confirm":_("Are you sure you want to delete selected entries?"),
"truncated":_(
"Query returned more results than the configured size limit. Displaying the first ${counter} results."),
},
"remove": _("Delete"),
"reset": _("Reset"),
"restore": _("Restore"),
"retry": _("Retry"),
"revoke": _("Revoke"),
"update": _("Update"),
"view": _("View"),
},
"details": {
"collapse_all":_("Collapse All"),
"expand_all":_("Expand All"),
"general":_("General"),
"identity":_("Identity Settings"),
"settings":_("${entity} ${primary_key} Settings"),
"to_top":_("Back to Top")
"collapse_all": _("Collapse All"),
"expand_all": _("Expand All"),
"general": _("General"),
"identity": _("Identity Settings"),
"settings": _("${entity} ${primary_key} Settings"),
"to_top": _("Back to Top")
},
"dialogs": {
"add_title": _("Add ${entity}"),
"available": _("Available"),
"batch_error_message": _("Some operations failed."),
"batch_error_title": _("Operations Error"),
"confirmation": _("Confirmation"),
"dirty_message": _("This page has unsaved changes. Please save or revert."),
"dirty_title": _("Unsaved Changes"),
"hide_details": _("Hide details"),
"prospective": _("Prospective"),
"redirection": _("Redirection"),
"remove_empty": _("Select entries to be removed."),
"remove_title": _("Remove ${entity}"),
"show_details": _("Show details"),
"validation_title": _("Validation error"),
"validation_message": _("Input form contains invalid or missing values."),
},
"errors": {
"http_error": _("HTTP Error"),
"internal_error": _("Internal Error"),
"ipa_error": _("IPA Error"),
"no_response": _("No response"),
"unknown_error": _("Unknown Error"),
"url": _("URL"),
},
"facet_groups": {
"managedby": _("${primary_key} is managed by:"),
"member": _("Entities enrolled in ${primary_key}:"),
"memberof": _("${primary_key} is a member of these:"),
},
"facets": {
"details": _("Settings"),
"search": _("Search"),
},
"false": _("False"),
"login": {
"header": _("Logged In As")
},
"objects": {
"aci": {
"attribute": _("Attribute"),
},
"tabs": {
"dns":_("DNS"),
"identity":_("Identity"),
"policy":_("Policy"),
"audit": _("Audit"),
"ipaserver":_("IPA Server"),
"sudo":_("Sudo"),
"hbac":_("Host Based Access Control"),
"role":_("Role Based Access Control"),
"automount":_("Automount")
"automountkey": {
},
"association": {
"add": {
"ipasudorunas":_("Add RunAs ${other_entity} into ${entity} ${primary_key}"),
"ipasudorunasgroup":_("Add RunAs Groups into ${entity} ${primary_key}"),
"managedby":_("Add ${other_entity} Managing ${entity} ${primary_key}"),
"member":_("Add ${other_entity} into ${entity} ${primary_key}"),
"memberallowcmd":_("Add Allow ${other_entity} into ${entity} ${primary_key}"),
"memberdenycmd":_("Add Deny ${other_entity} into ${entity} ${primary_key}"),
"memberof":_("Add ${entity} ${primary_key} into ${other_entity}"),
"sourcehost":_("Add Source ${other_entity} into ${entity} ${primary_key}"),
"automountlocation": {
"identity": _("Automount Location Settings")
},
"direct_enrollment":_("Direct Enrollment"),
"indirect_enrollment":_("Indirect Enrollment"),
"no_entries":_("No entries."),
"paging":_("Showing ${start} to ${end} of ${total} entries."),
"remove": {
"ipasudorunas":_("Remove RunAs ${other_entity} from ${entity} ${primary_key}"),
"ipasudorunasgroup":_("Remove RunAs Groups from ${entity} ${primary_key}"),
"managedby":_("Remove ${other_entity} Managing ${entity} ${primary_key}"),
"member":_("Remove ${other_entity} from ${entity} ${primary_key}"),
"memberallowcmd":_("Remove Allow ${other_entity} from ${entity} ${primary_key}"),
"memberdenycmd":_("Remove Deny ${other_entity} from ${entity} ${primary_key}"),
"memberof":_("Remove ${entity} ${primary_key} from ${other_entity}"),
"sourcehost":_("Remove Source ${other_entity} from ${entity} ${primary_key}"),
"automountmap": {
"map_type": _("Map Type"),
"direct": _("Direct"),
"indirect": _("Indirect"),
},
"show_results":_("Show Results"),
"cert": {
"aa_compromise": _("AA Compromise"),
"affiliation_changed": _("Affiliation Changed"),
"ca_compromise": _("CA Compromise"),
"certificate_hold": _("Certificate Hold"),
"cessation_of_operation": _("Cessation of Operation"),
"common_name": _("Common Name"),
"enter_csr": _("Enter the Base64-encoded CSR below"),
"expires_on": _("Expires On"),
"fingerprints": _("Fingerprints"),
"issue_certificate": _("Issue New Certificate for ${entity} ${primary_key}"),
"issued_by": _("Issued By"),
"issued_on": _("Issued On"),
"issued_to": _("Issued To"),
"key_compromise": _("Key Compromise"),
"md5_fingerprint": _("MD5 Fingerprint"),
"missing": _("No Valid Certificate"),
"new_certificate": _("New Certificate"),
"note": _("Note"),
"organization": _("Organization"),
"organizational_unit": _("Organizational Unit"),
"privilege_withdrawn": _("Privilege Withdrawn"),
"reason": _("Reason for Revocation"),
"remove_from_crl": _("Remove from CRL"),
"restore_certificate": _("Restore Certificate for ${entity} ${primary_key}"),
"restore_confirmation": _("To confirm your intention to restore this certificate, click the \"Restore\" button."),
"revoke_certificate": _("Revoke Certificate for ${entity} ${primary_key}"),
"revoke_confirmation": _("To confirm your intention to revoke this certificate, select a reason from the pull-down list, and click the \"Revoke\" button."),
"revoked": _("Certificate Revoked"),
"serial_number": _("Serial Number"),
"sha1_fingerprint": _("SHA1 Fingerprint"),
"superseded": _("Superseded"),
"unspecified": _("Unspecified"),
"valid": _("Valid Certificate Present"),
"validity": _("Validity"),
"view_certificate": _("Certificate for ${entity} ${primary_key}"),
},
"widget": {
"next":_("Next"),
"optional":_("Optional field: click to show"),
"page":_("Page"),
"prev":_("Prev"),
"validation": {
"error":_("Text does not match field pattern"),
"integer": _("Must be an integer"),
"max_value": _("Maximum value is ${value}"),
"min_value": _("Minimum value is ${value}"),
"required": _("Required field"),
"config": {
"group": _("Group Options"),
"search": _("Search Options"),
"user": _("User Options"),
},
"delegation": {
},
"dnsrecord": {
"data": _("Data"),
"deleted_no_data": _("DNS record was deleted because it contained no data."),
"other": _("Other Record Types"),
"redirection_dnszone": _("You will be redirected to DNS Zone."),
"standard": _("Standard Record Types"),
"title": _("Records for DNS Zone"),
"type": _("Record Type"),
},
"dnszone": {
"identity": _("DNS Zone Settings"),
},
"entitle": {
"account": _("Account"),
"certificate": _("Certificate"),
"certificates": _("Certificates"),
"consume": _("Consume"),
"consume_entitlement": _("Consume Entitlement"),
"consumed": _("Consumed"),
"download": _("Download"),
"download_certificate": _("Download Certificate"),
"end": _("End"),
"import_button": _("Import"),
"import_certificate": _("Import Certificate"),
"import_message": _("Enter the Base64-encoded entitlement certificate below:"),
"loading": _("Loading..."),
"no_certificate": _("No Certificate."),
"product": _("Product"),
"register": _("Register"),
"registration": _("Registration"),
"start": _("Start"),
"status": _("Status"),
},
"group": {
"details": _("Group Settings"),
"posix": _("Is this a POSIX group?"),
},
"hbacrule": {
"active": _("Active"),
"allow": _("Allow"),
"any_host": _("Any Host"),
"any_service": _("Any Service"),
"anyone": _("Anyone"),
"deny": _("Deny"),
"host": _("Accessing"),
"inactive": _("Inactive"),
"ipaenabledflag": _("Rule status"),
"service": _("Via Service"),
"sourcehost": _("From"),
"specified_hosts": _("Specified Hosts and Groups"),
"specified_services": _("Specified Services and Groups"),
"specified_users": _("Specified Users and Groups"),
"user": _("Who"),
},
"hbacsvc": {
},
"hbacsvcgroup": {
"services": _("Services"),
},
"host": {
"certificate": _("Host Certificate"),
"cn": _("Host Name"),
"delete_key_unprovision": _("Delete Key, Unprovision"),
"details": _("Host Settings"),
"enrolled": _("Enrolled?"),
"enrollment": _("Enrollment"),
"fqdn": _("Fully Qualified Host Name"),
"keytab": _("Kerberos Key"),
"keytab_missing": _("Kerberos Key Not Present"),
"keytab_present": _("Kerberos Key Present, Host Provisioned"),
"password": _("One-Time-Password"),
"password_missing": _("One-Time-Password Not Present"),
"password_present": _("One-Time-Password Present"),
"password_reset_button": _("Reset OTP"),
"password_reset_title": _("Reset One-Time-Password"),
"password_set_button": _("Set OTP"),
"password_set_title": _("Set One-Time-Password"),
"status": _("Status"),
"unprovision": _("Unprovision"),
"unprovision_confirmation": _("Are you sure you want to unprovision this host?"),
"unprovision_title": _("Unprovisioning ${entity}"),
},
"hostgroup": {
"identity": _("Host Group Settings"),
},
"krbtpolicy": {
"identity": _("Kerberos ticket policy"),
},
"netgroup": {
"identity": _("Netgroup Settings"),
},
"permission": {
"filter": _("Filter"),
"identity": _("Identity"),
"invalid_target": _("Permission with invalid target specification"),
"rights": _("Rights"),
"subtree": _("By Subtree"),
"target": _("Target"),
"targetgroup": _("Target Group"),
"type": _("Object By Type"),
},
"ajax": {
"401":_("Your Kerberos ticket is no longer valid. Please run kinit and then click 'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/config/unauthorized.html'>follow these directions</a> to configure your browser.")
"privilege": {
"identity": _("Privilege Settings"),
},
}
"pwpolicy": {
"identity": _("Password Policy"),
},
"role": {
"identity": _("Role Settings"),
},
"selfservice": {
},
"service": {
"certificate": _("Service Certificate"),
"delete_key_unprovision": _("Delete Key, Unprovision"),
"details": _("Service Settings"),
"host": _("Host Name"),
"missing": _("Kerberos Key Not Present"),
"provisioning": _("Provisioning"),
"service": _("Service"),
"status": _("Status"),
"unprovision": _("Unprovision"),
"unprovision_confirmation": _("Are you sure you want to unprovision this service?"),
"unprovision_title": _("Unprovisioning ${entity}"),
"valid": _("Kerberos Key Present, Service Provisioned"),
},
"sudocmd": {
"groups": _("Groups"),
},
"sudocmdgroup": {
"commands": _("Commands"),
},
"sudorule": {
"active": _("Active"),
"allow": _("Allow"),
"any_command": _("Any Command"),
"any_group": _("Any Group"),
"any_host": _("Any Host"),
"anyone": _("Anyone"),
"command": _("Run Commands"),
"deny": _("Deny"),
"external": _("External"),
"host": _("Access this host"),
"inactive": _("Inactive"),
"ipaenabledflag": _("Rule status"),
"options": _("Options"),
"runas": _("As Whom"),
"specified_commands": _("Specified Commands and Groups"),
"specified_groups": _("Specified Groups"),
"specified_hosts": _("Specified Hosts and Groups"),
"specified_users": _("Specified Users and Groups"),
"user": _("Who"),
},
"user": {
"account": _("Account Settings"),
"account_status": _("Account Status"),
"activate": _("Activate"),
"activation_confirmation": _("Are you sure you want to ${action} the user?<br/>The change will take effect immediately."),
"activation_link": _("Click to ${action}"),
"active": _("Active"),
"contact": _("Contact Settings"),
"deactivate": _("Deactivate"),
"employee": _("Employee Information"),
"error_changing_status": _("Error changing account status"),
"inactive": _("Inactive"),
"mailing": _("Mailing Address"),
"misc": _("Misc. Information"),
},
},
"password": {
"new_password": _("New Password"),
"password_change_complete": _("Password change complete"),
"password_must_match": _("Passwords must match"),
"reset_password": _("Reset Password"),
"verify_password": _("Verify Password"),
},
"search": {
"delete_confirm": _("Are you sure you want to delete selected entries?"),
"partial_delete": _("Some entries were not deleted"),
"quick_links": _("Quick Links"),
"select_all": _("Select All"),
"truncated": _("Query returned more results than the configured size limit. Displaying the first ${counter} results."),
"unselect_all": _("Unselect All"),
},
"tabs": {
"audit": _("Audit"),
"automount": _("Automount"),
"dns": _("DNS"),
"hbac": _("Host Based Access Control"),
"identity": _("Identity"),
"ipaserver": _("IPA Server"),
"policy": _("Policy"),
"role": _("Role Based Access Control"),
"sudo": _("Sudo"),
},
"true": _("True"),
"widget": {
"next": _("Next"),
"optional": _("Optional field: click to show"),
"page": _("Page"),
"prev": _("Prev"),
"validation": {
"error": _("Text does not match field pattern"),
"integer": _("Must be an integer"),
"max_value": _("Maximum value is ${value}"),
"min_value": _("Minimum value is ${value}"),
"required": _("Required field"),
},
},
}
has_output = (
Output('messages', dict, doc=_('Dict of I18N messages')),
)