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); that.entity.redirect_facet);
}; };
var redirect_errors = var redirect_errors = [4001];
["IPA Error 4001"];
that.on_error = function(xhr, text_status, error_thrown) { 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. */ as there is nothing any other facet can do either. */
if (that.entity.redirect_facet) { if (that.entity.redirect_facet) {
for (var i=0; i<redirect_errors.length; i++) { 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(); that.redirect();
return; return;
} }

View File

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

View File

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

View File

@ -2578,6 +2578,7 @@
"class": "Password", "class": "Password",
"cli_name": "password", "cli_name": "password",
"cli_short_name": null, "cli_short_name": null,
"confirm": false,
"default": null, "default": null,
"doc": "Registration password", "doc": "Registration password",
"exclude": null, "exclude": null,
@ -9057,6 +9058,7 @@
"ipadefaultprimarygroup", "ipadefaultprimarygroup",
"ipaenabledflag", "ipaenabledflag",
"ipaentitlementid", "ipaentitlementid",
"ipaexternalmember",
"ipagroupobjectclasses", "ipagroupobjectclasses",
"ipagroupsearchfields", "ipagroupsearchfields",
"ipahomesrootdir", "ipahomesrootdir",
@ -15474,6 +15476,7 @@
"class": "Password", "class": "Password",
"cli_name": "password", "cli_name": "password",
"cli_short_name": null, "cli_short_name": null,
"confirm": true,
"default": null, "default": null,
"doc": "Prompt to set the user password", "doc": "Prompt to set the user password",
"exclude": [ "exclude": [
@ -15912,7 +15915,10 @@
"error": null, "error": null,
"messages": { "messages": {
"ajax": { "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": { "association": {
"add": { "add": {
@ -15984,8 +15990,16 @@
"remove_empty": "Select entries to be removed.", "remove_empty": "Select entries to be removed.",
"remove_title": "Remove ${entity}", "remove_title": "Remove ${entity}",
"show_details": "Show details", "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": { "facet_groups": {
"managedby": "${primary_key} is managed by:", "managedby": "${primary_key} is managed by:",
@ -16278,7 +16292,7 @@
"Administrator" "Administrator"
], ],
"gidnumber": [ "gidnumber": [
"166000000" "1890800000"
], ],
"has_keytab": true, "has_keytab": true,
"has_password": true, "has_password": true,
@ -16286,24 +16300,18 @@
"/home/admin" "/home/admin"
], ],
"ipauniqueid": [ "ipauniqueid": [
"a632c9f6-cdf7-11e0-89ce-525400e135d8" "dcc874a0-d2d1-11e0-83f8-525400e135d8"
], ],
"krbextradata": [ "krbextradata": [
{ {
"__base64__": "AAJyYFROcm9vdC9hZG1pbkBJRE0uTEFCLkJPUy5SRURIQVQuQ09NAA==" "__base64__": "AAJ/hFxOcm9vdC9hZG1pbkBJRE0uTEFCLkJPUy5SRURIQVQuQ09NAA=="
},
{
"__base64__": "AAgBAA=="
} }
], ],
"krblastpwdchange": [ "krblastpwdchange": [
"20110824022242Z" "20110830063439Z"
],
"krblastsuccessfulauth": [
"20110824023056Z"
], ],
"krbpasswordexpiration": [ "krbpasswordexpiration": [
"20111122022242Z" "20111128063439Z"
], ],
"krbprincipalname": [ "krbprincipalname": [
"admin@IDM.LAB.BOS.REDHAT.COM" "admin@IDM.LAB.BOS.REDHAT.COM"
@ -16331,7 +16339,7 @@
"admin" "admin"
], ],
"uidnumber": [ "uidnumber": [
"166000000" "1890800000"
] ]
} }
], ],

View File

@ -93,13 +93,112 @@ class i18n_messages(Command):
NO_CLI = True NO_CLI = True
messages = { messages = {
"login": {"header" :_("Logged In As")}, "ajax": {
"true": "True", "401": {
"false": "False", "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_close": _("Add and Close"),
"add_and_edit": _("Add and Edit"),
"add_many": _("Add Many"),
"cancel": _("Cancel"),
"close": _("Close"),
"enroll": _("Enroll"),
"find": _("Find"),
"get": _("Get"),
"issue": _("Issue"),
"ok": _("OK"),
"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")
},
"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": { "objects": {
"aci": { "aci": {
"attribute": _("Attribute"), "attribute": _("Attribute"),
}, },
"automountkey": {
},
"automountlocation": { "automountlocation": {
"identity": _("Automount Location Settings") "identity": _("Automount Location Settings")
}, },
@ -108,65 +207,61 @@ class i18n_messages(Command):
"direct": _("Direct"), "direct": _("Direct"),
"indirect": _("Indirect"), "indirect": _("Indirect"),
}, },
"automountkey": {
},
"cert": { "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"), "aa_compromise": _("AA Compromise"),
"revoke_confirmation":_( "affiliation_changed": _("Affiliation Changed"),
"To confirm your intention to revoke this certificate, select a reason from the pull-down list, and click the \"Revoke\" button."), "ca_compromise": _("CA Compromise"),
"note":_("Note"), "certificate_hold": _("Certificate Hold"),
"reason":_("Reason for Revocation"), "cessation_of_operation": _("Cessation of Operation"),
"restore_confirmation":_(
"To confirm your intention to restore this certificate, click the \"Restore\" button."),
"issued_to":_("Issued To"),
"common_name": _("Common Name"), "common_name": _("Common Name"),
"organization":_("Organization"), "enter_csr": _("Enter the Base64-encoded CSR below"),
"organizational_unit":_("Organizational Unit"),
"serial_number":_("Serial Number"),
"issued_by":_("Issued By"),
"validity":_("Validity"),
"issued_on":_("Issued On"),
"expires_on": _("Expires On"), "expires_on": _("Expires On"),
"fingerprints": _("Fingerprints"), "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}"), "issue_certificate": _("Issue New Certificate for ${entity} ${primary_key}"),
"revoke_certificate":_("Revoke 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_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}"),
}, },
"config": { "config": {
"user":_("User Options"),
"search":_("Search Options"),
"group": _("Group Options"), "group": _("Group Options"),
"search": _("Search Options"),
"user": _("User Options"),
}, },
"delegation": { "delegation": {
}, },
"dnszone": {
"identity":_("DNS Zone Settings"),
},
"dnsrecord": { "dnsrecord": {
"type":_("Record Type"),
"data": _("Data"), "data": _("Data"),
"deleted_no_data": _("DNS record was deleted because it contained no 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"), "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": { "entitle": {
"account": _("Account"), "account": _("Account"),
@ -196,19 +291,19 @@ class i18n_messages(Command):
"hbacrule": { "hbacrule": {
"active": _("Active"), "active": _("Active"),
"allow": _("Allow"), "allow": _("Allow"),
"any_host": _("Any Host"),
"any_service": _("Any Service"),
"anyone": _("Anyone"),
"deny": _("Deny"), "deny": _("Deny"),
"host": _("Accessing"),
"inactive": _("Inactive"), "inactive": _("Inactive"),
"ipaenabledflag": _("Rule status"), "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"), "service": _("Via Service"),
"any_service":_("Any Service"),
"specified_services":_("Specified Services and Groups"),
"sourcehost": _("From"), "sourcehost": _("From"),
"specified_hosts": _("Specified Hosts and Groups"),
"specified_services": _("Specified Services and Groups"),
"specified_users": _("Specified Users and Groups"),
"user": _("Who"),
}, },
"hbacsvc": { "hbacsvc": {
}, },
@ -248,14 +343,14 @@ class i18n_messages(Command):
"identity": _("Netgroup Settings"), "identity": _("Netgroup Settings"),
}, },
"permission": { "permission": {
"identity":_("Identity"),
"rights":_("Rights"),
"target":_("Target"),
"filter": _("Filter"), "filter": _("Filter"),
"identity": _("Identity"),
"invalid_target": _("Permission with invalid target specification"),
"rights": _("Rights"),
"subtree": _("By Subtree"), "subtree": _("By Subtree"),
"target": _("Target"),
"targetgroup": _("Target Group"), "targetgroup": _("Target Group"),
"type": _("Object By Type"), "type": _("Object By Type"),
"invalid_target":_("Permission with invalid target specification"),
}, },
"privilege": { "privilege": {
"identity": _("Privilege Settings"), "identity": _("Privilege Settings"),
@ -270,17 +365,17 @@ class i18n_messages(Command):
}, },
"service": { "service": {
"certificate": _("Service Certificate"), "certificate": _("Service Certificate"),
"delete_key_unprovision": _("Delete Key, Unprovision"),
"details": _("Service Settings"), "details": _("Service Settings"),
"host": _("Host Name"), "host": _("Host Name"),
"missing": _("Kerberos Key Not Present"),
"provisioning": _("Provisioning"), "provisioning": _("Provisioning"),
"service": _("Service"), "service": _("Service"),
"status": _("Status"), "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"), "unprovision": _("Unprovision"),
"unprovision_confirmation": _("Are you sure you want to unprovision this service?"),
"unprovision_title": _("Unprovisioning ${entity}"),
"valid": _("Kerberos Key Present, Service Provisioned"),
}, },
"sudocmd": { "sudocmd": {
"groups": _("Groups"), "groups": _("Groups"),
@ -290,31 +385,31 @@ class i18n_messages(Command):
}, },
"sudorule": { "sudorule": {
"active": _("Active"), "active": _("Active"),
"inactive":_("Inactive"),
"allow": _("Allow"), "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"), "any_command": _("Any Command"),
"specified_commands":_("Specified Commands and Groups"), "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"), "options": _("Options"),
"runas": _("As Whom"), "runas": _("As Whom"),
"any_group":_("Any Group"), "specified_commands": _("Specified Commands and Groups"),
"specified_groups": _("Specified Groups"), "specified_groups": _("Specified Groups"),
"ipaenabledflag":_("Rule status"), "specified_hosts": _("Specified Hosts and Groups"),
"external":_("External"), "specified_users": _("Specified Users and Groups"),
"user": _("Who"),
}, },
"user": { "user": {
"account": _("Account Settings"), "account": _("Account Settings"),
"account_status": _("Account Status"), "account_status": _("Account Status"),
"activate": _("Activate"), "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."), "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"), "active": _("Active"),
"contact": _("Contact Settings"), "contact": _("Contact Settings"),
"deactivate": _("Deactivate"), "deactivate": _("Deactivate"),
@ -325,53 +420,6 @@ class i18n_messages(Command):
"misc": _("Misc. Information"), "misc": _("Misc. Information"),
}, },
}, },
"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"),
"cancel": _("Cancel"),
"close": _("Close"),
"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": { "password": {
"new_password": _("New Password"), "new_password": _("New Password"),
"password_change_complete": _("Password change complete"), "password_change_complete": _("Password change complete"),
@ -380,60 +428,25 @@ class i18n_messages(Command):
"verify_password": _("Verify Password"), "verify_password": _("Verify Password"),
}, },
"search": { "search": {
"delete_confirm": _("Are you sure you want to delete selected entries?"),
"partial_delete": _("Some entries were not deleted"), "partial_delete": _("Some entries were not deleted"),
"quick_links": _("Quick Links"), "quick_links": _("Quick Links"),
"select_all": _("Select All"), "select_all": _("Select All"),
"truncated": _("Query returned more results than the configured size limit. Displaying the first ${counter} results."),
"unselect_all": _("Unselect 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."),
},
"details": {
"collapse_all":_("Collapse All"),
"expand_all":_("Expand All"),
"general":_("General"),
"identity":_("Identity Settings"),
"settings":_("${entity} ${primary_key} Settings"),
"to_top":_("Back to Top")
}, },
"tabs": { "tabs": {
"dns":_("DNS"),
"identity":_("Identity"),
"policy":_("Policy"),
"audit": _("Audit"), "audit": _("Audit"),
"ipaserver":_("IPA Server"), "automount": _("Automount"),
"sudo":_("Sudo"), "dns": _("DNS"),
"hbac": _("Host Based Access Control"), "hbac": _("Host Based Access Control"),
"identity": _("Identity"),
"ipaserver": _("IPA Server"),
"policy": _("Policy"),
"role": _("Role Based Access Control"), "role": _("Role Based Access Control"),
"automount":_("Automount") "sudo": _("Sudo"),
},
"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"),
}, },
"true": _("True"),
"widget": { "widget": {
"next": _("Next"), "next": _("Next"),
"optional": _("Optional field: click to show"), "optional": _("Optional field: click to show"),
@ -447,9 +460,6 @@ class i18n_messages(Command):
"required": _("Required field"), "required": _("Required field"),
}, },
}, },
"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.")
},
} }
has_output = ( has_output = (
Output('messages', dict, doc=_('Dict of I18N messages')), Output('messages', dict, doc=_('Dict of I18N messages')),