Permalink
Browse files

[core] English corrections of user text

  • Loading branch information...
1 parent 6f685aa commit e99bc2e7c5b986fc199675fdf5450876cef34ac2 @annmcctw annmcctw committed with romainr Jul 27, 2012
Showing with 122 additions and 121 deletions.
  1. +8 −8 apps/beeswax/src/beeswax/conf.py
  2. +2 −2 apps/beeswax/src/beeswax/data_export.py
  3. +9 −8 apps/beeswax/src/beeswax/forms.py
  4. +5 −5 apps/beeswax/src/beeswax/management/commands/beeswax_install_examples.py
  5. +1 −1 apps/beeswax/src/beeswax/models.py
  6. +5 −5 apps/beeswax/src/beeswax/templates/choose_delimiter.mako
  7. +4 −4 apps/beeswax/src/beeswax/templates/choose_file.mako
  8. +7 −7 apps/beeswax/src/beeswax/templates/create_table_manually.mako
  9. +3 −3 apps/beeswax/src/beeswax/templates/define_columns.mako
  10. +2 −2 apps/beeswax/src/beeswax/templates/execute.mako
  11. +1 −1 apps/beeswax/src/beeswax/templates/parameterization.mako
  12. +1 −1 apps/beeswax/src/beeswax/templates/show_tables.mako
  13. +3 −3 apps/beeswax/src/beeswax/views.py
  14. +1 −1 apps/filebrowser/src/filebrowser/templates/chown.mako
  15. +2 −2 apps/filebrowser/src/filebrowser/templates/listdir_components.mako
  16. +1 −1 apps/filebrowser/src/filebrowser/templates/upload.mako
  17. +5 −5 apps/filebrowser/src/filebrowser/views.py
  18. +1 −1 apps/filebrowser/src/filebrowser/views_test.py
  19. +3 −3 apps/jobbrowser/src/jobbrowser/templates/attempt.mako
  20. +1 −1 apps/jobbrowser/src/jobbrowser/templates/jobs.mako
  21. +2 −2 apps/jobsub/src/jobsub/forms.py
  22. +6 −6 apps/jobsub/src/jobsub/models.py
  23. +1 −1 apps/jobsub/src/jobsub/submit.py
  24. +1 −1 apps/jobsub/src/jobsub/templates/edit_design.mako
  25. +2 −2 apps/jobsub/src/jobsub/views.py
  26. +2 −2 apps/shell/src/shell/templates/no_such_user.mako
  27. +1 −1 apps/shell/src/shell/templates/not_running_spawning.mako
  28. +2 −2 apps/shell/src/shell/tests.py
  29. +3 −3 apps/useradmin/src/useradmin/management/commands/import_ldap_group.py
  30. +2 −2 apps/useradmin/src/useradmin/management/commands/import_ldap_user.py
  31. +1 −1 apps/useradmin/src/useradmin/management/commands/useradmin_sync_with_unix.py
  32. +1 −1 apps/useradmin/src/useradmin/models.py
  33. +1 −1 apps/useradmin/src/useradmin/templates/edit_group.mako
  34. +1 −1 apps/useradmin/src/useradmin/templates/edit_user.mako
  35. +1 −1 apps/useradmin/src/useradmin/templates/list_users.mako
  36. +6 −6 apps/useradmin/src/useradmin/views.py
  37. +1 −1 desktop/core/src/desktop/appmanager.py
  38. +22 −22 desktop/core/src/desktop/conf.py
  39. +1 −1 desktop/core/src/desktop/templates/check_config.mako
View
16 apps/beeswax/src/beeswax/conf.py
@@ -21,19 +21,19 @@
BEESWAX_SERVER_HOST = Config(
key="beeswax_server_host",
- help=_("Host where beeswax server thrift daemon is running"),
+ help=_("Host where Beeswax server Thrift daemon is running."),
private=True,
default="localhost")
BEESWAX_SERVER_PORT = Config(
key="beeswax_server_port",
- help=_("Configure the port the beeswax thrift server runs on"),
+ help=_("Configure the port the Beeswax Thrift server runs on."),
default=8002,
type=int)
BEESWAX_META_SERVER_HOST = Config(
key="beeswax_meta_server_host",
- help=_("Host where beeswax internal metastore thrift daemon is running"),
+ help=_("Host where Beeswax internal metastore Thrift daemon is running."),
private=True,
default="localhost")
@@ -65,31 +65,31 @@
BEESWAX_HIVE_CONF_DIR = Config(
key='hive_conf_dir',
- help=_('Hive configuration directory, where hive-site.xml is located'),
+ help=_('Hive configuration directory, where hive-site.xml is located.'),
default=os.environ.get("HIVE_CONF_DIR", '/etc/hive/conf'))
LOCAL_EXAMPLES_DATA_DIR = Config(
key='local_examples_data_dir',
default=os.path.join(os.path.dirname(__file__), "..", "..", "data"),
- help=_('The local filesystem path containing the beeswax examples'))
+ help=_('The local filesystem path containing the Beeswax examples.'))
BEESWAX_SERVER_CONN_TIMEOUT = Config(
key='beeswax_server_conn_timeout',
default=120,
type=int,
- help=_('Timeout in seconds for thrift calls to beeswax service'))
+ help=_('Timeout in seconds for Thrift calls to Beeswax service.'))
METASTORE_CONN_TIMEOUT= Config(
key='metastore_conn_timeout',
default=10,
type=int,
- help=_('Timeouts in seconds for thrift calls to the hive metastore. This timeout should take into account that the metastore could talk to an external DB'))
+ help=_('Timeouts in seconds for Thrift calls to the Hive metastore. This timeout should take into account that the metastore could talk to an external database.'))
BEESWAX_RUNNING_QUERY_LIFETIME = Config(
key='beeswax_running_query_lifetime',
default=604800000L, # 7*24*60*60*1000 (1 week)
type=long,
- help=_('Time in seconds for beeswax to persist queries in its cache.'))
+ help=_('Time in seconds for Beeswax to persist queries in its cache.'))
BROWSE_PARTITIONED_TABLE_LIMIT = Config(
key='browse_partitioned_table_limit',
View
4 apps/beeswax/src/beeswax/data_export.py
@@ -85,10 +85,10 @@ def data_generator(query_model, formatter):
# Someone is reading the results concurrently. Abort.
# But unfortunately, this current generator will produce incomplete data.
if next_row != results.start_row:
- msg = _('Error: Potentially incomplete results as an error occur during data retrieval.')
+ msg = _('Error: Potentially incomplete results as an error occurred during data retrieval.')
yield formatter.format_row([msg])
err = (_('Detected another client retrieving results for %(server_id)s. '
- 'Expect next row being %(row)s and got %(start_row)s. Aborting') %
+ 'Expected next row to be %(row)s and got %(start_row)s. Aborting') %
{'server_id': query_model.server_id, 'row': next_row, 'start_row': results.start_row})
LOG.error(err)
raise RuntimeError(err)
View
17 apps/beeswax/src/beeswax/forms.py
@@ -43,7 +43,7 @@ class SaveForm(forms.Form):
name = forms.CharField(required=False,
max_length=64,
initial=models.SavedQuery.DEFAULT_NEW_DESIGN_NAME,
- help_text=_t('Change the name to save as a new design'))
+ help_text=_t('Change the name to save as a new design.'))
desc = forms.CharField(required=False, max_length=1024, label=_t("Description"))
save = forms.BooleanField(widget=SubmitButton, required=False)
saveas = forms.BooleanField(widget=SubmitButton, required=False)
@@ -130,8 +130,9 @@ class FileResourceForm(forms.Form):
("ARCHIVE", "archive"),
("FILE", "file"),
], help_text=_t("Resources to upload with your Hive job." +
- " Use 'jar' for UDFs. Use file and archive for "
- "side files and MAP/TRANSFORM using. Paths are on HDFS.")
+ " Use 'jar' for UDFs. Use 'file' and 'archive' for "
+ "files to be copied and made locally available duirng MAP/TRANSFORM. " +
+ "Paths are on HDFS.")
)
# TODO(philip): Could upload files here, too. Or merely link
# to upload utility?
@@ -235,7 +236,7 @@ def _clean_tablename(name):
def _clean_terminator(val):
if val is not None and len(val.decode('string_escape')) != 1:
- raise forms.ValidationError(_t('Terminator must be exactly one character'))
+ raise forms.ValidationError(_t('Terminator must be exactly one character.'))
return val
@@ -249,7 +250,7 @@ class CreateByImportFileForm(forms.Form):
path = filebrowser.forms.PathField(label=_t("Input File"))
do_import = forms.BooleanField(required=False, initial=True,
label=_t("Import data from file"),
- help_text=_t("Automatically load this file into the table after creation"))
+ help_text=_t("Automatically load this file into the table after creation."))
def clean_name(self):
return _clean_tablename(self.cleaned_data['name'])
@@ -265,7 +266,7 @@ def clean(self):
# ChoiceOrOtherField doesn't work with required=True
delimiter = self.cleaned_data.get('delimiter')
if not delimiter:
- raise forms.ValidationError(_t('Delimiter value is required'))
+ raise forms.ValidationError(_t('Delimiter value is required.'))
_clean_terminator(delimiter)
return self.cleaned_data
@@ -275,10 +276,10 @@ def old(self):
chr(int(delimiter))
return int(delimiter)
except ValueError:
- raise forms.ValidationError(_t('Delimiter value must be smaller than 256'))
+ raise forms.ValidationError(_t('Delimiter value must be smaller than 256.'))
val = delimiter.decode('string_escape')
if len(val) != 1:
- raise forms.ValidationError(_t('Delimiter must be exactly one character'))
+ raise forms.ValidationError(_t('Delimiter must be exactly one character.'))
return ord(val)
View
10 apps/beeswax/src/beeswax/management/commands/beeswax_install_examples.py
@@ -77,7 +77,7 @@ class Command(NoArgsCommand):
def handle_noargs(self, **options):
"""Main entry point to install examples. May raise InstallException"""
if self._check_installed():
- msg = _('Beeswax examples already installed')
+ msg = _('Beeswax examples already installed.')
LOG.error(msg)
raise InstallException(msg)
@@ -186,15 +186,15 @@ def create(self, django_user):
try:
# Already exists?
tables = db_utils.meta_client().get_table("default", self.name)
- msg = _('Table "%(table)s" already exists') % {'table': self.name}
+ msg = _('Table "%(table)s" already exists.') % {'table': self.name}
LOG.error(msg)
raise InstallException(msg)
except hive_metastore.ttypes.NoSuchObjectException:
query_msg = _make_query_msg(self.hql)
try:
results = db_utils.execute_and_wait(django_user, query_msg)
if not results:
- msg = _('Error creating table %(table)s: Operation timeout') % {'table': self.name}
+ msg = _('Error creating table %(table)s: Operation timeout.') % {'table': self.name}
LOG.error(msg)
raise InstallException(msg)
except BeeswaxException, ex:
@@ -218,7 +218,7 @@ def load(self, django_user):
try:
results = db_utils.execute_and_wait(django_user, query_msg)
if not results:
- msg = _('Error loading table %(table)s: Operation timeout') % {'table': self.name}
+ msg = _('Error loading table %(table)s: Operation timeout.') % {'table': self.name}
LOG.error(msg)
raise InstallException(msg)
except BeeswaxException, ex:
@@ -243,7 +243,7 @@ def install(self, django_user):
try:
# Don't overwrite
model = models.SavedQuery.objects.get(owner=django_user, name=self.name)
- msg = _('Sample design %(name)s already exists') % {'name': self.name}
+ msg = _('Sample design %(name)s already exists.') % {'name': self.name}
LOG.error(msg)
raise InstallException(msg)
except models.SavedQuery.DoesNotExist:
View
2 apps/beeswax/src/beeswax/models.py
@@ -169,7 +169,7 @@ def get(id, owner=None, type=None):
raise PopupException(msg)
if type is not None and design.type != type:
- msg = _('Type mismatch for design id %(id)s (owner %(owner)s) - Expects %(expected_type)s got %(real_type)s') % \
+ msg = _('Type mismatch for design id %(id)s (owner %(owner)s) - Expected %(expected_type)s got %(real_type)s') % \
{'id': id, 'owner': owner, 'expected_type': design.type, 'real_type': type}
LOG.error(msg)
raise PopupException(msg)
View
10 apps/beeswax/src/beeswax/templates/choose_delimiter.mako
@@ -24,13 +24,13 @@ ${commonheader(_('Beeswax: Create table from file'), "beeswax", "100px")}
${layout.menubar(section='tables')}
<div class="container-fluid">
- <h1>${_('Create a new table from file')}</h1>
+ <h1>${_('Create a new table from a file')}</h1>
<div class="row-fluid">
<div class="span3">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">${_('Actions')}</li>
- <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from file')}</a></li>
+ <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from a file')}</a></li>
<li><a href="${ url('beeswax.create_table.create_table')}">${_('Create a new table manually')}</a></li>
</ul>
</div>
@@ -47,7 +47,7 @@ ${layout.menubar(section='tables')}
${comps.field(delim_form['file_type'])}
</div>
<fieldset>
- <div class="alert alert-info"><h3>${_('Choose A Delimiter')}</h3>
+ <div class="alert alert-info"><h3>${_('Choose a Delimiter')}</h3>
% if initial:
${_('Beeswax has determined that this file is delimited by')} <strong>${delim_readable}</strong>.
% endif
@@ -109,7 +109,7 @@ ${layout.menubar(section='tables')}
$(document).ready(function(){
$(".scrollable").width($(".form-actions").width());
- $("#id_delimiter_1").css("margin-left","4px").attr("placeholder","${_('Please write here your delimiter')}").hide();
+ $("#id_delimiter_1").css("margin-left","4px").attr("placeholder","${_('Please type your delimiter here')}").hide();
$("#id_delimiter_0").change(function(){
if ($(this).val() == "__other__"){
$("#id_delimiter_1").show();
@@ -136,4 +136,4 @@ ${layout.menubar(section='tables')}
});
</script>
-${commonfooter()}
+${commonfooter()}
View
8 apps/beeswax/src/beeswax/templates/choose_file.mako
@@ -24,13 +24,13 @@ ${layout.menubar(section='tables')}
<div class="container-fluid">
- <h1>${_('Create a new table from file')}</h1>
+ <h1>${_('Create a new table from a file')}</h1>
<div class="row-fluid">
<div class="span3">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">${_('Actions')}</li>
- <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from file')}</a></li>
+ <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from a file')}</a></li>
<li><a href="${ url('beeswax.create_table.create_table')}">${_('Create a new table manually')}</a></li>
</ul>
</div>
@@ -67,7 +67,7 @@ ${layout.menubar(section='tables')}
)}
<span class="help-inline">${unicode(file_form["comment"].errors) | n}</span>
<span class="help-block">
- ${_("Use a table comment to describe your table. For example, you might mention the data's provenance, and any caveats users of this table should expect.")}
+ ${_("Use a table comment to describe your table. For example, you might note the data's provenance and any caveats users need to know.")}
</span>
</div>
</div>
@@ -91,7 +91,7 @@ ${layout.menubar(section='tables')}
<div class="controls">
${comps.field(file_form["do_import"], render_default=True)}
<span class="help-block">
- ${_('Check this box if you want to import the data in this file after creating the table definition. Leave it unchecked if you just want to define an empty table.')}
+ ${_('Check this box if you want to import the data in this file after creating the table definition. Leave it unchecked if you want to define an empty table.')}
<div id="fileWillBeMoved" class="alert">
<strong>${_('Warning!')}</strong> ${_('The selected file is going to be moved during the import.')}
</div>
View
14 apps/beeswax/src/beeswax/templates/create_table_manually.mako
@@ -29,7 +29,7 @@ ${layout.menubar(section='tables')}
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">${_('Actions')}</li>
- <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from file')}</a></li>
+ <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from a file')}</a></li>
<li><a href="${ url('beeswax.create_table.create_table')}">${_('Create a new table manually')}</a></li>
</ul>
</div>
@@ -69,7 +69,7 @@ ${layout.menubar(section='tables')}
)
)}
<p class="help-block">
- ${_("Use a table comment to describe your table. For example, you might mention the data's provenance, and any caveats users of this table should expect.")}
+ ${_("Use a table comment to describe your table. For example, you might note the data's provenance and any caveats users need to know.")}
</p>
</div>
</div>
@@ -280,10 +280,10 @@ ${layout.menubar(section='tables')}
<br/><br/>
<fieldset>
<div class="alert alert-info"><h3>${_('Configure Partitions')}</h3>
- ${_('If your data is naturally partitioned (by, say, date), partitions are a way to tell Hive that data for a specific partition value are stored together.')}
+ ${_('If your data is naturally partitioned (by date, for example), partitions are a way to tell Hive that data for a specific partition value are stored together.')}
${_('Hive establishes a mapping between directories on disk')}
(<em>${_('e.g.')},</em> <code>/user/hive/warehouse/logs/dt=20100101/</code>)
- ${_('and the data for that day. Partitions are virtual columns; they are not represented in the data themselves, but are determined by the data location. Hive implements query optimizations such that queries that are specific to a single partition need not read the data in other partitions.')}
+ ${_('and the data for that day. Partitions are virtual columns; they are not represented in the data itself, but are determined by the data location. Hive implements query optimizations such that queries that are specific to a single partition need not read the data in other partitions.')}
</div>
% for form in partitions_form.forms:
${render_column(form, True)}
@@ -500,7 +500,7 @@ ${layout.menubar(section='tables')}
$(".step[href='"+_url.substring(_url.indexOf("#"),_url.length)+"']").click();
}
- $("#id_table-field_terminator_1").css("margin-left","4px").attr("placeholder","${_('Write here your field terminator')}").hide();
+ $("#id_table-field_terminator_1").css("margin-left","4px").attr("placeholder","${_('Type your field terminator here')}").hide();
$("#id_table-field_terminator_0").change(function(){
if ($(this).val() == "__other__"){
$("#id_table-field_terminator_1").show();
@@ -509,7 +509,7 @@ ${layout.menubar(section='tables')}
$("#id_table-field_terminator_1").hide().nextAll(".error-inline").addClass("hide");
}
});
- $("#id_table-collection_terminator_1").css("margin-left","4px").attr("placeholder","${_('Write here your collection terminator')}").hide();
+ $("#id_table-collection_terminator_1").css("margin-left","4px").attr("placeholder","${_('Type your collection terminator here')}").hide();
$("#id_table-collection_terminator_0").change(function(){
if ($(this).val() == "__other__"){
$("#id_table-collection_terminator_1").show();
@@ -518,7 +518,7 @@ ${layout.menubar(section='tables')}
$("#id_table-collection_terminator_1").hide().nextAll(".error-inline").addClass("hide");
}
});
- $("#id_table-map_key_terminator_1").css("margin-left","4px").attr("placeholder","${_('Write here your map key terminator')}").hide();
+ $("#id_table-map_key_terminator_1").css("margin-left","4px").attr("placeholder","${_('Type your map key terminator here')}").hide();
$("#id_table-map_key_terminator_0").change(function(){
if ($(this).val() == "__other__"){
$("#id_table-map_key_terminator_1").show();
View
6 apps/beeswax/src/beeswax/templates/define_columns.mako
@@ -24,13 +24,13 @@ ${commonheader(_('Beeswax: Create table from file'), "beeswax", "100px")}
${layout.menubar(section='tables')}
<div class="container-fluid">
- <h1>${_('Create a new table from file')}</h1>
+ <h1>${_('Create a new table from a file')}</h1>
<div class="row-fluid">
<div class="span3">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">${_('Actions')}</li>
- <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from file')}</a></li>
+ <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from a file')}</a></li>
<li><a href="${ url('beeswax.create_table.create_table')}">${_('Create a new table manually')}</a></li>
</ul>
</div>
@@ -123,4 +123,4 @@ ${layout.menubar(section='tables')}
});
});
</script>
-${commonfooter()}
+${commonfooter()}
View
4 apps/beeswax/src/beeswax/templates/execute.mako
@@ -174,7 +174,7 @@ ${layout.menubar(section='query')}
<a class="btn btn-small" data-form-prefix="functions">${_('Add')}</a>
</div>
</li>
- <li class="nav-header">${_('Parametrization')}</li>
+ <li class="nav-header">${_('Parameterization')}</li>
<li>
<label class="checkbox" rel="tooltip" data-original-title="${_("If checked (the default), you can include parameters like $parameter_name in your query, and users will be prompted for a value when the query is run.")}">
<input type="checkbox" id="id_${form.query["is_parameterized"].html_name | n}" name="${form.query["is_parameterized"].html_name | n}" ${extract_field_data(form.query["is_parameterized"]) and "CHECKED" or ""}/>
@@ -185,7 +185,7 @@ ${layout.menubar(section='query')}
<li>
<label class="checkbox" rel="tooltip" data-original-title="${_("If checked, you will receive an email notification when the query completes.")}">
<input type="checkbox" id="id_${form.query["email_notify"].html_name | n}" name="${form.query["email_notify"].html_name | n}" ${extract_field_data(form.query["email_notify"]) and "CHECKED" or ""}/>
- ${_("Email me on complete")}
+ ${_("Email upon completion")}
</label>
</li>
</ul>
View
2 apps/beeswax/src/beeswax/templates/parameterization.mako
@@ -20,7 +20,7 @@ from django.utils.translation import ugettext as _
<%namespace name="comps" file="beeswax_components.mako" />
<%namespace name="layout" file="layout.mako" />
-${commonheader(_('Parametrize Hive Query'), "beeswax", "100px")}
+${commonheader(_('Parameterize Hive Query'), "beeswax", "100px")}
${layout.menubar()}
View
2 apps/beeswax/src/beeswax/templates/show_tables.mako
@@ -31,7 +31,7 @@ ${layout.menubar(section='tables')}
% if not examples_installed:
<li><a href="#installSamples" data-toggle="modal">${_('Install samples')}</a></li>
% endif
- <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from file')}</a></li>
+ <li><a href="${ url('beeswax.create_table.import_wizard')}">${_('Create a new table from a file')}</a></li>
<li><a href="${ url('beeswax.create_table.create_table')}">${_('Create a new table manually')}</a></li>
</ul>
</div>
View
6 apps/beeswax/src/beeswax/views.py
@@ -827,12 +827,12 @@ def _get_server_id_and_state(query_history):
ok, server_id = query_history.get_server_id()
if not server_id:
if ok:
- raise PopupException(_t("Query is still being submitted to the Beeswax Server"))
- raise PopupException(_t("Failed to retrieve query state from the Beeswax Server"))
+ raise PopupException(_t("Query is still being submitted to the Beeswax Server."))
+ raise PopupException(_t("Failed to retrieve query state from the Beeswax Server."))
state = db_utils.get_query_state(query_history)
if state is None:
- raise PopupException(_t("Failed to contact Beeswax Server to check query status"))
+ raise PopupException(_t("Failed to contact Beeswax Server to check query status."))
return (server_id, state)
View
2 apps/filebrowser/src/filebrowser/templates/chown.mako
@@ -64,7 +64,7 @@ from django.utils.translation import ugettext as _
<h3>${_('Change Owner / Group:')} ${path}</h3>
</div>
<div class="modal-body change-owner-modal-body clearfix" >
- <div class="alert alert-message block-message info">${_('Note: Only the Hadoop superuser, on this FS "%(superuser)s", may change the owner of a file.') % dict(superuser=extra_params['superuser'])}"</div>
+ <div class="alert alert-message block-message info">${_('Note: Only the Hadoop superuser, "%(superuser)s" on this file system, may change the owner of a file.') % dict(superuser=extra_params['superuser'])}"</div>
<div style="padding-left: 15px; padding-bottom: 10px;">
${edit.render_field(form["path"], hidden=True)}
View
4 apps/filebrowser/src/filebrowser/templates/listdir_components.mako
@@ -56,7 +56,7 @@ from django.utils.translation import ugettext as _
<ul class="pull-right">
<li class="prev"><a title="${_('Beginning of List')}" ${toppage(page)}>&larr; ${_('Beginning of List')}</a></li>
<li><a title="${_('Previous Page')}" ${prevpage(page)}>${_('Previous Page')}</a></li>
- <li><a title="${_('Next page')}" ${nextpage(page)}>${_('Next Page')}</a></li>
+ <li><a title="${_('Next Page')}" ${nextpage(page)}>${_('Next Page')}</a></li>
<li class="next"><a title="${_('End of List')}" ${bottompage(page)}>${_('End of List')} &rarr;</a></li>
</ul>
<p>${_('Show')} <select id="pagesize" class="input-mini"><option>15</option><option selected>30</option><option>45</option><option>60</option><option>100</option><option>200</option></select> ${_('items per page')}. ${_('Showing %(start_index)s to %(end_index)s of %(total_count)s items, page %(page)s of %(num_pages)s.') % dict(start_index=page.start_index(), end_index=page.end_index(), total_count=page.total_count(), page=page.number, num_pages=page.num_pages())}</p>
@@ -231,7 +231,7 @@ from django.utils.translation import ugettext as _
<form action="/filebrowser/upload?next=${current_dir_path}" method="POST" enctype="multipart/form-data" class="form-stacked">
<div id="fileUploader">
<noscript>
- <p>${_('Please enable JavaScript to use file uploader.')}</p>
+ <p>${_('Please enable JavaScript to use the file uploader.')}</p>
</noscript>
</div>
</form>
View
2 apps/filebrowser/src/filebrowser/templates/upload.mako
@@ -28,7 +28,7 @@ from django.utils.translation import ugettext as _
<h1>${_('Upload Files')}</h1>
<div id="file-uploader">
<noscript>
- <p>${_('Please enable JavaScript to use file uploader.')}</p>
+ <p>${_('Please enable JavaScript to use the file uploader.')}</p>
<!-- or put a simple form for upload here -->
</noscript>
</div>
View
10 apps/filebrowser/src/filebrowser/views.py
@@ -640,7 +640,7 @@ def _read_avro(fs, path, offset, length):
contents = "".join(contents_list)
except:
logging.warn("Could not read avro file at %s" % path, exc_info=True)
- raise PopupException(_("Failed to read Avro file"))
+ raise PopupException(_("Failed to read Avro file."))
finally:
fhandle.close()
return contents
@@ -649,14 +649,14 @@ def _read_avro(fs, path, offset, length):
def _read_gzip(fs, path, offset, length):
contents = ''
if offset and offset != 0:
- raise PopupException(_("We don't support offset and gzip Compression"))
+ raise PopupException(_("Offsets are not supported with Gzip compression."))
try:
fhandle = fs.open(path)
try:
contents = GzipFile('', 'r', 0, StringIO(fhandle.read())).read(length)
except:
logging.warn("Could not decompress file at %s" % path, exc_info=True)
- raise PopupException(_("Failed to decompress file"))
+ raise PopupException(_("Failed to decompress file."))
finally:
fhandle.close()
return contents
@@ -671,7 +671,7 @@ def _read_simple(fs, path, offset, length):
contents = fhandle.read(length)
except:
logging.warn("Could not read file at %s" % path, exc_info=True)
- raise PopupException(_("Failed to read file"))
+ raise PopupException(_("Failed to read file."))
finally:
fhandle.close()
return contents
@@ -894,7 +894,7 @@ def _upload(request):
request.fs.chmod(tmp_file, 0644)
request.fs.chown(tmp_file, username, username)
except IOError, ex:
- msg = _('Failed to chown uploaded file ("%(file)s") as superuser %(superuser)s') %\
+ msg = _('Failed to chown uploaded file ("%(file)s") as superuser %(superuser)s.') %\
{'file': tmp_file, 'superuser': request.fs.superuser}
logger.exception(msg)
raise PopupException(msg, detail=str(ex))
View
2 apps/filebrowser/src/filebrowser/views_test.py
@@ -301,7 +301,7 @@ def test_view_gz():
# offset should do nothing
response = c.get('/filebrowser/view/test-gz-filebrowser/test-view.gz?compression=gzip&offset=1')
- assert_true("We don't support" in response.context['message'])
+ assert_true("Offsets are not supported" in response.context['message'], response.context['message'])
f = cluster.fs.open('/test-gz-filebrowser/test-view2.gz', "w")
f.write("hello")
View
6 apps/jobbrowser/src/jobbrowser/templates/attempt.mako
@@ -68,11 +68,11 @@ ${commonheader(_('Task Attempt: %(attemptId)s - Job Browser') % dict(attemptId=a
</thead>
<tbody>
<tr>
- <td>${_('Attempt id')}</td>
+ <td>${_('Attempt ID')}</td>
<td>${attempt.attemptId}</td>
</tr>
<tr>
- <td>${_('Task id')}</td>
+ <td>${_('Task ID')}</td>
<td><a href="${url('jobbrowser.views.single_task', jobid=joblnk.jobId, taskid=taskid)}" title="${_('View this task')}">${task.taskId}</a></td>
</tr>
<tr>
@@ -189,4 +189,4 @@ ${commonheader(_('Task Attempt: %(attemptId)s - Job Browser') % dict(attemptId=a
});
});
</script>
-${commonfooter()}
+${commonfooter()}
View
2 apps/jobbrowser/src/jobbrowser/templates/jobs.mako
@@ -55,7 +55,7 @@ ${commonheader(_('Job Browser'), "jobbrowser")}
<table class="datatables table table-striped table-condensed">
<thead>
<tr>
- <th>${_('Id')}</th>
+ <th>${_('ID')}</th>
<th>${_('Name')}</th>
<th>${_('Status')}</th>
<th>${_('User')}</th>
View
4 apps/jobsub/src/jobsub/forms.py
@@ -40,8 +40,8 @@ class Meta:
max_length=39,
regex=_OOZIE_WORKFLOW_NAME_REGEX,
help_text="Name of the design.",
- error_messages={'invalid': _("Allows alphabets, digits, '_', and '-'. "
- "The first character must be an alphabet or '_'.")})
+ error_messages={'invalid': _("Allows letters, digits, '_', and '-'. "
+ "The first character must be a letter or '_'.")})
class JavaActionForm(forms.ModelForm):
View
12 apps/jobsub/src/jobsub/models.py
@@ -125,7 +125,7 @@ class OozieDesign(models.Model):
# Generic stuff
owner = models.ForeignKey(User)
name = models.CharField(max_length=64, blank=False,
- help_text=_('Name of the design, which must be unique per user'))
+ help_text=_('Name of the design, which must be unique per user.'))
description = models.CharField(max_length=1024, blank=True)
last_modified = models.DateTimeField(auto_now=True)
@@ -181,14 +181,14 @@ class OozieMapreduceAction(OozieAction):
# For the distributed cache. JSON arrays.
files = models.CharField(max_length=PATH_MAX, default="[]",
- help_text=_('List of paths to files to be added to the distributed cache'))
+ help_text=_('List of paths to files to be added to the distributed cache.'))
archives = models.CharField(max_length=PATH_MAX, default="[]",
- help_text=_('List of paths to archives to be added to the distributed cache'))
+ help_text=_('List of paths to archives to be added to the distributed cache.'))
# For the job configuration. JSON dict. Required (e.g. mapred.mapper.class).
job_properties = models.CharField(max_length=32768, default="[]")
# Location of the jar in hdfs
jar_path = models.CharField(max_length=PATH_MAX,
- help_text=_('Path to jar files on HDFS'))
+ help_text=_('Path to jar files on HDFS.'))
class OozieStreamingAction(OozieAction):
@@ -222,9 +222,9 @@ class OozieJavaAction(OozieAction):
# For the distributed cache. JSON arrays.
files = models.CharField(max_length=PATH_MAX, default="[]",
- help_text=_('List of paths to files to be added to the distributed cache'))
+ help_text=_('List of paths to files to be added to the distributed cache.'))
archives = models.CharField(max_length=PATH_MAX, default="[]",
- help_text=_('List of paths to archives to be added to the distributed cache'))
+ help_text=_('List of paths to archives to be added to the distributed cache.'))
# Location of the jar in hdfs
jar_path = models.CharField(max_length=PATH_MAX, blank=False)
main_class = models.CharField(max_length=256, blank=False)
View
2 apps/jobsub/src/jobsub/submit.py
@@ -78,7 +78,7 @@ def run(self):
wf_dir = self._get_and_create_deployment_dir()
except Exception, ex:
LOG.exception("Failed to access deployment directory")
- raise PopupException(message=_("Failed to access deployment directory"),
+ raise PopupException(message=_("Failed to access deployment directory."),
detail=str(ex))
wf_xml = self._generate_workflow_xml(fs_defaultfs)
View
2 apps/jobsub/src/jobsub/templates/edit_design.mako
@@ -63,7 +63,7 @@ ${layout.menubar(section='designs')}
<hr/>
<div class="control-group">
<p class="alert alert-info">
- ${_('You can parametrize the values, using')} <code>$myVar</code> ${_('or')}
+ ${_('You can parameterize the values, using')} <code>$myVar</code> ${_('or')}
<code>${"${"}myVar}</code> .
${_('When the design is submitted, you will be prompted for the actual value of ')}<code>myVar</code> .
</p>
View
4 apps/jobsub/src/jobsub/views.py
@@ -61,7 +61,7 @@ def oozie_job(request, jobid):
log = workflow.log
definition = workflow.definition
except RestException, ex:
- raise PopupException(_("Error accessing Oozie job %(id)s") % {'id': jobid},
+ raise PopupException(_("Error accessing Oozie job %(id)s.") % {'id': jobid},
detail=ex.message)
# Cross reference the submission history (if any)
@@ -190,7 +190,7 @@ def delete_design(request, design_id):
submit.Submission(design_obj, request.fs).remove_deployment_dir()
except models.OozieDesign.DoesNotExist:
LOG.error("Trying to delete non-existent design (id %s)" % (design_id,))
- raise PopupException(_("Workflow not found"))
+ raise PopupException(_("Workflow not found."))
return redirect(urlresolvers.reverse(list_designs))
View
4 apps/shell/src/shell/templates/no_such_user.mako
@@ -21,9 +21,9 @@ from django.utils.translation import ugettext as _
${commonheader(_('Hue Shell'), "shell")}
<div class="container-fluid">
<div>
- ${_('The Shell app requires a Unix user account for every user of Hue on the remote webserver.')}
+ ${_('The Shell application requires a Unix user account for every user of Hue on the remote webserver.')}
<br/>
- ${_('Please ask your admin to create a user account for you on the remote webserver as described in the Shell documentation.')}
+ ${_('Please ask your administrator to create a user account for you on the remote webserver as described in the Shell documentation.')}
</div>
</div>
View
2 apps/shell/src/shell/templates/not_running_spawning.mako
@@ -21,7 +21,7 @@ from django.utils.translation import ugettext as _
${commonheader(_('Hue Shell'), "shell")}
<div class="container-fluid">
<div>
- <h3>${_('The webserver currently running Hue does not support the Shell app. Please contact your administrator.')}</h3>
+ <h3>${_('The webserver currently running Hue does not support the Shell application. Please contact your administrator.')}</h3>
</div>
</div>
${commonfooter()}
View
4 apps/shell/src/shell/tests.py
@@ -84,7 +84,7 @@ def test_spawning_check():
"/shell/kill_shell", "/shell/retrieve_output", "/shell/add_to_output"]
for url in get_urls:
response = client.get(url, follow=True)
- assert "The webserver currently running Hue does not support the Shell app." in response.content
+ assert "The webserver currently running Hue does not support the Shell" in response.content
for url in post_urls:
response = client.post(url, follow=True)
@@ -97,7 +97,7 @@ def test_unix_user_account_check():
d = { 'eventlet.input' : None }
response = client.get('/shell/', follow=True, **d)
- assert "The Shell app requires a Unix user account for every user of Hue" in response.content
+ assert "The Shell application requires a Unix user account for every user of Hue" in response.content
def test_rest():
reset_all_users()
View
6 apps/useradmin/src/useradmin/management/commands/import_ldap_group.py
@@ -33,10 +33,10 @@ class Command(BaseCommand):
option_list = BaseCommand.option_list + (
make_option("--dn", help=_("Whether or not the user should be imported by "
- "distinguished name"),
+ "distinguished name."),
action="store_true",
default=False),
- make_option("--import-members", help=_("Import users from the group"),
+ make_option("--import-members", help=_("Import users from the group."),
action="store_true",
default=False),
)
@@ -45,7 +45,7 @@ class Command(BaseCommand):
def handle(self, group=None, **options):
if group is None:
- raise CommandError(_("A group name must be provided"))
+ raise CommandError(_("A group name must be provided."))
import_members = options['import_members']
import_by_dn = options['dn']
View
4 apps/useradmin/src/useradmin/management/commands/import_ldap_user.py
@@ -31,7 +31,7 @@ class Command(BaseCommand):
option_list = BaseCommand.option_list + (
make_option("--dn", help=_("Whether or not the user should be imported by "
- "distinguished name"),
+ "distinguished name."),
action="store_true",
default=False),
)
@@ -40,7 +40,7 @@ class Command(BaseCommand):
def handle(self, user=None, **options):
if user is None:
- raise CommandError(_("A username must be provided"))
+ raise CommandError(_("A username must be provided."))
import_by_dn = options['dn']
import_ldap_user(user, import_by_dn)
View
2 apps/useradmin/src/useradmin/management/commands/useradmin_sync_with_unix.py
@@ -32,7 +32,7 @@ class Command(BaseCommand):
make_option("--max-uid", help=_("Maximum UID to import (Exclusive)."), default=65334),
make_option("--min-gid", help=_("Minimum GID to import (Inclusive)."), default=500),
make_option("--max-gid", help=_("Maximum GID to import (Exclusive)."), default=65334),
- make_option("--check-shell", help=_("Whether or not to check that the user's shell is not /bin/false"), default=True)
+ make_option("--check-shell", help=_("Whether or not to check that the user's shell is not /bin/false."), default=True)
)
def handle(self, *args, **options):
View
2 apps/useradmin/src/useradmin/models.py
@@ -227,7 +227,7 @@ def update_app_permissions(**kwargs):
for app_obj in appmanager.DESKTOP_APPS:
app = app_obj.name
- actions = set([("access", "launch this application")])
+ actions = set([("access", "Launch this application")])
actions.update(getattr(app_obj.settings, "PERMISSION_ACTIONS", []))
if app not in current:
View
2 apps/useradmin/src/useradmin/templates/edit_group.mako
@@ -47,7 +47,7 @@ ${layout.menubar(section='groups', _=_)}
<h1>${_('Hue Groups - Edit group: %(name)s') % dict(name=name)}</h1>
% else:
% if ldap:
- <h1>${_('Hue Groups - Add/sync LDAP group')}</h1>
+ <h1>${_('Hue Groups - Add/Sync LDAP group')}</h1>
% else:
<h1>${_('Hue Groups - Create group')}</h1>
% endif
View
2 apps/useradmin/src/useradmin/templates/edit_user.mako
@@ -44,7 +44,7 @@ ${layout.menubar(section='users', _=_)}
<h1>${_('Hue Users - Edit user: %(username)s') % dict(username=username)}</h1>
% else:
% if ldap:
- <h1>${_('Hue Users - Add/sync LDAP user')}</h1>
+ <h1>${_('Hue Users - Add/Sync LDAP user')}</h1>
% else:
<h1>${_('Hue Users - Create user')}</h1>
% endif
View
2 apps/useradmin/src/useradmin/templates/list_users.mako
@@ -30,7 +30,7 @@ ${layout.menubar(section='users', _=_)}
<div class="btn-group pull-right">
%if user.is_superuser == True:
<a href="${ url('useradmin.views.edit_user') }" class="btn">${_('Add user')}</a>
- <a href="${ url('useradmin.views.add_ldap_user') }" class="btn">${_('Add/sync LDAP user')}</a>
+ <a href="${ url('useradmin.views.add_ldap_user') }" class="btn">${_('Add/Sync LDAP user')}</a>
<a href="#syncLdap" class="btn" data-toggle="modal">${_('Sync LDAP users/groups')}</a>
%endif
</div>
View
12 apps/useradmin/src/useradmin/views.py
@@ -292,7 +292,7 @@ class AddLdapUserForm(forms.Form):
error_messages={'invalid': _("Whitespaces and ':' not allowed")})
dn = forms.BooleanField(label=_("Distinguished name"),
help_text=_("Whether or not the user should be imported by "
- "distinguished name"),
+ "distinguished name."),
initial=False,
required=False)
@@ -344,15 +344,15 @@ class AddLdapGroupForm(forms.Form):
max_length=64,
regex='^%s$' % (get_groupname_re_rule(),),
help_text=_("Required. 30 characters or fewer. May only contain letters, "
- "numbers, hypens or underscores."),
+ "numbers, hyphens or underscores."),
error_messages={'invalid': _("Whitespaces and ':' not allowed") })
dn = forms.BooleanField(label=_("Distinguished name"),
help_text=_("Whether or not the group should be imported by "
- "distinguished name"),
+ "distinguished name."),
initial=False,
required=False)
import_members = forms.BooleanField(label=_('Import new members'),
- help_text=_('Import unimported or new users from the group'),
+ help_text=_('Import unimported or new users from the group.'),
initial=False,
required=False)
@@ -426,7 +426,7 @@ def _check_remove_last_super(user_obj):
all_active_su = User.objects.filter(is_superuser__exact = True,
is_active__exact = True)
num_active_su = all_active_su.count()
- assert num_active_su >= 1, _("No active superuser configured")
+ assert num_active_su >= 1, _("No active superuser configured.")
if num_active_su == 1:
raise PopupException(_("You cannot remove the last active "
"superuser from the configuration."))
@@ -604,7 +604,7 @@ def clean_name(self):
data = self.cleaned_data["name"]
if not self.GROUPNAME.match(data):
raise forms.ValidationError(_("Group name may only contain letters, " +
- "numbers, hypens or underscores."))
+ "numbers, hyphens or underscores."))
return data
def __init__(self, *args, **kwargs):
View
2 desktop/core/src/desktop/appmanager.py
@@ -221,7 +221,7 @@ def load_apps():
global DESKTOP_APPS
if DESKTOP_APPS is not None:
- raise Exception(_("load_apps already has been called!"))
+ raise Exception(_("load_apps has already been called!"))
DESKTOP_APPS = []
for sdk_app in pkg_resources.iter_entry_points("desktop.sdk.application"):
View
44 desktop/core/src/desktop/conf.py
@@ -33,12 +33,12 @@
HTTP_HOST = Config(
key="http_host",
- help=_("HTTP Host to bind to"),
+ help=_("HTTP Host to bind to."),
type=str,
default="0.0.0.0")
HTTP_PORT = Config(
key="http_port",
- help=_("HTTP Port to bind to"),
+ help=_("HTTP Port to bind to."),
type=int,
default=8888)
SSL_CERTIFICATE = Config(
@@ -91,11 +91,11 @@ def default_from_email():
SMTP = ConfigSection(
key='smtp',
- help=_('Configuration options for connecting to an external SMTP server'),
+ help=_('Configuration options for connecting to an external SMTP server.'),
members=dict(
HOST = Config(
key="host",
- help=_("The SMTP server for email notification delivery"),
+ help=_("The SMTP server for email notification delivery."),
type=str,
default="localhost"
),
@@ -123,14 +123,14 @@ def default_from_email():
USE_TLS = Config(
key="tls",
- help=_("Whether to use a TLS (secure) connection when talking to the SMTP server"),
+ help=_("Whether to use a TLS (secure) connection when talking to the SMTP server."),
type=coerce_bool,
default=False
),
DEFAULT_FROM= Config(
key="default_from_email",
- help=_("Default email address to use for various automated notification from Hue"),
+ help=_("Default email address to use for various automated notifications from Hue."),
type=str,
dynamic_default=default_from_email
),
@@ -144,13 +144,13 @@ def default_from_email():
members=dict(
ENGINE=Config(
key='engine',
- help=_('Database engine, eg postgresql, mysql, sqlite3, or oracle'),
+ help=_('Database engine, such as postgresql, mysql, sqlite3, or Oracle.'),
type=str,
default='sqlite3',
),
NAME=Config(
key='name',
- help=_('Database name, or path to DB if using sqlite3'),
+ help=_('Database name, or path to DB if using sqlite3.'),
type=str,
default=get_desktop_root('desktop.db'),
),
@@ -183,7 +183,7 @@ def default_from_email():
KERBEROS = ConfigSection(
key="kerberos",
- help=_("""Configuration options for specifying Hue's kerberos integration for
+ help=_("""Configuration options for specifying Hue's Kerberos integration for
secured Hadoop clusters."""),
members=dict(
HUE_KEYTAB=Config(
@@ -193,24 +193,24 @@ def default_from_email():
default=None),
HUE_PRINCIPAL=Config(
key='hue_principal',
- help=_("Kerberos principal name for hue. Typically 'hue/hostname.foo.com'"),
+ help=_("Kerberos principal name for Hue. Typically 'hue/hostname.foo.com'."),
type=str,
default="hue/%s" % socket.getfqdn()),
KEYTAB_REINIT_FREQUENCY=Config(
key='reinit_frequency',
- help=_("Frequency in seconds with which Hue will renew its keytab"),
+ help=_("Frequency in seconds with which Hue will renew its keytab."),
type=int,
default=60*60), #1h
CCACHE_PATH=Config(
key='ccache_path',
- help=_("Path to keep kerberos credentials cached"),
+ help=_("Path to keep Kerberos credentials cached"),
private=True,
type=str,
default="/tmp/hue_krb5_ccache",
),
KINIT_PATH=Config(
key='kinit_path',
- help=_("Path to kerberos 'kinit' command"),
+ help=_("Path to Kerberos 'kinit' command"),
type=str,
default="kinit", # use PATH!
)
@@ -227,7 +227,7 @@ def default_from_email():
DEFAULT_SITE_ENCODING = Config(
key='default_site_encoding',
- help=_('Default system-wide unicode encoding'),
+ help=_('Default system-wide unicode encoding.'),
type=str,
default='utf-8'
)
@@ -246,14 +246,14 @@ def default_from_email():
AUTH = ConfigSection(
key="auth",
- help=_("Configuration options for user authentication into the web application"),
+ help=_("Configuration options for user authentication into the web application."),
members=dict(
BACKEND=Config("backend",
default="desktop.auth.backend.AllowFirstUserDjangoBackend",
help=_("Authentication backend. Common settings are "
"django.contrib.auth.backends.ModelBackend (fully Django backend), " +
"desktop.auth.backend.AllowAllBackend (allows everyone), " +
- "desktop.auth.backend.AllowFirstUserDjangoBackend (relies on Django and user manager, after the first login), ")),
+ "desktop.auth.backend.AllowFirstUserDjangoBackend (relies on Django and user manager, after the first login). ")),
USER_AUGMENTOR=Config("user_augmentor",
default="desktop.auth.backend.DefaultUserAugmentor",
help=_("Class which defines extra accessor methods for User objects.")),
@@ -287,7 +287,7 @@ def default_from_email():
USERS = ConfigSection(
key="users",
- help=_("Configuration for LDAP user schema and search"),
+ help=_("Configuration for LDAP user schema and search."),
members=dict(
USER_FILTER=Config("user_filter",
default="objectclass=*",
@@ -323,12 +323,12 @@ def default_from_email():
LOCAL_FILESYSTEMS = UnspecifiedConfigSection(
key="local_filesystems",
- help=_("Paths on the local file system that users should be able to browse"),
+ help=_("Paths on the local file system that users should be able to browse."),
each=ConfigSection(
members=dict(
PATH=Config("path",
required=True,
- help=_("The path on the local FS")))))
+ help=_("The path on the local FS.")))))
def default_feedback_url():
"""A version-specific URL."""
@@ -343,7 +343,7 @@ def default_feedback_url():
SEND_DBUG_MESSAGES = Config(
key="send_dbug_messages",
- help=_("Whether to send dbug messages from JavaScript to the server logs."),
+ help=_("Whether to send debug messages from JavaScript to the server logs."),
type=coerce_bool,
default=False
)
@@ -356,7 +356,7 @@ def default_feedback_url():
DJANGO_DEBUG_MODE = Config(
key="django_debug_mode",
- help=_("Enable or disable django debug mode."),
+ help=_("Enable or disable Django debug mode."),
type=coerce_bool,
default=True
)
@@ -402,7 +402,7 @@ def config_validator():
kt_stat = os.stat(KERBEROS.HUE_KEYTAB.get())
if stat.S_IMODE(kt_stat.st_mode) & 0077:
res.append((KERBEROS.HUE_KEYTAB,
- unicode(_("Keytab should have 0600 permissions (has %o)") %
+ unicode(_("Keytab should have 0600 permissions (has %o).") %
stat.S_IMODE(kt_stat.st_mode))))
res.extend(validate_path(KERBEROS.KINIT_PATH, is_dir=False))
View
2 desktop/core/src/desktop/templates/check_config.mako
@@ -52,7 +52,7 @@ ${layout.menubar(section='check_config')}
% endfor
</table>
% else:
- <h2>${_('All ok. Configuration check passed!')}</h2>
+ <h2>${_('All OK. Configuration check passed!')}</h2>
% endif
</div>

0 comments on commit e99bc2e

Please sign in to comment.