textpattern / textpacks

Textpattern CMS language files.
https://textpattern.com
GNU General Public License v2.0
23 stars 22 forks source link

Minor string changes - New vs Create, and plugin panel alterations #266

Closed Bloke closed 6 years ago

Bloke commented 6 years ago

See https://github.com/textpattern/textpattern/commit/f8caf3e91783bca83604f01e74c0cdfefc6940ca and https://github.com/textpattern/textpattern/commit/05ac57d5e9d85ff3c3f089dfcbb8b3407337f8c9 and https://github.com/textpattern/textpattern/commit/02d7c95c883e0a98693d61d5282d0d3cdc17a19c.

New strings

[common]
code="Code"
[plugin]
search_plugins="Search plugins"

Altered strings

Change Create to New in the following strings:

add_new_author="New author"
add_new_article="New article"
create_new_category="New category"
create_new_css="New style"
create_new_form="New form"
create_new_page="New page"
add_new_link="New link"
create_section="New section"
create_skin="New theme"
philwareham commented 6 years ago

I don't understand - why do we have just 'New' for some of these now and 'New ..something' for others?

Bloke commented 6 years ago

We don't. Those 'New something' strings are just for the edit panel headings. All other buttons and links are just 'New'. You could leave the headings as 'Create something' if you like. Just thought that using buttons with 'new' and headings with 'create' might be less intuitive. Up to you.

philwareham commented 6 years ago

Ah, I see. OK, will amend this afternoon sometime.

Bloke commented 6 years ago

Hang fire on this please. Oleg found an issue with the strings.

Bloke commented 6 years ago

@philwareham Let's not alter/delete the strings for now. I've removed the ones I identified as not needed from the OP so we can keep them just in case. Then at least if we do have to retain the 'New something' button labels to cater for other languages, we can partially revert https://github.com/textpattern/textpattern/commit/f8caf3e91783bca83604f01e74c0cdfefc6940ca to use the same button label as edit panel heading.

Will drop you a line when we've figured something out so it doesn't involve unnecessary translation effort and reconfiguration of Crowdin. Sorry for the hassle.

Bloke commented 6 years ago

I've updated the OP.

Got rid of new and reverted to the old string keys. So all it requires is changing those from 'Create something' to 'New something', plus the two new strings for additional functionality on the Plugins panel.

philwareham commented 6 years ago

OK. If I've got to delete and change all these 'create/new...' strings on Crowdin and get translators to re-translate, I might as well take the opportunity to make the string names consistent. They are all over the place right now.

Bloke commented 6 years ago

There are no key deletions or changes now, but if that's how Crowdin works - i.e. you have to delete an entire string (key + its text) just to change its translated text - then by all means feel free to make it more consistent!

I was hoping this latest change could be done softly softly over time, i.e. only bother translators with the two new strings now, since 'Create' and 'New' are only semantically different and avoid a slight ambiguity in a few places. If some languages still had the equivalent of 'Create' instead of 'New' it's not the end of the world.

But I guess Crowdin doesn't work that way and if you tweak the translation of the master language, it invalidates all equivalent translations with the same key, right? That's a bind...

philwareham commented 6 years ago

You either change the base translation and keep all previous translations or you change the base translation and wipe all translations.

If the string name itself is changed, or the string is moved to a different part of the .ini file, it all needs new translations. Hence why I push back sometimes when location changes are requested. I usually manually re-instate those translations by hand - which is a bind, as you say!

It boils now to whether we leave the old translations in-situ. Remember that most of them were translated when the original string texts were 'Create new ...something' (we opted to keep existing translations for those when we amended the English Textpacks to 'Create ..something') so it's probably sufficiently different now to warrant a total re-translation.

Bloke commented 6 years ago

Hmm, yeah maybe. Up to you if you want to badger the translators now or we pretend this is a change that occurs in 4.7.1 (or later) by doing English only now and wiping the remaining strings in future! I'm fine with leaving them with their higgledy piggledy create_something or add_new_something keys names since it's less work. But if you're going to wipe the translations anyway then by all means re-key them.

I think the only one that might catch us out is the 'skin' one because that's not easily greppable: it's made up as 'create_'.$event in the code. I think all the rest are straighforward search/replace jobs.

It's a real pain you can't move a string or re-key it without wiping the translation. Are there any plugins or scripting languages (API?) available for Crowdin that would allow us to:

  1. Stash all translations for a given key.
  2. Alter the key and wipe translations.
  3. Reinstate the stored translations from step 1 to the new key.

Thus, key changes/moves, but translation stays the same.

philwareham commented 6 years ago

I think the only one that might catch us out is the 'skin' one because that's not easily greppable: it's made up as 'create_'.$event in the code.

Yes, why was that? I've just changed it in core to be hardcoded 'create_skin' but if is incorrect please revert that particular string name.

Bloke commented 6 years ago

Yes, why was that?

I think it's probably a holdover from when that function was applicable to all assets so that Nicolas could use the same function to notify people of create page, form, style or entire theme. I couldn't see a reason for it to be anything else in this implementation, because the common code for the assets is in a separate file now, but I didn't touch it just in case I'd missed something!