Closed mrflos closed 7 years ago
Hi Florian,
This is something we definitely want to do, but it might make sense to hold off at the moment as we're in the process of revamping the entire UI, and any translations done now might then just have to be re-done. We should make sure as we code the new UI that we set things up to make translation easy...
@kentonv ok thank you, i will follow the future changes, and propose something when the time comes! Happy coding!
Has this progressed at all?
Weblate - continuous translation is a nice app to keep the translates update..
Is there some suggestion of entry point about how to localize Sandstorm?
There's a blurb here:
https://github.com/sandstorm-io/sandstorm/blob/master/CONTRIBUTING.md#internationalization-i18n
@kentonv, suggest re-opening this?
Yap I have found that, but I think I need a mentor teach me about how to change HTML templates since I'm new to Meteor. I even don't know where to find the template files :cry:
Re: getting started with meteor, I'm sympathetic -- we could really use a few more active people who knew their way around the framework -- but unfortunately, I'm not that, and am not really in a position to do mentoring on the topic of meteor (the size of which has somewhat discouraged me from trying to hack on sandstorm core myself...). All I can suggest is going through the tutorial on meteor.com (the one with blaze, as that's what sandstorm uses).
As to the locations of the templates:
$ grep -r '<template' shell | sed 's/:.*//' | uniq
shell/client/notifications.html
shell/client/setup-wizard/wizard.html
shell/client/widgets/widgets.html
shell/client/billing/billingPromptLocal.html
shell/client/admin/network-capabilities.html
shell/client/admin/personalization.html
shell/client/admin/maintenance-message.html
shell/client/admin/stats.html
shell/client/admin/app-sources.html
shell/client/admin/user-invite.html
shell/client/admin/hosting-management.html
shell/client/admin/user-details.html
shell/client/admin/system-status.html
shell/client/admin/email-config.html
shell/client/admin/user-accounts.html
shell/client/admin/identity-providers.html
shell/client/admin/organization.html
shell/client/admin/networking.html
shell/client/admin/admin.html
shell/client/admin/preinstalled-apps.html
shell/client/grain/grainlist.html
shell/client/grain/contact-autocomplete.html
shell/client/desktop-notifications.html
shell/client/shell.html
shell/client/powerbox-builtins.html
shell/client/apps/install.html
shell/client/apps/applist.html
shell/client/apps/app-details.html
shell/client/styleguide.html
shell/client/grain.html
shell/client/accounts/email-token/token-templates.html
shell/client/accounts/identity/identity.html
shell/client/accounts/login-buttons.html
shell/client/accounts/account-settings.html
shell/client/shell-client.js
shell/packages/sandstorm-ui-powerbox/powerbox.html
shell/packages/sandstorm-ui-topbar/topbar.html
(The meteor app is all under shell/
).
@urakagi
I try to setup the i18n environment with tap-i18n and invite you as a collaborator: https://github.com/caasi/sandstorm/commit/3aedb5ac8a0bd879e8273183b167a35b4bfb2593
If you have a local sandstorm installed, you have to change UPDATE_CHANNEL
in /opt/sandstorm/sandstorm.conf
to none
.
Then you can test translations with:
make shell-build
make update
Should we work together?
@caasi Of course, I'm reading Meteor documents now, and then will try translations with your fork. Thanks!
BTW, I am replacing strings with tap-i18n helpers. You can help me editing en.i18n.json
or start writing zh-TW.i18n.json
.
Hello, thanks for starting this work!
I could do fr.i18n.json
and ru-RU.i18n.json
for french and russian translations.
@caasi : could you tell me when en.i18n.json
is including all the templates ?
Thanks in advance!
@mrflos Ok. I will notify you when en.i18n.json
is ready. It will take many days.
OK, I think I'll start with zh-TW.i18n.json tomorrow. If able I'll also add Japanese and maybe simplified Chinese or Vietnamese.
Awesome to see people working on this. π
Probably my biggest question for translators will be how Sandstorm-specific terminology gets translated, and whether or not we'll also need translation of at least some of the basic documentation on what that terminology is. "Grain" is probably the most critical to get right.
Grain is very...hard to translate to Chinese. (Japanese will be easy though) I think I will use a word with similar meaning on Sandstorm, but not similar to the original definition of "grain".
note: "grain" will be translated to "ζ²η²" which means "sand grain", as this is a "Sand"storm's grain.
@caasi Hello, how are you doing when want to refresh the translation list? I tried "Hakcing on the Shell" in https://docs.sandstorm.io/en/latest/install/, but fails in some root or not root, I don't understand why but Sandstorm tells me to run as root and Meteor tells me you can't run as root and...
Do I need to make
and make install
each time I want to check my translations?
Thank you very much.
*edit: I need to change /opt/sandstorm to be owned by my account (i.e. romulus) rather than root (default). Then hacking on the shell works.
@zenhack Do you know what is Sandstorm's "Startup file" so I can put the language-selecting code into it? Here is the language-selecting code: https://github.com/TAPevents/tap-i18n#quickstart, Step 4
I think the call to Meteor.startup in shell/client/shell-client.js
is probably the right spot.
Quoting θ‘δ»²ζ (Romulus Urakagi Tsai) (2017-08-16 23:53:51)
[1]@zenhack Do you know what is Sandstorm's "Startup file" so I can put the language-selecting code into it? Here is the language-selecting code: [2]https://github.com/TAPevents/tap-i18n#quickstart, Step 4
-- You are receiving this because you were mentioned. Reply to this email directly, [3]view it on GitHub, or [4]mute the thread.
Verweise
@urakagi:
I make shell-build; make upgrade
every time as a normal user with the sudo permission(ubuntu
in this case).
Any suggestions to speed up this process?
@caasi
I have not tried shell-build; make upgrade
, but by https://docs.sandstorm.io/en/latest/install/, section Hakcing on the Shell
, I have this console:
Then, when any change occurs under shell/
directory, the front-end will reload automatically.
@caasi , I made a small language sync tool for new keys, and it will sort json by keys. Is it troublesome to you?
Yes. Please do not reorder keys before I finish en.i18n.json
.
I keep the key order to match the structure of html templates. Can you make your tool to keep it?
Okay I have modified the sync tool to keep json order. Please help me check if en-i18n.json
has correct order now. (It's output of the sync tool)
Yes. Thank you. Now I can rebase my commit. π
BTW, can you remove trailing spaces next time?
Okay, I have removed it.
thanks @kentonv for the list
en.i18n.json
status:
Hi all,
I'm very excited to see this happening! The approach taken in @caasi's fork looks good to me. Please keep us updated on progress!
By the way, note that the identity refactor branch is likely to be merged in about a week:
https://github.com/sandstorm-io/sandstorm/pull/2960
This is a huge change to Sandstorm's code. Not a lot of words have changed in the UI, but some templates have been refactored, so this might be a disruptive merge. I think it should be safe if you want to merge/rebase that branch now and work on top of it, even though it's not in master yet.
Could I start translating to pt-br? At this moment in sandstorm app store haven't any software to hold translations. Can some one port Weblate or Zanata into ss?
@urakagi Glad to know that I am not the only one translating it into Chinese! I will joint you to work on the Simplified Chinese version, soon.
For now I have tentatively translated Sandstorm to γζ²ε‘γbecause of γθζ²ζε‘γ, Grain γζ²η²γorγι‘η²γ, and some more in my own fork for the sandstorm.io website, check it out if you're interested.
@malsony Hello :smile: Sandstorm has been translated into γζ²θι²γ Taiwanese Government officially in some announcements, since it's a "cloud" service. (I don't know why it's not θζ²ι², but well it already happened)
@caasi
Do you have idea about how to i18n this string in JS file? https://github.com/caasi/sandstorm/blob/fddb08a1b2f809e14a392ee5a0daac8ce0155234/shell/client/grain/grainlist-client.js#L253
@urakagi OK, I'll follow the branch of @caasi to use his i18n table. And what should we do in case there is any new special terms?
Might make sense to do what Wekan does and setting up something like Transifex once this is merged in, so people can work on translations for all of the different strings in different languages, and then Kenton can just push one button to merge the updates in.
@malsony I think there's none, but you can check zh-TW.i18n.json here: https://github.com/caasi/sandstorm/blob/master/shell/i18n/zh-TW.i18n.json
@kentonv Looks like I need to check every changes of #2960. I will do it after we complete the English language file.
@malsony I will give you the commit bit. Please check your mail. ^^
@urakagi I think we can translate strings in JS files by using TAPi18n.__
function. check TAPi18n API for more information.
@caasi @kentonv It seems like most of template files are replaced. Do we have a merge plan?
A translated version will run like this: (Only visible if your navigator.language is zh-TW or zh-CN) http://104.199.144.209.xip.io:6080/
I think there are some files need to be done:
I'm working on the wizard page.
After we finish those pages, someone should rebase to the upstream. Expecting a lot of conflict.
@caasi I have replaced powerbox.html, and it seems like widgets.html and billing...html has nothing to replace. Is wizard page also done?
@urakagi I'll finish the wizard page tonight.
I'm merging and fixing modified templates (13), this will take several days.
@caasi @kentonv I have done merging, please check if I made something wrong. If there's no problem we may make a pull request.
@urakagi
Thanks for your hard work.
I am ok with it. I think we can patch missing translations in js files later. So you guys in PDIS can have the Chinese version ASAP.
Would you like to initialize the pull request?
@caasi Okay, I have made a pull request #2985. This is my first PR, please remind me if I'm doing anything wrong. Thank everyone very much.
Hey all,
I'm pretty excited about this! Of course, it's a rather huge change so I'll have to spend some time reviewing. I only work on Sandstorm on weekends, so this might take a few weeks. But I really want to get this in so I'll do my best.
Update confirmed, thank you @kenton @cassi and everyone!
Anyone close this issue or?
Now is able to translate? Where i find files to translate to pt-BR.
I would like to contribute to this project by allowing to change the language of the sandstorm admin bar. Any plans or guidelines for doing it?