Problem/Motivation

Lowercase action words are harder to translate. Many contributed modules, like Organic Groups and Views, already use uppercase action words.

Proposed Solution

In separate issues per module, make changes like this example, capitalizing action words:

+++ modules/block/block.admin.inc	1 Jan 2010 18:32:26 -0000
@@ -88,13 +88,13 @@ function block_admin_display_form($form,
     $form[$key]['configure'] = array(
       '#type' => 'link',
-      '#title' => t('configure'),
+      '#title' => t('Configure'),
       '#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/configure',
     );
     if ($block['module'] == 'block') {
       $form[$key]['delete'] = array(
         '#type' => 'link',
-        '#title' => t('delete'),
+        '#title' => t('Delete'),
         '#href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete',
      );

Remaining tasks

  • Decide if this issue should also deal with short sentences, and if so, add examples.

The previous submitted patch does not longer apply.
Rob Loach suggested to split the issue on a module by module base.

So we need patches for these areas/strings/modules. See the separated issues:

Original report by Dave Reid

There are a lot of table 'operations' that use lower case like 'edit' and 'delete' but we don't use lowercase action words in buttons. I've heard from a couple of translators that these lowercase short action words are harder to translate. Many major contrib modules are also using propercase action words, like Organic Groups and Views.

Comments

dave reid’s picture

Status: Active » Needs review
Issue tags: +extending with text labels
StatusFileSize
new71.34 KB

Initial patch to see if I got everything for the testing bot.

Status: Needs review » Needs work

The last submitted patch failed testing.

keith.smith’s picture

Status: Needs work » Needs review

Oh, yes please.

I remember being happy with things being lowercase in Drupal 4.7; now my tastes have changed, for some reason.

I do note some changes like this that may slightly be out of scope:

-    form_set_error('upload_uploadsize_default', t('The %role file size limit must be a number and greater than zero.', array('%role' => t('default'))));
+    form_set_error('upload_uploadsize_default', t('The <em>default</em> file size limit must be a number and greater than zero.'));

And, if we're changing that, IMO, it should be "The default file size limit must be a number greater than zero."

What lowercase things will this leave? "new", "updated", "published"? Is there a "promoted"?

dave reid’s picture

StatusFileSize
new73.5 KB

Quick revision to hopefully pass all tests. Will answer #3 in just a little bit.

dave reid’s picture

StatusFileSize
new31.95 KB

Here's the result of grep -Rn -e "\$t(['\"][a-z]" after the patch that shows any line with t(x) where x is a lowercase letter.

dave reid’s picture

@keith.smith Yeah those lines you pointed out I've split out into a separate patch so I don't try and scope creep at all.

The only change that is debatible in this latest page is related to the watchdog levels:

 function watchdog_severity_levels() {
   return array(
-    WATCHDOG_EMERG    => t('emergency'),
-    WATCHDOG_ALERT    => t('alert'),
-    WATCHDOG_CRITICAL => t('critical'),
-    WATCHDOG_ERROR    => t('error'),
-    WATCHDOG_WARNING  => t('warning'),
-    WATCHDOG_NOTICE   => t('notice'),
-    WATCHDOG_INFO     => t('info'),
-    WATCHDOG_DEBUG    => t('debug'),
+    WATCHDOG_EMERG    => t('Emergency'),
+    WATCHDOG_ALERT    => t('Alert'),
+    WATCHDOG_CRITICAL => t('Critical'),
+    WATCHDOG_ERROR    => t('Error'),
+    WATCHDOG_WARNING  => t('Warning'),
+    WATCHDOG_NOTICE   => t('Notice'),
+    WATCHDOG_INFO     => t('Info'),
+    WATCHDOG_DEBUG    => t('Debug'),
   );
 }
...
 function dblog_overview() {
   $filter = dblog_build_filter_query();
   $rows = array();
+  $levels = watchdog_severity_levels();
   $icons = array(
     WATCHDOG_DEBUG    => '',
     WATCHDOG_INFO     => '',
     WATCHDOG_NOTICE   => '',
-    WATCHDOG_WARNING  => theme('image', 'misc/watchdog-warning.png', t('warning'), t('warning')),
-    WATCHDOG_ERROR    => theme('image', 'misc/watchdog-error.png', t('error'), t('error')),
-    WATCHDOG_CRITICAL => theme('image', 'misc/watchdog-error.png', t('critical'), t('critical')),
-    WATCHDOG_ALERT    => theme('image', 'misc/watchdog-error.png', t('alert'), t('alert')),
-    WATCHDOG_EMERG    => theme('image', 'misc/watchdog-error.png', t('emergency'), t('emergency')),
+    WATCHDOG_WARNING  => theme('image', 'misc/watchdog-warning.png', $levels[WATCHDOG_WARNING], $levels[WATCHDOG_WARNING]),
+    WATCHDOG_ERROR    => theme('image', 'misc/watchdog-error.png', $levels[WATCHDOG_ERROR], $levels[WATCHDOG_ERROR]),
+    WATCHDOG_CRITICAL => theme('image', 'misc/watchdog-error.png', $levels[WATCHDOG_CRITICAL], $levels[WATCHDOG_CRITICAL]),
+    WATCHDOG_ALERT    => theme('image', 'misc/watchdog-error.png', $levels[WATCHDOG_ALERT], $levels[WATCHDOG_ALERT]),
+    WATCHDOG_EMERG    => theme('image', 'misc/watchdog-error.png', $levels[WATCHDOG_EMERG], $levels[WATCHDOG_EMERG]),
   );
   $classes = array(
     WATCHDOG_DEBUG    => 'dblog-debug',

This way we're reusing the watchdog_severity_levels() instead of duplicating code.

Status: Needs review » Needs work

The last submitted patch failed testing.

robloach’s picture

Yeah, this has been one of my pet peeves with Drupal since forever.

sun’s picture

Status: Needs work » Needs review
Issue tags: -extending with text labels +Needs usability review

Tagging.

And, +1.

Bojhan’s picture

I cannot review this without pictures, or something atleast.

cburschka’s picture

Title: Standardize capitilzation on actions and short sentences » Standardize capitalization on actions and short sentences
Status: Needs review » Needs work

This patch does not apply at all anymore.

dave reid’s picture

Status: Needs work » Needs review
StatusFileSize
new37.85 KB

Smaller patch changing t('edit') to t('Edit') and t('delete') to t('Delete').

dave reid’s picture

StatusFileSize
new76.27 KB
new70.49 KB

Here's the type of thing we're doing in #12.

dave reid’s picture

StatusFileSize
new46.19 KB

Expanded #12 to include t('view'), t('never') and t('configure').

dave reid’s picture

StatusFileSize
new46.76 KB

Fixed tests.

robloach’s picture

Status: Needs review » Needs work

I greped through some operations and found some missing the sentence casing:

  • manage fields
  • manage display
  • remove items
  • update items
  • edit order and titles
  • reset
  • list links
  • edit menu
  • add link
  • revert
  • add translation
  • edit role
  • edit permissions
  • locked

If we're just doing edit and delete in this round, however, I'd say this is RTBC.

robloach’s picture

Status: Needs work » Reviewed & tested by the community

Edit, Delete, View, Never and Configure is a good first round. RTBCed..... Should we open up issues to battle the ones I listed above? Or hit them after this patch is committed?

dave reid’s picture

I'd like to keep them in the same issue so whoever commits knows about the followups easily. Not like this issue is super-long right now anyway. :)

Bojhan’s picture

Status: Reviewed & tested by the community » Needs review

Before we commit this I think its very reasonable to actually look at the design part of this. Other then, I like it better this way - I would really love this late in the release cycle that we are a bit more cautious with just marking things RTBC.

One of the aesthetic reasons I felt was that in terms of typography it implies importance, where as the actions are not the most important part in the table its the information holder this being a node title, role title ect. With that in mind, it translates to the user as a consistent artifact in Drupal core - where all actions in a table are lowercase.

I am not totally set on this, but I would like to have actual arguments why it would be better. Translations is not a valid argument in my eyes, as that would mean a lot of our sentences in core which heavily rely on the span of the English vocabulary should be changed.

dave reid’s picture

@Bojhan: String freeze is apparently the 15th. We do not have a lot of time.

yoroy’s picture

Status: Needs review » Reviewed & tested by the community

Can't really make the case for lowercase actions, though I do remember we made a conscious decision to use lowercase then. I think uppercase is fine. For operations in tables it will help just that little bit in seperating each action from the others:

edit operations edit permissions

Vs.

Edit operations Edit permissions
webchick’s picture

Version: 7.x-dev » 8.x-dev

You know...

The more I think about this, as much as I would love to do this, since this drives me absolutely bananas as well, it's the kind of patch that is going to lead to all sorts of follow-ups, re-rolls of other peoples' patches, etc. This is exactly the kind of stuff we should've been focusing on *before* 12/1, and instead this new initiative is coming within the last two weeks of the first alpha. :\

The translator argument is compelling, but it wasn't compelling enough to block the release of Drupal 5 & 6, so I can't see how it could block the release of 7.x.

Therefore, I'm sorry to do this, but I'm going to have to bump to 8.x.

yoroy’s picture

All good, no kittens lost :)

dave reid’s picture

Version: 8.x-dev » 7.x-dev

Wait...what??? If this was done sooner, there were much more major patches that would have all needed to be re-rolled. That's a much less serious of a situation now since we're nearing buxfix mode. Yes, this shouldn't block D7 release, but it also shouldn't be a reason to immediately disregard it.

dave reid’s picture

I'd consider this in the same aspect as coding standard fixes. Are those not allowed after 1/15? Because you know that patches committed after that will have trailing whitespace, missing trailing commas in array definitions, etc.

webchick’s picture

Version: 7.x-dev » 8.x-dev

Coding standards fixes in core don't affect module developers. This does. They need to make changes to their UI strings to conform to core's standards which, for better or worse, have been consistent for the past 2 releases as lowercased. To be clear, it's not the act of having to re-roll patches that's problematic, it's the change in standard at this stage in the game.

It's also one of those patches where if there are any elements listed in #16 are missing, we must both postpone the time when we can tell translators to go ahead, and we add more things to the "must fix before release" queue, which is already at ~350 issues as it stands and we really don't need more of them. :(

Again, if this had been ready to go on 12/1, the deadline for major string/UI initiatives, things would've been different. The docs team was able to mount a huge initiative to change all help text in core by 12/1 to respect this deadline, for example. But I have to hold other patches to the same standard. Therefore, this feels pretty plainly like 8.x material to me. Restoring version.

dave reid’s picture

Ok, I can live with it. UX team has already agreed that the UX guidlines will be sentence case, so core will violate that standard for 7. I'm just frustrated that we don't have clear definitions about what our deadlines are allowing. No one on the UX team I talked to thought it wouldn't be ok for this. :/

webchick’s picture

I'm just frustrated that we don't have clear definitions about what our deadlines are allowing.

The 15th is the deadline for finalizing the clean-up patches from the previous phase that are already in the queue. It's not the time for starting new initiatives, particularly when said initiatives are non-critical, will result in dozens of follow-up patches, and make modifications that affect module developers.

I tried to clarify this here as well: http://webchick.net/node/73#comment-1312

In short, we've had over 3 months since feature freeze to perform clean-up work like this. The point of an alpha is to move us toward release, not further polishing. So if a patch isn't one of the ones that's been lingering at RTBC since December, or one that fixes critical bugs, let's address it in D8 imo.

yoroy’s picture

Lets do this.

dries’s picture

Status: Reviewed & tested by the community » Needs work

I'm OK with this patch but it doesn't quite apply anymore. Setting this back to 'Needs work'. Hopefully someone will be able to take a crack at this again. Thanks in advance.

dave reid’s picture

Cool, I can start a local branch to re-do this shortly.

yoroy’s picture

Consensus on this being a good thing to do was there, is still there. I assume this is not complex but quite some grunt work and susceptible to rerolls? I'd love to see this move forward without becoming frustrating to do :)

xjm’s picture

robloach’s picture

Title: Standardize capitalization on actions and short sentences » [Meta] Standardize capitalization on actions and short sentences
Issue tags: +Needs issue summary update

We should probably split the issue into maybe something like this to make it manageable:

  • Node Operations table
  • Watchdog
  • Locale language operations
  • Fields
  • Aggregator feeds
  • Blocks
  • Book
  • Comments
  • Filter
  • Image styles
  • Taxonomy terms
  • Menu links
  • Shortcut
  • User management and roles
  • Actions UI
  • Miscellaneous (IP blocking, date/time, etc)
dave reid’s picture

I'm fine with a module-by-module basis. I'm not fine with ridiculous tags.

dbazuin’s picture

Issue summary: View changes

Edit the summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

Edit summary

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

edit summary

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add link

dbazuin’s picture

Issue summary: View changes

add links

hass’s picture

Issue tags: +Needs backport to D7

Needs backport for #1496418: Views: Don't change capitalization of translatable strings with CSS and tons of other already fixed modules.

xjm’s picture

This is absolutely not backportable since it changes dozens of strings.

hass’s picture

There are a lot of table 'operations' that use lower case like 'edit' and 'delete' but we don't use lowercase action words in buttons. I've heard from a couple of translators that these lowercase short action words are harder to translate. Many major contrib modules are also using propercase action words, like Organic Groups and Views.

As translator I can only confirm this. This needs a backport for translators.

xjm’s picture

Not sure what is going on with the tags.

xjm’s picture

Alright, while I understand the current behavior is frustrating for translators, D7 has been out for nearly 22 months. Most of these strings have already been translated to their lowercase versions despite the frustration. Backporting it now would instead cause sites upgrading to see all their short links and buttons in a foreign language, and that's way worse.

So we will fix it in D8. This is a safe task to do during D8 code freeze; it just needs to be completely done before string freeze.

xjm’s picture

Issue summary: View changes

text correction

yesct’s picture

Took a look at the previous patch and it seems like it's doing a lot of changes of edit -> Edit, delete -> Delete, view -> View, configure -> Configure and those are the kind of action word changes.

But it does not have changes to "short sentences", are there examples of how changes to use short sentences should be make, or should this just focus on the action words?

yesct’s picture

Issue summary: View changes

Linking issues using [#ISSUENUM] syntax

yesct’s picture

Issue summary: View changes

added example, and re-worded to be more clear.

yesct’s picture

Issue summary: View changes

typo

yesct’s picture

Issue summary: View changes

small typo

hass’s picture

Issue summary: View changes

Updated issue summary.

yesct’s picture

Title: [Meta] Standardize capitalization on actions and short sentences » [Meta] Standardize capitalization on actions

changing title to take out the task of changing short sentences, because it's not clear what that is intended to do, and there is no example suggested yet.

In the separate issues,
what exactly should we be changing?

Just
t('edit') t('delete')
t('view'), t('never') and t('configure').

Plus, any word in the operations (drop buttons)?
Like #1784738: Standardize capitalization on actions, in content_types: 'manage fields', 'manage display', 'edit', 'delete' has t('manage fields')

Wait, I have another confusion. The issue summary says the separate issues are for the separate modules... but they kind of look like those sub issues are instead for the strings in the brackets. So, the separate issues were not created for the list in #34, but instead for the missing strings in #16

One problem, is that means, that the edit, delete, view, configure that there was wide agreement on, does not have a sub issue.

Even if we made sub issues for the list in #34, I dont think those are strickly modules, but maybe instead, areas in the UI, which multiple modules might contribute operations to. (I'm thinking translate is a node operation added by the content translation module.)

Suggestion

Lets get new issues opened up for the first two things in the list in #34 and start there.

ps. where is never an action word?

+++ modules/aggregator/aggregator.admin.inc	1 Jan 2010 18:32:25 -0000
@@ -27,7 +27,7 @@ function aggregator_view() {
+    $rows[] = array(l($feed->title, "aggregator/sources/$feed->fid"), format_plural($feed->items, '1 item', '@count items'), ($feed->checked ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->checked))) : t('Never')), ($feed->checked && $feed->refresh ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - REQUEST_TIME))) : t('Never')), l(t('Edit'), "admin/config/services/aggregator/edit/feed/$feed->fid"), l(t('remove items'), "admin/config/services/aggregator/remove/$feed->fid"), l(t('update items'), "admin/config/services/aggregator/update/$feed->fid"));

aggregator...

+++ modules/user/user.admin.inc	1 Jan 2010 18:32:31 -0000
@@ -200,8 +200,8 @@ function user_admin_account() {
+      'access' =>  $account->access ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $account->access))) : t('Never'),

user admin

so yeah, we need screenshots. this is confusing.

hass’s picture

We are changing to Delete, Edit, Manage fields and so on. There is nothing confusing in here.

hass’s picture

Issue summary: View changes

Updated issue summary.

yesct’s picture

Issue summary: View changes

to reflect changes in issues needed.

yesct’s picture

Issue summary: View changes

Updated issue summary, sub issue information

yesct’s picture

yesct’s picture

Will we do changes to selects as part of the other open issues?
I think:
a) it would slow those issues down, and that changes to selects be separate issues, or
b) at least we get agreement here that changes to selects is A Good Thing.

I suggest a)

For example see:
#1785006-12: Standardize capitalization on actions for menu operations: 'add link', 'edit menu', 'delete menu', 'edit', 'delete', 'reset'
Changing menu name from <Administration> to - Administration -, alternate suggestion made to use brackets: [ ]
and
#1784806-11: Standardize capitalization on actions in book: 'edit order and titles'
which was missed when #1317884: Remove all instances of <none>, <Hidden> and <br/> from translatable strings because they lead to import errors happened.

As can be seen, there might need separate discussion and ui review on select changes.

yesct’s picture

Issue summary: View changes

Updated issue summary, added watchdog issue.

yesct’s picture

added separate issue to handle < and > found in select #1919258: Remove < and > from menu select for consistency

hass’s picture

I feel like removing the word "actions" from title and make this case a full core review about single word/short sentences as noted in summary...

hass’s picture

We should followup with larger patches now. Creating patches per module may take months for this trivial changes. E.g. Full modules folder in one patch, includes folder in one and so on.

hass’s picture

Issue summary: View changes

adding follow-up issue

hass’s picture

We need to decide if we do #1933082: Add context to short action names, too.

yesct’s picture

I think we need an issue to change the action words in the views ui.
See for example 9. the view in #1938576-1: Tags and Language setting not discoverable under "edit view name/description" button and #12
when the issue is created, add it to the issue summary and make a comment saying it was created and the summary was updated.

yesct’s picture

Issue summary: View changes

highlighting the remaining task.

chrishks’s picture

Issue summary: View changes

Added link to #2004246 as sub-task

mikeryan’s picture

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

pameeela’s picture

Status: Needs work » Fixed

All of the tasks in the IS are fixed so closing this.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.