Good day!
After using metabase, I think that it'll be ok to add mechanisms to translate and localize frontend.
Cause frontend use angular, one of decisions to do it - use angular-gettext module.
⬇️ Please click the 👍 reaction instead of leaving a +1
or 👍 comment
+1
(BTW we're moving away from Angular, most of the frontend uses React now)
Maybe use a public https://www.localeapp.com/ project to do the translation work?
+1
Guys, I can translate to pt-BR and pt-PT keeping all the good humor that Metabase have. =)
I can translate to Czech
Jakub Dubrovský
Tel: +420776296699 Skype: jkdubr
social: http://www.linkedin.com/in/jakubdubrovsky | https://twitter.com/JakubDubrovsky | http://www.facebook.com/jakub.dubrovsky
On 16 Jun 2016, at 19:14, Mauricio Romano Leite [email protected] wrote:
Guys, I can translate to pt-BR and pt-PT keeping all the good humor that Metabase have. =)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
+1 I can translate to Dutch
I can translate to Russian
OK, I guess we can support that if Metabase have a file with all texts used in English. Then, it's easy to translate quickly.
What you guys, Metabase members, think?
If you want to add localization support to Metabase, we are here to help.
+1 to chinese
+1 to persian , just remember RTL support in config files.
خیلی خوب ,بابا @shSina
+1 for french :)
+1 I would translate for spanish
I could help to translate for Spanish to if you want
I can translate it into en-gb
if you want 🇬🇧
So how can a new user take participate in this ?
pt-br
Can help on pt-br translation...
Any news about this issue?? I can translate it into ru-Ru.
+1 I can help with Spanish (Latin America)
+1 I'll help with german 😃
:+1: I can help with Polish.
Is there a way to do that?
/cc @tlrobinson @camsaul (sorry for mentioning you without contentment)
First of all, thank you a lot for this project, it's absolutely amazing!
Could you give some guidance or suggestion on how to proceed with this? It seems to be really relevant feature, and there are lots of potential contributors (including me, as well) popping up here...
@geovanisouza92 Assuming that you know the base stack, I think that cloning and making a proposal following i18n, and using a well know library to do that (https://github.com/yahoo/react-intl, https://github.com/i18next/react-i18next, https://github.com/ptaoussanis/tower) will be your next step
Hi everyone, we're in the process of discussing how Metabase localization is going to work from a technical standpoint. We'll definitely be looking for help with translations once we get everything in place to use them. We'll keep you guys posted 👍
I like the idea of using ES6 tagged template literals https://jaysoo.ca/2014/03/20/i18n-with-es2015-template-literals/
I can help for a french translation, as it can (and will) be useful in the company I work for.
I'm available to translate to pt-br as well! :) Metabase is great project!
I am available for Russian localization.
@camsaul Do you have an ETA for the localization effort?
@vitorbaptista we're planning on working at this at some point in the future but we don't yet have a concrete date for it.
I can help with a Norwegian translation.
I can help with Spanish (es) and Spanish México (es-mx)
@camsaul I would like to work on it if the Metabase's team agree.
I work as a freelancer building apps with React/Redux since the beginning, so I have plenty of experience. If you have interest check my profile on Upwork: https://upwork.com/fl/hnordt
The localization feature is very important for me, so I would like to contribute and give something back to the community.
+1 chinese, i can participate in translation
Hi, is there a way to start translating?
I would like not to limit the topic to frontend, as we noticed that in the initialization of out DB metabase parsed the table's and field's names breaking words with an English dictionary. It was interesting but only in English...
BTW, Great work!!
Just noticed that this issue is not being considered by the team in the kanban board :disappointed:
I think this topic puts Metabase in a sort of "take it or leave it" for a lot of people, including us.
We tried the tool, is great! we'd love to be able to use it as a solution for our clients, but they just don't know English (as I do neither :stuck_out_tongue: )
We don't have experience in Java neither React, but we're hoping someone else put a Pull request as a starting point... maybe?
:+1:
This is a MUST. It really surprises me that such a well thought out user experience doesn't have i18n designed right from the start.
This is a blocker and should be attended immediately before you add more features which will later need to be translated!
Any official plan to localize Metabase ?
@narigondelsiglo we don't really use the kanban board any more. @salsakran maybe a reason to either update it or delete it? Sounds like it's confusing people
In any case, is there anything we can do to help get the localization project moving?
@joebordes we're planning on working at this some point in the near future but don't have a concrete timeframe yet
Is there anything we can do to make it happen? This is a real show stopper for us right now.
Can we help coding or funding or.... ?
^ @salsakran
@camsaul it would be great to know this! If we get some directions from you we might be able to gather resourses, both funding or people, to help you out. I know it is not that simple in a tech projec but it it would really unlock great impact in a lot of countries. I would try to be in with @joebordes
I'm sorry @camsaul but I don't understand your last comment
@joebordes I'm asking @salsakran to chime in because he's the best one to answer that question
got it. thanks!
Hey everyone --
First off, the core team at this point in time is not planning on localizing Metabase in the medium term (eg the next 3 months). There's simply too much surface area, and we're working on a few core missing pieces that will let us reach a 1.0 (eg, a fully baked, production grade, application that can replace anything else on the market). We're focusing out cycles on getting to that point as fast as we're able.
Localization would both take a large amount of time, and slow down future feature development as any feature would be blocked on translation for all docs + labels in all languages. It is this latter aspect that is most worrying.
That said, there are significant ways for you to help us get localization going.
First off, rough inventory of the strings to be localized --
1) User interface labels
2) Admin panel labels
3) Server generated user facing errors
4) Server generated text
5) Documentation
Documentation is the simplest way for someone to help with localization. A fairly complete set of docs and the expectation that there would be a community of people around each language that could help us update them for each major version would be very important. If any of you are willing to take a crack at translating the docs into another language, we'd love the help.
More invasively, if someone was willing to take all the strings used in 1+2 above and replace them with a lookup table and get https://www.npmjs.com/package/react-localization or something similar involved, we'd love to get help on that PR. Something similar would also be needed on the backend.
To sum up, this is definitely a problem we're going to need very significant help from the community on.
More invasively, if someone was willing to take all the strings used in 1+2 above and replace them with a lookup table and get https://www.npmjs.com/package/react-localization or something similar involved, we'd love to get help on that PR. Something similar would also be needed on the backend.
Just wanted to note that if you want to tackle this you should post a PR of a prototype for feedback before actually going through the effort of localization the entire app.
I kind of like the idea of using template literals for i18n: https://jaysoo.ca/2014/03/20/i18n-with-es2015-template-literals/
well, that isn't a very inspiring answer. I read: you are in a too much of a hurry to do it right so you will end up having more work going forward
In any case, ok, I will try to keep an open mind and follow your lead. let me get more of a feel of the application and your project management philosophy
👍 would be very useful.
I can also help to translate to pt_BR :)
Thanks for your answer @salsakran and @tlrobinson! Altough I really want localization to become a reality but I do understand that technology projects are not simple and it is great you are prioritizing core pieces!
Regarding the translation, I would like to raise two points:
1) Do you think it would be acceptable for the project to have only application items translated (1 through 4)? On my point of view it would be acceptable to keep documentation only in english because Metabase is really intuitive and also due to the operational concern that it does add a lot of text for translation and it would be harder to keep up.
2) I would like to validate how you would like to inventory of string should look like. From what I understood, the objective here is to start listing all english strings that will need to be translated. For the front-end I was thinking of adding a strings.js (or txt) file inside each frontend folder following the standard bellow:
\\ES6 module syntax
import LocalizedStrings from 'react-localization';
let strings = new LocalizedStrings({
en:{
how:"How do you want your egg today?",
boiledEgg:"Boiled egg",
softBoiledEgg:"Soft-boiled egg",
choice:"How to choose the egg"
}
});
For the backend strings, I haven't had time to think about it yet.
I'm neither a React or Clojure developer so feel free to say if I'm too far out.
@fernandosjp I don't think the inventory is worth the effort. The way I see it, localization is not something you do when you are finished, in fact, you are never finished, after version 1 comes version 2, it is not a one-shot thing you do at the end. It is not an after-thought, it is an on-going everyday effort.
Localization is an inherent part of your development process, just like creating unit tests or following a commit guideline. The development team must decide what to use and have everyone start using it. Then it slowly starts getting into the process and that is the moment to do the inventory and move all hard coded strings to the selected translating tool.
If you do it now, you will end up with a set of strings that will be quickly obsolete and you will have to review them all when the time comes.
As to it being blocking, I don't see it that way either. Any localization tool will permit you to set a default language to pull from and return the key for untranslated strings. All the hard-coded strings are going to appear as they do now until they are migrated. All you have to concentrate on is two things:
there is no reason to not start today.
@joebordes I don't see it as that simple but I agree with you in two points:
The point here is more on how we can leverage community resources to make it happen without putting all the work on the leadership team. I see there are two fronts:
It would be great if metabase team could gives a hand on first one and we could help to map all strings to make implementation easier.The milestones I have in mind would be:
What do you think @salsakran? Maybe not ideal yet but are we advancing? Once steps are clearer it will be easier to split tasks.
I agree with you. The blocking decision is what to use and to start using it.
I didn't say it was easy :-)
If you agree, it's better to not block this due a Paradox of Choice, so, it's better to build, then build better later. I mean, use the most simple/common approach taken by community, then enhance it.
Hey everyone -
Sketched out a plan on how we're planning on doing this at http://www.metabase.com/blog/Metabase-in-your-language
The most important things here for us are maintaining the quality of the user experience, and maintaining our voice and humor throughout the languages we support.
We'll need a lot of help, as while the core team speaks a number of languages, we don't speak all of them fluently. If you are willing to help us make Metabase in your language a reality, please signup and we'll start!
+1 I can help you with Spanish (LATAM)
ko_KR HERE! ^^
+1 中文 chinese
+1 russian, german
+1 Spanish
+1 ja_JP (Japanese, 日本語) here.
As Metabase is really awesome project I would love to contribute!
Hi,
Sorry to be pushy, I know you guys are working on other issues non-stop but I am seeing new commits coming in with new strings that are not being translated and that worries me. As I said before this has to be a developer mindset change, whenever a developer adds a string he MUST translate it. If he is fixing something and sees a string that is not translated he MUST translate it. It is an ongoing constant effort.
This issue is a show stopper for me and I have to admit that it rather surprises me that, being the goal of the project to make it easy for users to access their information you don't seem to think that having them do that in their language is important.
New year resolution: have everyone on the team translating the strings they add and the strings they find that aren't translated yet :-)
Don't hesitate to reach out if there is anything you think I can help with.
I can help to pt-br too!
i could help with spanish too
I can help with ja_Jp, too!
I can help with PT - BR
QQ group number:297616448 for china, let's talk about metabase with each other.
ps: 'github' is the cipher to join the group.
I can help with PT - BR as well.
@keyboard99 @jonatasfreitasv did you guys already start something related to this task?
I could help with it-IT, let me know if you need it ;)
@lucasloami I not started anything about this task yet, but would be interesting to do a task force to this implementation.
I uploaded a PR with a first version of ES Spain translation.
Please add any comments/corrections on the PR
Feel free to use it a base for other translations but keep in mind that it is not finished yet as there are still some strings that need extracting inside the application.
Why dont use a service such as crowdin for translation?
El sáb., 3 mar. 2018 21:51, Joe Bordes notifications@github.com escribió:
I uploaded a PR with a first version of ES Spain translation.
Please add any comments/corrections on the PR
Feel free to use it a base for other translations but keep in mind that it
is not finished yet as there are still some strings that need extracting
inside the application.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/metabase/metabase/issues/1451#issuecomment-370192563,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AToP8I55g-bWzTUuqAH7Z7dqWtmL3RGuks5tazqsgaJpZM4GcWT2
.
I can help with pt-br too! 😄
@valtlfelipe there's a PR in which a guy made this translation. I would be great to get your feedbacks there. When I took a look it seemed ready to merge =)
Hey @mazameli! According to the roadmap, I thought localization would come out in version 0.29 but didn't see it in the new features list. Do you guys have any updates on this awesome feature? :)
yes, please, please, please, please, please, please, ...
@fernandosjp actually that roadmap is not updated. =/
+1 to chinese
I saw today on v0.29.0 release newsletter, that now is ready to translate. where is the i18n file? I can help with pt-BR and de-DE.
+1 to chinese
i can translate to chineses
+1 to chinese
+1 to
chinese (traditional) for Taiwan
繁體中文/正體中文
+1 for Korean 👍
Is there any document about how to change the locale? Didn't find any options to switch to another language or apply a language file.
@camsaul I highly recommend setting up an account on transifex.com it doesn't cost for developers to contribute, used it on other projects to great success.
@eudj1n @styts @tordans @andrefaria @MrMauricioLeite @jkdubr @pstas85 @kerwin @shSina @mazameli @npotier @urquilla @jeasoft @djvulee @sandrociceros @silviogreuel @yaBliznyk @areyalp @kruemel01 @Dyktus @geovanisouza92 @inventti-silvio @swissmadekzu @fernandosjp @huksley @vitorbaptista @josteinaj @erikriver @hnordt @jornh @nico01f @zzazang @zacharyzhanghao @mokra @LionelBino @acro5piano @jonatasfreitasv @raulcarlomagno @narukami894 @killboard @qin4zhang @lucasloami @marcoruggine @valtlfelipe @jinchener @dannyeuu @jiangzhx @xiaoshuai @MitsunChieh @kuil09 @calfzhou @aogilvie
Hello everyone! We just released our first translation (Spanish, thanks @joebordes!) in v0.30: https://www.metabase.com/blog/Metabase-in-Spanish/index.html
We're trying out using POEditor to manage translations and would love your help translating into your language: https://poeditor.com/join/project/ynjQmwSsGh
Thanks!
Thanks @tlrobinson !
I've just started translation to Czech. If anyone can help, it would be fine 👍
+1 to chinese
@huangshunping we started Chinese translation (now 50+% finished), wish you could give a hand 😃
@huangshunping as others have mentioned, you can help translate Metabase by going here: https://poeditor.com/join/project/ynjQmwSsGh
@mazameli having Poeditor helps a lot! Pt-br was already 99% so I just finished a couple of phrases.
How will be the process for translations to be released?
How could we test an in-progress-translation? It would be helpful to let us play with the new translation language, see if any text not very well.
@calfzhou see the whole developers guide - but specifically the section on Internationalization https://github.com/metabase/metabase/blob/master/docs/developers-guide.md#internationalization
Basically you need to set up an environment to build Metabase from source, and then add your .po
translation file which you can export from https://poeditor.com.
Oh, thanks @jornh , previously i didn't find a way to export from poeditor, now i found it.
should i use zh-CN.po
or zh_CN.po
as the translation file name?
when using zh-CN.po
, build with translation will fail:
Compiling locales/zh-CN.po for frontend...
+ Warning: removed 64 empty translations
warning: [options] bootstrap class path not set in conjunction with -source 1.3
warning: [options] source value 1.3 is obsolete and will be removed in a future release
warning: [options] target value 1.1 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
/var/folders/6w/x2d_hr8s2sddv1r4jqndx7xc0000gn/T/msgORxhO5/metabase/Messages_zh-CN.java:3: error: '{' expected
public class Messages_zh-CN extends java.util.ResourceBundle {
^
1 error
using zh_CN.po
, no error duing build, but translation not take effect.
finally, use zh.po
works.
@calfzhou yes, the xx_XX
versus xx-XX
issue is already reported in https://github.com/metabase/metabase/issues/7924
I'm going to close this since we've shipped 4 additional languages and several more are in progress.
Language-specific issues should probably be handled in POEditor https://poeditor.com/join/project/ynjQmwSsGh
More general issues with our localization system can still be filed here on Github.
Thanks for all your help!
Japanese is done. Please add it. Do you guys wait for 100% before adding to the release? What's the integration process? The remaining (10?out of 2000~) strings are not really translatable. Thanks.
Polish is done in 100%
maybe I am wrong but it seems that Template/Pot on POEditor project is not actual (eg there is no "gauge")
@kharkot We don't have an automated process to keep them in sync yet, but we will update it before the next release.
@kharkot @aogilvie And thank you for your work translating to Polish and Japanese!
Would gladly help translating to Italian
@ilvenini If you'd like to start helping translate, it's as easy as heading over to our POEditor project and signing up: https://poeditor.com/join/project/ynjQmwSsGh
Thanks in advance!
@ilvenini If you'd like to start helping translate, it's as easy as heading over to our POEditor project and signing up: https://poeditor.com/join/project/ynjQmwSsGh
Thanks in advance!
Great, thanks!
@mazameli I've started translating as well, btw great tool for translations, I'll use it for our project too ;)
Most helpful comment
Hey everyone -
Sketched out a plan on how we're planning on doing this at http://www.metabase.com/blog/Metabase-in-your-language
The most important things here for us are maintaining the quality of the user experience, and maintaining our voice and humor throughout the languages we support.
We'll need a lot of help, as while the core team speaks a number of languages, we don't speak all of them fluently. If you are willing to help us make Metabase in your language a reality, please signup and we'll start!