This topic was discussed a while ago, but nobody opened it, so I suppose I should be the one.
The idea is to post here any time there is a change in a language file (adding/removing/changing strings).
I'm pretty sure I'll not be able to keep track of all the changes here, so do not consider this your only source of information regarding changes to languages.
Anyone is welcome to help as usual, so if you notice changes feel free to post them here.
Maybe in the future we can setup a kind of feed poster based on github or transifex APIs.
I will! Thank you for your support! :)
I follow git via SourceTree. Much easier than to keep up with topics. :)
Especially since I never get e-mail notifications here.
File: themes/default/languages/english/Who.english.php
Lines added:
$txt['whoall_mentions'] = 'Viewing their mentions list.';
$txt['whotopic_likes'] = 'Liking a message in the topic "<a href="%1$s">%2$s</a>".';
Thanks! :)
To note: these strings will "become active" when 1.0.1 will be released. :)
I have to check how to handle the thing in transifex since now we are using the branch patch_1-0-1... maybe leave it like that? And when the branch is merged into master transifex is updated? Should work since I guess we can let few days pass between the merge and the actual release?
Before I forgot (yet again). ;)
ManageMembers.english.php
$txt['membergroups_modify_parent'] = 'Modify parent group';
ManagePermissions.english.php
$txt['permissions_includes_inherited_from'] = 'Inherited from: ';
Before I forgot (yet again). ;)
ManageMembers.english.php
$txt['membergroups_modify_parent'] = 'Modify parent group';
ManagePermissions.english.php
$txt['permissions_includes_inherited_from'] = 'Inherited from: ';
File: Packages.english.php
Lines removed:
$txt['php_script'] = 'The addon archive was extracted, but this addon also comes with a PHP script which should be executed before it will work';
$txt['package_run'] = 'Run';
$txt['package_read'] = 'Read';
$txt['script_output'] = 'Script output:';
$txt['additional_notes'] = 'Additional notes';
$txt['notes_file'] = 'Instruction/Additional notes file';
$txt['package_get'] = 'Package Get';
$txt['sql_file'] = 'The addon archive has been extracted. This addon also comes with a database file containing changes the database needs. You will need to execute this file for the addon to function properly.';
$txt['sql_queries'] = 'SQL Queries';
$txt['browse_installed'] = 'Browse installed addons';
$txt['php_safe_mode'] = 'Sorry, your server currently has PHP set to run in SAFE MODE. This feature is not compatible with SAFE MODE.';
$txt['lets_try_anyway'] = 'Let me try anyway.';
$txt['create_package'] = 'Create a new Package';
$txt['download_new_package'] = 'Download new packages';
$txt['archiving'] = 'Archiving';
File: ManageThemes.english.php
Lines removed:
$txt['current_theme_style'] = 'This theme\'s style: ';
$txt['disable_recent_posts'] = 'Disable recent posts';
$txt['enable_single_post'] = 'Enable single post';
$txt['enable_multiple_posts'] = 'Enable multiple posts';
Done, thanks!
ElkArte 1.1$txt['otp_enabled_help'] = 'Enabling this will add a second factor (one time password) for authentication.';
$txt['otp_token_help'] = 'This generates a secret token for the Google authenticator app. Once the secret was generated use the Google Authenticator app and scan the qrcode.<ul><li><a href="https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCEQFjAA&url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.google.android.apps.authenticator2%26hl%3Dde&ei=wWF0VIGkOsjCOavPgOgG&usg=AFQjCNEP4vq0iRsoESNifBAlu2ksgOwGFQ&bvm=bv.80185997,d.ZWU">Google Authenticator for Android</a></li><li><a href="https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCEQFjAA&url=https%3A%2F%2Fitunes.apple.com%2Fde%2Fapp%2Fgoogle-authenticator%2Fid388497605%3Fmt%3D8&ei=BGJ0VPexMYe3OIOqgdAG&usg=AFQjCNG-SAjiUB7nkssU0dOo4MVDjR1PqQ">Google Authenticator for IOS (Apple)</a></li></ul>';
$txt['otp_token'] = 'Google Authenticator Token';
$txt['otp_enabled'] = 'Enable two factor authentication';
$txt['invalid_otptoken'] = 'Google Authenticator Token is invalid';
$txt['otp_generate'] = 'Generate';
$txt['otp_show_qr'] = 'Show QR-Code';
$txt['otp_required'] = 'A Google Authenticator token is required in order to log in!';
@Jorin: be warned, they most likely will be replaced / extended...
Hm, then better delete them here and wait for the "final release"?
Aaaand I lost track again. Obviously some changes are in "development" (including new/other files like "LikePosts") and others in "dev" (less language changes, if any).
This is disturbing. Please merge them. dev... development... Aaaaaahhhhhh!
Some of them don't even make sense.
They apply to server-stored avatars but not to any server-stored avatar?!
And I can't push to my repository anymore.
remote: Permission to elkarte/Elkarte.git denied to dertuxmalwieder.
fatal: unable to access 'https://github.com/elkarte/Elkarte.git/': The requested URL returned error: 403
...
Really.
Not sure what that trailing /: are ?
"Soonish" will be.
The patches branches are merged in master when the minor is released. For sure, when that happens, they are merged in development as well. But it may be that once in a while patches are merged in development as well.
/me should not write while being tired...
The second server stored should be gallery I guess, of just nothing.
You are pushing to the "central" (elkarte/elkarte) repo, not your:
https://github.com/dertuxmalwieder/Elkarte.git/
Track changes to the dev branch is not really worth at that moment. Honestly it's not worth until a beta is out, and at that moment it will be easier to download from transifex an updated version of the file...
Hm. Not happy with all this. :(
I think I can send you the 100% translated and up to date german package soon. Please upload it to Transifex for me then. O:-)
But why? I mean, just switching the branch should not move the upstream server at all...
Thanks, will try it again tonight.
Dunno what you did on your local repo. :P
Even at sm.org there were multiple "lines" for each "minor" version (1.0, 1.1, 2.0, 2.1). And you have to "re-initialize" the translation of each version (you may just not have seen what was happening, because the procedure was: a team member creates the new "branch", upload the files and let translators access to translations). You can't avoid that, a new minor will bring new features, strings removed, etc. It's impossible to maintain only one translation for everything. And also, while the code is in development is normal that thing change, and language strings as well: new features require new strings, new strings may be wrong, new features may change after a while and strings may have to change accordingly. It's impossible to give the "final version" if it's a development work.
So you have two options: translate everything knowing in advance something will definitely change (and not be upset later because something changed), or wait until everything is almost stable and things should be close to finished.
I know it may sound annoying, but this is what development means. At SMF development was hidden and what you were seeing was just the "last step", so thing mostly settled and just minor changes. Here you can see everything, and you can see what development really means. ;)
Actually, nothing at all. ???
Annoying branching is annoying.
Mind if I'll just wait until branches have settled?
Well, branches are settled, in the sense that they will be from two to three "forever":
master with the "stable" version,
development with the version in development,
* (optional) patch_something with updates for the stable version, that will be merged in master as soon as the patch is released.
... and "dev".
???
https://github.com/elkarte/Elkarte/branches/all
I can't see any dev... (and gh-pages is just for the file with the latest version of the files.)
Upcoming changes that will be distributed in 1.0.2 - part 1
Admin.english.phpStrings removed$txt['avatar_max_width_external'] = 'Maximum width of external avatar';
$txt['avatar_max_height_external'] = 'Maximum height of external avatar';
$txt['option_html_resize'] = 'Let the HTML resize it';
$txt['option_js_resize'] = 'Resize it with JavaScript';
$txt['option_download_and_resize'] = 'Download and resize it (requires GD module)';
$txt['gravatar_groups'] = 'Member groups allowed to select a Gravatar';
$txt['avatar_max_width_upload'] = 'Maximum width of uploaded avatar';
$txt['avatar_max_height_upload'] = 'Maximum height of uploaded avatar';
$txt['avatar_resize_upload'] = 'Resize oversized large avatars';
$txt['avatar_resize_upload_note'] = '(requires GD module)';
$txt['avatar_server_stored_groups'] = 'Member groups allowed to select a server stored avatar';
$txt['avatar_upload_groups'] = 'Member groups allowed to upload an avatar to the server';
$txt['avatar_external_url_groups'] = 'Member groups allowed to select an avatar from an external URL';
Strings added$txt['avatar_max_width'] = 'Maximum width of avatars in pixels (px)';
$txt['avatar_max_height'] = 'Maximum height of avatars in pixels (px)';
$txt['option_resize'] = 'Let the CSS resize it';
$txt['option_download_and_resize'] = 'Download and resize it (requires GD module or ImageMagick)';
$txt['avatar_gravatar_enabled'] = 'Enable use of gravatars';
$txt['avatar_external_enabled'] = 'Enable use of external (remote/URL) avatars';
$txt['avatar_resize_options'] = 'Server storage options';
$txt['avatar_upload_enabled'] = 'Enable the upload of avatars';
$txt['avatar_stored_enabled'] = 'Enable the selection of server stored avatars';
$txt['profile_set_avatar'] = 'Member groups allowed to select an avatar';
Upcoming changes that will be distributed in 1.0.2 - part 2
Editor.english.phpStrings added$editortxt['Split Tag'] = 'Split quote at cursor (ctrl+enter)';
EmailTemplates.english.phpStrings added$txt['admin_backup_database_subject'] = 'A database backup has been taken';
$txt['admin_backup_database_body'] = '{REALNAME},
this email is to to inform you that {BAK_REALNAME} has just downloaded a backup of the database at {FORUMNAME}.
{REGARDS}';
$txt['editing_theme_subject'] = 'Editing of a theme';
$txt['editing_theme_body'] = '{REALNAME},
this email is just to to inform you that {EDIT_REALNAME} is going to edit the template file:
{FILE_EDITED}
of the theme {THEME_NAME} at {FORUMNAME}.
If you know this is not the case, please investigate the event.
{REGARDS}';
Upcoming changes that will be distributed in 1.0.2 - part 3
Errors.english.phpStrings removed$txt['cannot_profile_server_avatar'] = 'You are not permitted to use a server stored avatar.';
$txt['cannot_profile_upload_avatar'] = 'You do not have permission to upload an avatar.';
$txt['cannot_profile_remote_avatar'] = 'You don\'t have the privilege of using a remote avatar.';
Strings added$txt['cannot_profile_set_avatar'] = 'You are not permitted to change your avatar.';
Help.english.phpStrings added$helptxt['avatar_resize_options'] = 'This set of options apply to any avatar loaded to the server by users, either uploaded or retrieved from an external URL.';
Maintenance.english.phpStrings added$txt['security_database_download'] = 'For security reasons, in order to proceed with the download of the backup you have to provide the FTP data:';
Upcoming changes that will be distributed in 1.0.2 - part 4
ManagePermissions.english.phpStrings removed$txt['permissionname_profile_server_avatar'] = 'Select an avatar from the server';
$txt['permissionhelp_profile_server_avatar'] = 'If enabled this will allow a user to select an avatar from the avatar collections installed on the server.';
$txt['permissionname_profile_upload_avatar'] = 'Upload an avatar to the server';
$txt['permissionhelp_profile_upload_avatar'] = 'This permission will allow a user to upload their personal avatar to the server.';
$txt['permissionname_profile_remote_avatar'] = 'Choose a remotely stored avatar';
$txt['permissionhelp_profile_remote_avatar'] = 'Because avatars might influence the page creation time negatively, it is possible to disallow certain member groups to use avatars from external servers.';
Strings added$txt['permissionname_profile_set_avatar'] = 'Select an avatar';
$txt['permissionhelp_profile_set_avatar'] = 'If enabled this will allow a user to select an avatar.';
Modlog.english.phpStrings added$txt['modlog_ac_database_backup'] = 'Database backup taken by {member}.';
$txt['modlog_ac_editing_theme'] = '{member} edited a theme.';
Packages.english.phpStrings added$txt['package_ftp_bad_server'] = 'Could not contact server.';
Reports.english.phpStrings removed$txt['group_perms_name_profile_server_avatar'] = 'Select a server avatar';
$txt['group_perms_name_profile_upload_avatar'] = 'Upload an avatar';
$txt['group_perms_name_profile_remote_avatar'] = 'Choose a remote avatar';
Strings added$txt['group_perms_name_profile_set_avatar'] = 'Select an avatar';
Sorry for the multi-posting, but I think it's cleaner this way.
The changes listed in the previous 4 messages are going to happen in 1.0.2 (estimated for December the 8th).
It's my fault for most of them (just one is
@Spuds's fault lol), so... feel free to blame me. :P
Hey hey now, don't try and use me as a shield :P :D
Upcoming changes that will be distributed in 1.0.2 - part 5
Admin.english.phpStrings removed$txt['support_latest'] = 'Common support & issues';
$txt['support_latest_fetch'] = 'Retrieving support information...';
Strings added$txt['latest_updates'] = 'Latest noteworthy updates';
$txt['new_in_1_0_2'] = 'The most significant change in ElkArte 1.0.2 is avatar permission management. Currently each method of setting an avatar is permission-based, requiring the enabling/disabling of each method for each group. With 1.0.2 avatars are simply enabled/disabled by user group, this allows the enabled groups to add an avatar (by all available methods).<br />
The only permission available is a general one to allow members to change or not their avatars. Additionally there is only one setting for maximum width and height of avatars, these values apply to all avatar methods.<br /><br />
Due to the nature of the changes it was not impossible to migrate existing settings to the new format, for that reason you are encouraged to visit the <a href="{admin_url};area=manageattachments;sa=avatars">Avatar Settings</a> page and set the options you prefer.';
index.english.phpStrings added$helptxt['avatar_resize_options'] = 'This set of options apply to any avatar loaded to the server by users, either uploaded or retrieved from an external URL.';
Modified my language files, thanks!
Is this really ManagePermissions.english.php? Or Modlog.english.php?
/me blames copy&paste. O:-)
Again? :D
Always!
So no language file edits with 1.0.2 to 1.0.3?
No idea...
I have to check the code.
We did add a few as noted here: http://www.elkarte.net/community/index.php?topic=2525.msg16836#msg16836 I don't think there were any edits to existing ones.
I just uploaded the mew files to transifex, the untranslated strings are:
$editortxt['Close'] in Editor.{language}.php
$txt['mentions_what'] in Mentions.{language}.php (changed from "mention" to "message"
$txt['whoall_pm_byemail'] in Who.{language}.php
$txt['pm_approve_warning'] in Maillist.{language}.php
$txt['mark_these_as_read'] in index.{language}.php
Hm, I did not get any message about new text passages in Transifex in the "german" language. :o
https://www.transifex.com/projects/p/elkarte/translate/#de
I got few notifications about files being updated, not sure "why" though. :-\
In the home:
https://www.transifex.com/projects/p/elkarte/
are you "watching" the project? (Top right part of the screen, just below the "Translate" button.)
Oh, I did get notifications. They were in spam folder. :-[
Made the changes and translations in Transifex too. Would be great if
@TE could have a look and proof that I did good. O:-)
LOL
It happens quite frequently, don't worry. ;D
In 1.0.4 there will be few new strings, sorry for the late notice. :-[
Packages.english.php
Changed
$txt['file_location'] = 'Location of file';
to
$txt['file_location'] = 'Download';
Added
$txt['bug_location'] = 'Issue tracker';
$txt['support_location'] = 'Support';
$txt['mod_hooks'] = 'No source edits';
$txt['mod_date'] = 'Last updated';
$txt['mod_section_count'] = 'Browse the (%1d) addons in this section';
Thanks.
Now I have a problem with "issue tracker". Can't find a good german translation, so I start with "Problemspürhund", which is a sniffer dog sniffing for problems. ;)
ehh... I'd have a problem in Italian as well. In Italian I would translate it to "bug tracker" that should be something understandable, because as far as I know there is no proper way to translate it...
Why new strings are not added at Transifex? I think that it should fetch new lines by now.
hmm... it seems like transifex doesn't like any more the github urls...
I gave it a nudge just now, let's see if it is enough.
Maybe
@TE has an idea, otherwise I'll try uploading the file if tomorrow or so it's not yet synchronized.
Transifex should have updated the files automatically....,I'll check it tomorrow,I have an idea why the auto updates failed.
I got the notification now that the file was updated.
What I did yesterday evening was edit all the urls and just confirm them, it may be something happened last time it checked and it disabled the urls... dunno... :(
Great! I started to translate with Transifex and now it isn't loading any more. "Page unavailable". >:(
Seems to be a temporary failure.. It's working without issues for me.
That fixed it. I don't know how often those auto updates collect the new strings but we're problaby too impatient with transifex.
Well, next to each url there was a notice "url not found" or something similar (I forgot to take note of it).
So, probably something was wrong. Better keep an eye every once in a while. :)
Problems like these are the main and only reason why I am refraining from helping more with the translation :/ Every single string that was left over is... Unsure. And I definitely don't want to mess it up.
You are just plain lazy. :P
Well I contributed quite a bit tonight, reviewed most of the unreviewed strings (and fixed some of them, too), and translated some parts. ;)
That's good. ;D
Ah for the sake of consistency... I have seen that the majority of the strings has "e-mail", I have changed the "email" ones that I have seen. It's annoying in Italian because you could use both >_< Will try to do something more when I have some time :)
In almost any language you can use both. :P
Anyway, yes it was decided to pick the version with the dash.
BTW, there is a topic around to discuss issues about the Italian translation (in case it's necessary).
I've left some strings to be reviewed when I was unsure. I'll make sure to either double check or discuss about them :)
WEW, never knew about it ;D Still the majority won in the translation, so I figured it was like that.
A couple of strings added to the code for 1.0.5:
$txt['redirect_board_to'] = 'Redirecting to %1$s';
Used as title of the redirect boards icon.
And:
$txt['likemsg_are_you_sure'] = 'You already liked this message, are you sure you want to remove your like?';
A popup warning message when someone is going to remove a like from a message.
Cool beans, since I mistakenly clicked on Like twice or unliked a previously liked message without actually wanting to do so O:-)
Is there a mistake in Admin.english.php in Transifex?
Some "not" too much here?
Translation done, thanks!
While preparing the package I noticed I forgot to post here a couple of changes... O:-)
In ManageSettings.english.php a new string has been added:
$txt['custom_edit_options_no_default'] = 'Do not set a default value.';
And in index.english.php, the string:
$txt['show_ignore_user_post'] = 'Show me the post.';
has been changed to:
$txt['show_ignore_user_post'] = '<em>[Show me the post.]</em>';
Thanks. I already changed the files. Can anyone upload them to Transifex for me please?
I will always offer the actual languages files here in my board too: http://support.elkarte-hilfe.de/index.php/topic,110.0.html
Why wasn't the one in index.english included into the template, not to break translations? I think it's fairly possible to use an before calling the text string...
@Jorin your translation contains at least an outdated string: $helptxt['cache_memcached'].
It was updated with 1.0.5.
In 1.0.8 two new strings has been added in Post.english.php:
$txt['error_new_reply'] = 'while you were typing a new reply has been posted. You may wish to review your post.';
$txt['error_new_replies'] = 'while you were typing %1$d new replies have been posted. You may wish to review your post.';
Are you sure? https://github.com/elkarte/Elkarte/commit/3a191d3bdb19f2a32a3cf26f120ba308d49dfa2a
They are already in Post.english,php. :o
Yep, the only thing changed is the case of the first word, from "w" to "W".
lol
In 1.0.10 there will be a (small) bunch of new strings, they are not yet on transifex.
Here they are.
Admin.english.php:
$txt['attachment_autorotate'] = 'Detect and fix improperly rotated images';
Help.english.php:
$helptxt['attachment_autorotate'] = 'Selecting this option will allow the system to detect rotated images, typical of phone cameras, and automatically adjust the orientation such that the image top is oriented up.';
Profile.english.php:
$txt['profile_warning_effect_moderate'] = 'All users posts will be moderated.';
ETA: I'm a bit sleepy, isn't transifex auto-updating the list when master is update?
If so it's just a matter of wait... or maybe not... Heck I forgot how it works! :'(
@Spuds Seems like the smiley isn't parsed? :)
:)
Test
:)
The "usual" problem with the footnotes. I thought I solved it a while ago, but popped up again... :-\
'All users posts will be moderated.'
I imagine that should be something like "All of this user's posts" ;)
(or otherwise "all user posts")
I think this topic is not actual, right? ;)
Where does it say that? I only see "Updated Topics" (under new posts)
Maybe you missunderstood. This topic should show all changes to language strings for new versions/updates/upgrades, which makes it much easier for translators like I am. I can't work with Transifex, it hates me. ;) But I fear we lost the actuality here in this topic a while ago.
I don't think we changed anything since 1.0.10. :P (Unless I forgot, of course.)
For 1.1 is quite difficult to give a list (actually I would say unrealistic), the best offer is upload the 1.0 translation to the 1.1 repo at transifex and download the result, this should give you all the translated strings back leaving untranslated all the new ones and the changed ones (although I'm, not sure about the changed).
It's not I'm turning down your help, but please consider it's not really feasible to note down in a topic each and every string that changes during development of a minor/major version by hands. Both because strings may change multiple times, people may forget to track and another 100 reasons or so.
Of course, I'm not saying transifex is perfect (on the contrary, I myself don't like it that much), but at the moment it's the only tool we have available for the job (and despite even my own personal preferences it does the job pretty well in terms of features: we have API we can use to fetch and automatically build new packages, it automatically updates from the github repository when strings change, it shows changed strings in the UI, shows alerts on problematic translations, etc. the user interface is indeed somehow lacking, no doubts).
If you or anyone else have a better proposal, feel free to talk about it. ;)
The only solution I may think at this moment is:
1) we have the 1.1 repo at transifex,
2) we create a new "version" in the download translations section here at elk.net
3) you download the packages from there.
I'll just drop in here that I've heard some good things about https://weblate.org/ (but I've never used it).
Transifex is okay. The notifications of changes, the concordance and the suggestions based on similar previously translated strings are useful, but I imagine any half-decent translation system offers that.
Features wise seems to be comparable to transifex,
@Jorin if you have time feel free to give it a try (there are quite a bit of projects, you can drop a translation or two to get the feeling), it's useless to change without knowing if it is be good or not. :)
Okay, I will test it on the coming weekend.
I'm still having a bit of a hard time setting up properly transifex for 1.1, I thought I did a while ago, but apparently I messed up the pushing of changes, so I'll have to test it out a bit.
In the meantime, translations on elkarte.net will still be for 1.0... sigh.
Well, it happens, I'll try to document things, so next time we will be prepared...
1.1.2 is coming, there are some new strings, I don't have them handy, sorry.
Will post them during next week.
The translation for 1.1. into informal german is nearly done, :) I hope, we can finish it during the next days.
Emanuele, can you please post the new strings, which were not included in the language files from 1.1.?
Ouch, I lost that one.
Will look tomorrow, and if I don't bump this topic.