HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Report Missing Localization Strings Here
Todd
Vanilla Staff
Hi all. I'm trying to get the translations of Vanilla up to date. Part of that change has been putting the translations into [transifex](http://transifex.com). (See the discussion about that [here](http://vanillaforums.org/discussion/20639/attention-translators-you-can-now-help-translate-vanilla-online)).
The other part of that is making sure that the text that needs to be translated is up to date. I spent a good couple of days trying to get all of the text out of the current application and into a database. This is a fairly complex task and I most certainly missed some text and probably added some text that no longer needs to be translated.
If you see any text that needs to be translated still then report it in this discussion.
The other part of that is making sure that the text that needs to be translated is up to date. I spent a good couple of days trying to get all of the text out of the current application and into a database. This is a fairly complex task and I most certainly missed some text and probably added some text that no longer needs to be translated.
If you see any text that needs to be translated still then report it in this discussion.
Tagged:
1
Comments
Hi again!
Should I report bugs/problems in this topic? There are for example bunch of strings like Activity.DiscussionComment.FullHeadline that seem to miss also from the original translation and result is that %8$ is untranslatable at the moment.
Hi @Sheila, I've moved your question to a new thread here. Thanks again for your help and feedback.
You're welcome! I don't know whats wrong with me since I love doing localizations..
Here's a first list for the Core:
Activity.AboutUpdate.FullHeadline
Activity.AboutUpdate.ProfileHeadline
Activity.ActivityComment.FullHeadline
Activity.AddedToConversation.FullHeadline
Activity.AddedToConversation.ProfileHeadline
Activity.ActivityComment.ProfileHeadline
Activity.AnswerAccepted.ProfileHeadline
Activity.Default.FullHeadline
Activity.Default.ProfileHeadline
Activity.DiscussionComment.FullHeadline
Activity.DiscussionComment.ProfileHeadline
Activity.DiscussionMention.FullHeadline
Activity.DiscussionMention.ProfileHeadline
Activity.Import.FullHeadline
Activity.Import.ProfileHeadline
Activity.JoinApproved.ProfileHeadline
Activity.JoinCreated.FullHeadline
Activity.JoinCreated.ProfileHeadline
Activity.JoinInvite.FullHeadline
Activity.JoinInvite.ProfileHeadline
Activity.NewDiscussion.FullHeadline
Activity.NewDiscussion.ProfileHeadline
Activity.NewRoles
Activity.RoleChange.FullHeadline
Activity.RoleChange.ProfileHeadline
Activity.SignIn.FullHeadline
Activity.SignIn.ProfileHeadline
Activity.WallComment.FullHeadline
Activity.WallComment.ProfileHeadline
EmbeddedNoBodyFormat.
GenderSuffix.First.f
GenderSuffix.First.m
GenderSuffix.Third.f
GenderSuffix.Third.m
markallviewed
Permission.Category
With these I'm not sure:
{ActivityUserID,You} earned the {Data.Name,text} badge.
{RegardingUserID,You} banned {ActivityUserID,you}.
{ActivityUserID,user} commented on {Data.Name,text}
{ActivityUserID,user} {Data.Name,text}
{ActivityUserID,user} mentioned you in {Data.Name,text}
{ActivityUserID,You} joined.
{RegardingUserID,You} changed the profile picture for {ActivityUserID,user}.
{RegardingUserID,You} unbanned {ActivityUserID,you}.
{ActivityUserID,You} warned {RegardingUserID,you}.
$%7.2f
< a href="{SignInUrl,html}"{Popup}>Sign In or < a href="{RegisterUrl,html}">Register< /a> to comment.
{InsertUserID,User} warned {WarnUserID,User} for {Points,plural,%s points}.
{InsertUserID,User} warned {WarnUserID,User} for {Points,plural,%s points} (just a notice).
Hello {User.Name}!⏎
You have successfully registered for an account at {Title}. Here is your information:⏎ ⏎ Username: {User.Name}⏎ Email: {User.Email}⏎ ⏎ You can access the site at {/,exurl,domain}.
You are about to ban {User.UserID,user}.
You are about to unban {User.UserID,user}.
{InsertUserID,user} added {NotifyUserID,you} to a < a href="{Url,htmlencode}">conversation< /a>.
Ah, the first group are things you've probably either already translated in another form, or don't need to translate because they don't apply to your language (like gender suffixes).
The second group is for the newer version of Vanilla in development. When you see curly braces in a string that means that it puts data from the activity or whatnot in the string. It's easier to use that the
%1s
style syntax and has some advanced formatting options.The user formatting may be the most useful. When you see something like
{ActivityUserID,User}
that means to display the user.User
means to display the username. You can also douser
to display the username in lowercase.You
oryou
will display the word you if the user matches the user that's viewing the page.So in the above example you can always just user the
user
style format if your language needs more advanced formatting for theyou
style format.The first group has items that seem to mess my current production translation. For example Activity.DiscussionComment.FullHeadline results 'Uusi kommentti seuraamassasi discussionessa, lähettäjänä xxx.' meaning that the phrase for discussion is missing and I'm not able to override that. Basicly thou when thinking of it further, what the current translation might miss, is translation for 'discussion'.
Agree. Just superb development, great!
Hi again!
Could strings like 'Activity.DiscussionComment.FullHeadline' be fixed soon? They can't be even overridden in Transifex atm since when trying to lose a string that gives undefined word, there's error with message 'The number of arguments seems to differ between the source string and the translation.' that prevents saving.
I created my forum from scratch with and I was "Welcomed to Vanilla!" instead of to my forum name. I think that line is missing.
I have a problem with some untranslatable strings in core:
etc. need a placeholder at the least and complete spelling ot in an ideal world.
For example, my translation for "their" needs to look like this:
It depends on the first sound in X if a /am/ an /a' or an t- etc. is used.
P.S. and I found a typo:
What about v2.1? Is there any category on Transifex for 2.1beta? I couldn't find!!!
Althouth the string
Anchor(T('Statistics Documentation')
is in both 2.1b2 and 2.0.18.10, but it's not available on Transifex trunk!It's in this file
applications/dashboard/views/statistics/index.php
and is showed up here:/index.php?p=/dashboard/statistics
A minor issue: the string
clicking here
should be included in dash_core file because it is a part of gettingstarted plugin while now it's located in site_core file.customize your profile now
has the same problem!Guys, I completely translated the dashboard and the site core in italian with all the missed strings from transifex and then ordered alphabetically.
I'm still updating on every Vanilla update since I'm starting a personal community.
If you want it, let me know, I spent almost 4 months to catch and translate every single string and I will be glad to share with the community.
Not translated strings:
"Your password must be at least 6 characters long.", "Too Short", "Weak", "Ok", "Good", "Strong" - (example.com/entry/register?Target=%2F);
"Move" - (example.com/discussion/2 click cogwheel button);
"edited" - (example.com/discussion/2);
"the category" - (example.com/vanilla/post/editdiscussion/2);
"Delete Comment" - (example.com/vanilla/post/editdiscussion/2);
"Are you sure you want to delete this comment?" - (example.com/vanilla/post/editdiscussion/2);
"Confirmed email address" - (example.com/profile/edit);
"Notify me when people comment on discussions I've participated in." - (example.com/profile/preferences/1/YourName);
"Expand for more options." - (example.com/categories look into source code);
"Show moderation queue for" - (example.com/dashboard/log/moderation);
"Filter" - (example.com/dashboard/log/moderation);
"Everything" - (example.com/dashboard/log/moderation);
"Email is confirmed" - (example.com/user/edit/3);
"Unconfirmed" - (example.com/user/edit/3);
"Whoops!" - (example.com/discussion/close#Head);
"Yes, continue" - (example.com/dashboard/log/edits check one and click Restore);
"No, get me outta here!" - (example.com/dashboard/log/edits check one and click Restore);
"Internationalization & Localization" - (example.com/dashboard/settings/locales)...
'...sent you a message" - (email notification template);
Is this collection still desirable? As far as I can see, some strings from the postings before are still missing. Some more examples are:
Draft.Delete
fromapplications/vanilla/views/drafts/drafts.php
Your password must be at least %d characters long.
fromapplications/dashboard/views/entry/register*
Select a category...
fromlibrary/core/class.form.php
Please give feedback, if new findings will be processed and added to Transifex.
I've written a small script which searches for all calls of
T(string)
in the code and extracts those string, which are not in Transifex, i.e. which are not known in the localization file:Currently, it produces a list of 282 missing strings for the vanilla code at GitHub. All these strings have to be added to Transifex. Due to the length, I'm not posting them here -- you can run the script on your local site with the current code and localization files from transifex to get the list of missing strings.
@Todd, could you please add these strings to transifex?
Not translated String (as I've seen so far):
"View Profile"
I have added this in site_core.php and I was able to translate this manually. But in Transifex, it is not available to translate.
It looks like the key was actually added to our locales repo yesterday. I'm quite surprised that it wasn't already there.
In any case the translated string should be available in most languages in the next few weeks.
I have found another non translated string: "Show popular tags".
Again, I have added this in site_core.php and I was able to translate this manually. But in Transifex, it is not available to translate.
Thanks!
There is currently some manual synchronization required to go back and forth between github and Transifex. We're currently in the process of modernizing this so it happens automatically (we were planning to try and wrap up this week, but the developer that was working on it has been sick for a few days).
Perfect