multihack / multihack-brackets

Realtime collaboration for programmers. (Brackets Extension)
MIT License
24 stars 9 forks source link

Internationalization #21

Closed tweakimp closed 7 years ago

tweakimp commented 7 years ago

Are you planning to add other languages? I could write and maintain the german language file, maybe with poedit

t-mullen commented 7 years ago

I have no plans for translation, but any PRs that add it are welcome.

There's not much text, so I don't think it would be too difficult to do manually.

t-mullen commented 7 years ago

Going to backlog this until the VSCode and Atom versions are finished. If we're going to add localization, we should do it correctly and consistently.

Any temporary language PRs for this version are still welcome, just make them easy-ish to revert if needed.

Of course, you can fork the project and change the strings to German as a quick fix.

tweakimp commented 7 years ago

Ok. I like how you are saying "we" while you do all the work :) Prioritizing is important,of course, but it's also a question of where are you want to go with this plugin. Do you want it to be the ultimate pair progtamming tool or to just do what it does now: synchronized coding?

t-mullen commented 7 years ago

This will be important for the initial release, but I'm more focused on the core featureset for all the editors right now :)

tweakimp commented 7 years ago

ok :) just summon me and ill translate everything to german

Worie commented 7 years ago

Feel free to mention me for Polish

AonoZan commented 7 years ago

Simple menu items wont be much of a problem for anyone to translate I guess. But if you ever run into need for translating help file, tool-tips etc. you have me for Bosnian. :)

t-mullen commented 7 years ago

I've never tried to internationalize software before, so please let me know if this approach won't work:

A json file for each language with this format: en.json

{
   "disconnect": "Your connection to \"{{nickname}}\" has been lost.",
   "id_prompt": "Enter the ID of the room you want to join.",
   ... and so on
}

Each language file would just swap out these values, while keeping the keys and tags the same (like id_prompt and {{nickname}}). Any objections?

tweakimp commented 7 years ago

Please add a comment to each translation. It's helpful to know where it belongs to.

tweakimp commented 7 years ago

Little missclick :)

t-mullen commented 7 years ago

Ok, I pushed a translation file. Please add the 2-letter language code and all of the necessary translations. I think they are pretty straightforward, but if anything is unclear, let me know.

There's about 44 different words/phrases that need translation.

t-mullen commented 7 years ago

https://github.com/RationalCoding/multihack-brackets/blob/master/lib/lang/translations.json

t-mullen commented 7 years ago

@Worie @AonoZan Mentioning for additional translations, when you get the time :)

tweakimp commented 7 years ago

I mixed formal and informal adress of the User. I would like to clean that up. Which one do I use?

Worie commented 7 years ago

Lets split the translations to separate files (de.json, pl.json and so on).

Itll prevent a lot of conflicts and be easier to manage. Ill sit to pl translations when im back from jsconf

t-mullen commented 7 years ago

I'd say the solution implemented is adequate for now. Closing as completed.

Splitting up files means determining the language at load time, something I haven't figured out yet (besides simply loading every file). Maybe I'll revisit that, but it should be OK as is.