WordPress.org

Make WordPress Core

Opened 3 years ago

Last modified 8 months ago

#18218 reopened enhancement

Too many similar translation string

Reported by: ramiy Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 3.2.1
Component: I18N Keywords: has-patch
Focuses: Cc:

Description

WordPress .po/.mo file is too big (3,312 strings). I know that we can't delete strings but we can reduce the file size by merging simmilar strings. WordPress has too many simmilar string. English developers don't notice this but non-english translators are frustrated by this when they have to translate the same string in 2 or 3 different variations.

I suggest to merge simmilar strings, this way will achive two things:

  1. Smaller .po/.mo files.
  2. Easier translation process as there will be less string to translate. I belive 200-300 strings less.

(Check out the bbPress ticket #BB1584 for more information and examples)

Few WordPress examples:


No login ID submitted

  • wp-includes/class-pop3.php:168

no login ID submitted

  • wp-includes/class-pop3.php:115

(change n->N)


You are not allowed to post as this user.

  • wp-admin/includes/post.php:65

You are not allowed to post as this user

  • wp-includes/class-wp-xmlrpc-server.php:2263

(add '.')


Log out

  • wp-includes/general-template.php:189

Log Out

  • wp-includes/admin-bar.php:92
  • wp-admin/admin-header.php:165

Log out »

  • wp-includes/theme-compat/comments.php:73

Log out of this account

  • wp-includes/theme-compat/comments.php:73

(change all to "Log Out")


Log In

  • wp-includes/general-template.php:261
  • wp-login.php:627
  • wp-login.php:646
  • wp-admin/install.php:144
  • wp-admin/install.php:238

Log in

  • wp-includes/general-template.php:187
  • wp-login.php:419
  • wp-login.php:444
  • wp-login.php:475
  • wp-login.php:531

(change all to "Log In")


E-mail

  • wp-includes/theme-compat/comments-popup.php:80
  • wp-login.php:520
  • wp-admin/user-new.php:229
  • wp-admin/user-new.php:291
  • wp-admin/comment.php:160
  • wp-admin/includes/class-wp-users-list-table.php:165
  • wp-admin/includes/template.php:356
  • wp-admin/user-edit.php:329

Email

  • wp-includes/comment-template.php:1525

E-mail address

  • wp-admin/options-general.php:104
  • wp-admin/options-general.php:123

Your E-mail

  • wp-admin/install.php:128

Attachments (4)

login-logout.patch (3.5 KB) - added by ramiy 3 years ago.
"Log out => Log Out" & "Log in => Log In"
18218.2.patch (2.9 KB) - added by ramiy 3 years ago.
18218.3.patch (1.6 KB) - added by ramiy 3 years ago.
18218.4.patch (40.7 KB) - added by ramiy 3 years ago.

Download all attachments as: .zip

Change History (28)

comment:1 SergeyBiryukov3 years ago

  • Keywords needs-patch added

class-pop3.php is an external library and should not be modified, according to westi's comment on #15912.

Some other suggestions are valid, I guess.

comment:2 demetris3 years ago

  • Resolution set to duplicate
  • Status changed from new to closed

Closing as duplicate of #14039.

I believe I will be able to do some work on this during the 3.3 cycle, but we will need a basic style guide first, so that we can be consistent on issues of capitalization etc. (I’m working on that currently.)

comment:3 SergeyBiryukov3 years ago

  • Keywords needs-patch removed
  • Milestone Awaiting Review deleted

comment:4 follow-up: ramiy3 years ago

few more strings:


Visit Site

  • wp-includes/admin-bar.php:106
  • wp-includes/admin-bar.php:145
  • wp-admin/admin-header.php:122
  • wp-admin/admin-header.php:142

visit site

  • wp-admin/edit-form-comment.php:109

(change v->V and s->S)


View Post

  • wp-includes/post.php:1183
  • wp-admin/edit.php:196
  • wp-content/plugins/akismet/legacy.php:294

View post

  • wp-admin/press-this.php:600

(change p->P)


View all posts in %s

  • wp-includes/category-template.php:59
  • wp-includes/category-template.php:174
  • wp-includes/category-template.php:177
  • wp-includes/category-template.php:184
  • wp-includes/category-template.php:197
  • wp-includes/category-template.php:200
  • wp-includes/category-template.php:207

View all posts filed under %s

  • wp-includes/category-template.php:837

("filed under"->"in")


View all

  • wp-admin/includes/dashboard.php:129
  • wp-admin/includes/dashboard.php:599

View All

  • wp-admin/includes/nav-menu.php:667
  • wp-admin/includes/nav-menu.php:881

(change a->A)


Unable to locate WordPress Theme directory.

  • wp-admin/includes/class-wp-upgrader.php:47

Unable to locate WordPress theme directory.

  • wp-admin/includes/theme.php:93

(change t->T)


Timezone

  • wp-admin/options-general.php:158

Time Zone

  • wp-includes/class-wp-xmlrpc-server.php:311

Tags: (have following space)

  • wp-includes/category-template.php:1030

Tags: (have no following space)

  • wp-admin/themes.php:123
  • wp-admin/includes/class-wp-themes-list-table.php:193

Sorry, you must be able to edit posts to this site in order to view categories.

  • wp-includes/class-wp-xmlrpc-server.php:957

Sorry, you must be able to edit posts on this site in order to view categories.

  • wp-includes/class-wp-xmlrpc-server.php:3000
  • wp-includes/class-wp-xmlrpc-server.php:3192

(change to->on)


Last edited 3 years ago by ramiy (previous) (diff)

comment:5 ramiy3 years ago

More strings:


Select All

  • wp-includes/js/tinymce/langs/wp-langs.php:150
  • wp-admin/update-core.php:211
  • wp-admin/update-core.php:218
  • wp-admin/update-core.php:284
  • wp-admin/update-core.php:291
  • wp-admin/includes/nav-menu.php:783
  • wp-admin/includes/nav-menu.php:960

Select all

  • wp-includes/js/tinymce/wp-mce-help.php:235

Select a color

  • wp-includes/js/tinymce/langs/wp-langs.php:315

Select a Color

  • wp-admin/custom-header.php:592
  • wp-admin/custom-background.php:298

Save Changes

  • wp-admin/includes/template.php:2202
  • wp-admin/options.php:219

Save all changes

  • wp-admin/includes/media.php:1647
  • wp-admin/includes/media.php:1827
  • wp-admin/includes/media.php:2068
  • wp-admin/media-upload.php:96

Quick Edit

  • wp-admin/includes/class-wp-posts-list-table.php:732
  • wp-admin/includes/class-wp-comments-list-table.php:415
  • wp-admin/includes/class-wp-terms-list-table.php:336

Quick Edit

  • wp-admin/includes/class-wp-posts-list-table.php:543
  • wp-admin/includes/class-wp-comments-list-table.php:415
  • wp-admin/includes/class-wp-terms-list-table.php:260

Posts

  • wp-admin/export.php:131
  • wp-admin/includes/class-wp-users-list-table.php:167
  • wp-admin/includes/class-wp-terms-list-table.php:110
  • wp-admin/menu.php:74

posts

  • wp-admin/options-reading.php:103

Popular Tags

  • wp-includes/taxonomy.php:402

Popular tags

  • wp-admin/includes/plugin-install.php:90

Permalink structure updated.

  • wp-admin/options-permalink.php:142
  • wp-admin/options-permalink.php:145

Permalink structure updated

  • wp-admin/options-permalink.php:137

Password Protected

  • wp-includes/script-loader.php:353

Password protected

  • wp-admin/includes/template.php:1633
  • wp-admin/includes/meta-boxes.php:119
  • wp-admin/includes/meta-boxes.php:144

Parent

  • wp-admin/includes/class-wp-posts-list-table.php:847
  • wp-admin/includes/meta-boxes.php:562
  • wp-admin/includes/meta-boxes.php:563

parent

  • wp-admin/includes/meta-boxes.php:828

Open link in a new window/tab

  • wp-admin/includes/internal-linking.php:85

Open link in a new window

  • wp-includes/js/tinymce/langs/wp-langs.php:346

Separate multiple categories with commas.

  • wp-includes/script-loader.php:297

Separate tags with commas

  • wp-includes/script-loader.php:336
  • wp-includes/taxonomy.php:411

Page IDs, separated by commas.

  • wp-includes/default-widgets.php:78

(can be changed to "Separate multiple with commas." or just "Separate with commas.")


Version 0, edited 3 years ago by ramiy (next)

comment:6 ramiy3 years ago

None

  • wp-includes/deprecated.php:707
  • wp-includes/js/tinymce/langs/wp-langs.php:484
  • wp-admin/includes/media.php:850
  • wp-admin/includes/media.php:944
  • wp-admin/includes/media.php:2131
  • wp-admin/includes/media.php:2147
  • wp-admin/includes/class-wp-users-list-table.php:264
  • wp-admin/edit-tags.php:348
  • wp-admin/edit-tag-form.php:55

none

  • wp-admin/includes/meta-boxes.php:781
  • wp-admin/includes/meta-boxes.php:814
  • wp-admin/includes/meta-boxes.php:837

(change n->N)


No matching users were found.

  • wp-admin/includes/class-wp-users-list-table.php:79

No matching users were found!

  • wp-admin/includes/deprecated.php:524

(change !->.)


No login ID submitted

  • wp-includes/class-pop3.php:168

no login ID submitted

  • wp-includes/class-pop3.php:115

(change n->N)


Next page...

  • wp-includes/js/tinymce/langs/wp-langs.php:471

Next Page »

  • wp-includes/link-template.php:1594
  • wp-includes/link-template.php:1702
  • wp-content/plugins/akismet/legacy.php:260
  • wp-content/plugins/akismet/legacy.php:327

Next page

  • wp-includes/post-template.php:629

Next »

  • wp-includes/general-template.php:1970

Next >

  • wp-includes/script-loader.php:196

Newer version (%s) is installed.

  • wp-admin/includes/theme-install.php:301

Newer Version (%s) Installed

  • wp-admin/includes/plugin-install.php:296

(sould be the same string)


New password

  • wp-login.php:459

New Password

  • wp-admin/user-edit.php:372

(change p->P)


New Category Name

  • wp-includes/taxonomy.php:410

New category name

  • wp-admin/includes/meta-boxes.php:681

(change c->C and n->N)


lookup

  • wp-includes/script-loader.php:83

Lookup

  • wp-admin/plugin-editor.php:231
  • wp-admin/theme-editor.php:235

(change l->L)


Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>

  • wp-includes/comment-template.php:1536

Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out &raquo;</a>

  • wp-includes/theme-compat/comments-popup.php:71

Loading...

  • wp-admin/press-this.php:417

Loading&#8230;

  • wp-admin/includes/dashboard.php:1038

Link to Image

  • wp-includes/js/tinymce/langs/wp-langs.php:490

Link to image

  • wp-admin/includes/media.php:2148

(change i->I)


Leave a comment

  • wp-includes/theme-compat/comments-popup.php:66

Leave a Comment

  • wp-includes/comment-template.php:1100

(change c->C)


Invalid post type.

  • wp-includes/class-wp-xmlrpc-server.php:2214
  • wp-includes/class-wp-xmlrpc-server.php:2270
  • wp-includes/class-wp-xmlrpc-server.php:2521
  • wp-includes/class-wp-xmlrpc-server.php:2586

Invalid post type

  • wp-admin/edit.php:17
  • wp-admin/post-new.php:17
  • wp-admin/includes/class-wp-posts-list-table.php:56

(add a dot)


Insert Page Break

  • wp-includes/js/tinymce/langs/wp-langs.php:213

Insert Page break

  • wp-includes/js/tinymce/langs/wp-langs.php:468

(change b->B)


fullscreen

  • wp-includes/script-loader.php:89

Fullscreen

  • wp-includes/js/tinymce/langs/wp-langs.php:399

Full Screen

  • wp-includes/js/tinymce/wp-mce-help.php:256

Function Name...

  • wp-admin/theme-editor.php:122

Function Name&hellip;

  • wp-admin/plugin-editor.php:138

Error in restoring from trash...

  • wp-admin/upload.php:108

Error in restoring from Trash.

  • wp-admin/edit.php:97
  • wp-admin/post.php:238

Error in moving to trash...

  • wp-admin/upload.php:98

Error in moving to Trash.

  • wp-admin/edit.php:84
  • wp-admin/post.php:225

Error in deleting...

  • wp-admin/edit.php:113
  • wp-admin/edit.php:116
  • wp-admin/upload.php:118

Error in deleting.

  • wp-admin/post.php:254
  • wp-admin/post.php:257

Edit your profile

  • wp-admin/admin-header.php:156

Edit My Profile

  • wp-includes/admin-bar.php:91

Edit comment

  • wp-includes/link-template.php:1015
  • wp-admin/edit-comments.php:197
  • wp-admin/edit-comments.php:203
  • wp-admin/includes/dashboard.php:697
  • wp-admin/includes/class-wp-comments-list-table.php:414

Edit Comment

  • wp-admin/comment.php:46
  • wp-admin/edit-form-comment.php:16
  • wp-admin/edit-form-comment.php:27

(change c->C)


Delete Plugin

  • wp-admin/plugins.php:247

Delete this plugin

  • wp-admin/includes/class-wp-plugins-list-table.php:373
  • wp-admin/includes/class-wp-plugins-list-table.php:382

Close Window

  • wp-admin/press-this.php:600

Close this window.

  • wp-includes/theme-compat/comments-popup.php:108

Allow comments.

  • wp-admin/includes/meta-boxes.php:447

Allow Comments

  • wp-admin/includes/class-wp-posts-list-table.php:926

(change c->C)


Alignment

  • wp-includes/js/tinymce/langs/wp-langs.php:76
  • wp-includes/js/tinymce/langs/wp-langs.php:333
  • wp-admin/includes/media.php:974
  • wp-admin/includes/media.php:2128

Align

  • wp-includes/js/tinymce/langs/wp-langs.php:375

Add New User

  • wp-admin/user-new.php:129
  • wp-admin/user-new.php:265
  • wp-admin/menu.php:213
  • wp-admin/menu.php:215

Add New User (has space in the end)

  • wp-admin/user-new.php:343

(in the second string, we have to remove the space in the end)


Add Existing User

  • wp-admin/user-new.php:226

Add Existing User (has space in the end)

  • wp-admin/user-new.php:258

(in the second string, we have to remove the space in the end)


Last edited 3 years ago by ramiy (previous) (diff)

comment:7 ramiy3 years ago

In total, 52 strings (for now).

ramiy3 years ago

"Log out => Log Out" & "Log in => Log In"

comment:8 ramiy3 years ago

  • Cc r_a_m_i@… added
  • Component changed from General to I18N
  • Keywords has-patch added
  • Resolution duplicate deleted
  • Status changed from closed to reopened
  • Type changed from defect (bug) to enhancement
  • Version set to 3.2.1

ramiy3 years ago

comment:9 SergeyBiryukov3 years ago

  • Milestone set to Awaiting Review

ramiy3 years ago

ramiy3 years ago

comment:10 scribu3 years ago

  • Cc scribu added

comment:11 steveagl3 years ago

  • Cc steveagl added

comment:12 westi3 years ago

Please remember that every change needs reviewing and testing and you are trying to change a large number of strings here where each one needs checking to ensure the suggested change is correct.

It would be better to focus on fixing strings that make translation hard or impossible than going on a huge drive against duplicate / similar strings like this.

comment:13 follow-up: ramiy3 years ago

Do you want me to open 50 tickets for each string change? or 50 paches in this ticket?

i can do both.

Last edited 3 years ago by ramiy (previous) (diff)

comment:14 in reply to: ↑ 13 westi3 years ago

Replying to ramiy:

Do you want me to open 50 tickets for each string change? or 50 paches in this ticket?

i can do both.

I would prefer neither.

I think it is more important to focus effort on the strings which are currently impossible for some people to translate. e.g. #13651

For this ticket I would rather you focus on a patch per string you want to consolidate to and also note where the string is used in the UI (especially if it is used in context with other strings).

comment:15 ramiy3 years ago

Peter if you check carefully you will see that most of the strings here need to capitalize a letter, add a dot or remove space. Those are minor changes. Many changes but each is minor.

comment:16 demetris3 years ago

Another thing I would like to add:

Before we start consolidating similar strings, I believe we should have some basic UI Text guidelines in place, like guidelines on punctuation and on capitalization. For example, what kind of capitalization do we apply to the text of each of the various UI elements we have in the dashboard?

comment:17 ramiy3 years ago

I agree, we need guidelines. either in ticket #14039 or in the wordpress codex.

(but i think that adding a dot or removing spaces, can be done without the guidelines.)

comment:18 SergeyBiryukov3 years ago

While most of the replacements are valid, there are a couple changes in 18218.4.patch that don't seem neccessary.

Like in class-wp-posts-list-table.php, where we replace a more meaningful string with a more generic one:

title="' . esc_attr( __( 'Edit this item inline' ) ) . '">' . __( 'Quick&nbsp;Edit' ) . '</a>'
title="' . esc_attr( __( 'Quick Edit' ) ) . '">' . __( 'Quick Edit' ) . '</a>'

And we get exactly the same strings in anchor name and title, which is against #16783.

Or in internal-linking.php:

_e( 'Open link in a new window/tab' );
_e( 'Open link in a new window' );

I guess most of the time target="_blank" links are opened in a new tab, not a window.

That's why I believe westi is right about the step-by-step approach.

comment:20 pavelevap2 years ago

  • Cc pavelevap@… added

comment:21 in reply to: ↑ 4 ramiy2 years ago

More strings:


You are not allowed to upload files to this site.

  • wp-includes/class-wp-xmlrpc-server.php:2738
  • wp-includes/class-wp-xmlrpc-server.php:4211

You do not have permission to upload files.

  • wp-includes/class-wp-atom-server.php:523
  • wp-includes/class-wp-atom-server.php:704

Sorry, you do not have permission to upload files.

  • wp-includes/class-wp-atom-server.php:502

Sorry, this user can not edit the template

  • wp-includes/class-wp-xmlrpc-server.php:3100

Sorry, this user cannot edit the template.

  • wp-includes/class-wp-xmlrpc-server.php:3140

(cannot -> can not ; add a dot.)

comment:22 ramiy2 years ago

The above strings fixed in changeset [20215] (ticket #20216).

comment:23 ocean9023 months ago

  • Cc ocean90 added

comment:24 c3mdigital8 months ago

#19112 was marked as a duplicate.

Note: See TracTickets for help on using tickets.