summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-08-29 17:34:10 -0500
committerEndi S. Dewata <edewata@redhat.com>2011-08-31 16:30:19 +0000
commit99a7e90c0a8315da0bfcb3df28c198ea403e4e7a (patch)
tree063ab3d848ed9a11dfda25fd37992b152acbfbcc
parent5a495b91dea527f9ac051655e2fd26ca3f9deab5 (diff)
downloadfreeipa-99a7e90c0a8315da0bfcb3df28c198ea403e4e7a.tar.gz
freeipa-99a7e90c0a8315da0bfcb3df28c198ea403e4e7a.tar.xz
freeipa-99a7e90c0a8315da0bfcb3df28c198ea403e4e7a.zip
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
-rw-r--r--install/ui/entity.js5
-rw-r--r--install/ui/hbac.js4
-rw-r--r--install/ui/ipa.js87
-rw-r--r--install/ui/test/data/ipa_init.json38
-rw-r--r--ipalib/plugins/internal.py654
5 files changed, 415 insertions, 373 deletions
diff --git a/install/ui/entity.js b/install/ui/entity.js
index ce028a2eb..bba51f79f 100644
--- a/install/ui/entity.js
+++ b/install/ui/entity.js
@@ -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;
}
diff --git a/install/ui/hbac.js b/install/ui/hbac.js
index 3223e0f31..7f445b91f 100644
--- a/install/ui/hbac.js
+++ b/install/ui/hbac.js
@@ -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;
diff --git a/install/ui/ipa.js b/install/ui/ipa.js
index decf93f34..f71de82a5 100644
--- a/install/ui/ipa.js
+++ b/install/ui/ipa.js
@@ -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();
});
diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json
index 8c4a78077..3de974e43 100644
--- a/install/ui/test/data/ipa_init.json
+++ b/install/ui/test/data/ipa_init.json
@@ -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"
]
}
],
diff --git a/ipalib/plugins/internal.py b/ipalib/plugins/internal.py
index 2c5ab050f..f5f577308 100644
--- a/ipalib/plugins/internal.py
+++ b/ipalib/plugins/internal.py
@@ -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",
+ 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_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": {
"aci": {
- "attribute":_("Attribute"),
- },
+ "attribute": _("Attribute"),
+ },
+ "automountkey": {
+ },
"automountlocation": {
- "identity":_("Automount Location Settings")
- },
+ "identity": _("Automount Location Settings")
+ },
"automountmap": {
- "map_type":_("Map Type"),
- "direct":_("Direct"),
- "indirect":_("Indirect"),
- },
- "automountkey": {
- },
+ "map_type": _("Map Type"),
+ "direct": _("Direct"),
+ "indirect": _("Indirect"),
+ },
"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}"),
- },
+ "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}"),
+ },
"config": {
- "user":_("User Options"),
- "search":_("Search Options"),
- "group":_("Group Options"),
- },
+ "group": _("Group Options"),
+ "search": _("Search Options"),
+ "user": _("User 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"),
- },
+ "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"),
- },
+ "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?"),
- },
+ "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"),
- },
+ "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"),
- },
+ "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}"),
- },
+ "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"),
- },
+ "identity": _("Host Group Settings"),
+ },
"krbtpolicy": {
- "identity":_("Kerberos ticket policy"),
+ "identity": _("Kerberos ticket policy"),
},
"netgroup": {
- "identity":_("Netgroup Settings"),
+ "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"),
- },
+ "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"),
+ },
"privilege": {
- "identity":_("Privilege Settings"),
- },
+ "identity": _("Privilege Settings"),
+ },
"pwpolicy": {
- "identity":_("Password Policy"),
- },
+ "identity": _("Password Policy"),
+ },
"role": {
- "identity":_("Role Settings"),
- },
+ "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"),
- },
+ "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"),
},
- "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"),
+ "sudocmd": {
+ "groups": _("Groups"),
},
- "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."),
+ "sudocmdgroup": {
+ "commands": _("Commands"),
},
- "facet_groups": {
- "managedby":_("${primary_key} is managed by:"),
- "member":_("Entities enrolled in ${primary_key}:"),
- "memberof":_("${primary_key} is a member of these:"),
+ "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"),
},
- "facets": {
- "search":_("Search"),
- "details": _("Settings"),
+ "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"),
- },
+ "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."),
- },
- "details": {
- "collapse_all":_("Collapse All"),
- "expand_all":_("Expand All"),
- "general":_("General"),
- "identity":_("Identity Settings"),
- "settings":_("${entity} ${primary_key} Settings"),
- "to_top":_("Back to Top")
- },
+ "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": {
- "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")
- },
- "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"),
- },
+ "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"),
+ "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"),
- },
- },
- "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.")
+ "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')),
)