NCC Translation Tool

@rigel: we have to improve the tool to have more automation. I probably missed your changes , sorry.


@freigeist: i would like to make some proposals regarding to your tool's workflow, pls let me know if they're feasible and what you think about them :)


OK nice :)


Here's the workflow that I expect:

The admin tool:
- Whenever the source english.js file has changes, the admin logs in and update the source file like we do now, but instead of having to paste the full URL to the file, admin just has to choose the branch name where the english.js is the most up to date, from that branch name, the tool probably can generate the full URL to the raw file. This saves admins from having to open github, do dozens of clicks to navigate to the source file everytime. It would be even better if your tool can retrieve the list of available branches from github and let admin select one from a dropdown box.


Ok this can be done.


- When the source file is updated, the tool automatically updates all language files to reflect the changes in the file structure (if any). It should first retrieve the language files from the same branch as the just-updated english.js, then re-build them according to the source file structure. With each field in source file, if the translation is already there in the destination file, it will be kept, if not then the english version from the source file is used by default to ensure no field is missing. The admin then can download them all (except the source file). Those re-built files is also kept on the tool's server so that translators can do translations on the most updated version.


How it works now:
when the english.js is updated (from master) other files are not updated immediately they update when a translator signs in into the tool and makes an export. this is client side functionality and I think i will keep it like it is now.
example how it works:

[code]
source file:
{
    file: "english.js",
    lang: "en",
    test: "this is just test"
}

current translation:
{
    file: "blabla.js",
    lang: "xy",
    test: "qvet je jun testo"
}

after source uptade:
{
    file: "english.js",
    lang: "en",
    test: "this is just test",
    newItem: "this is a new item recently added"
}

{
    file: "blabla.js",
    lang: "xy",
    test: "qvet je jun testo",
    newItem: ""
}
[/code]

if a property for example "test" is removed from the source file then this will be removed also from the
translation file after the update (after translator logins and makes an export) and so the file will look like this:
[code]
{
    file: "blabla.js",
    lang: "xy",
    newItem: ""
}
[/code]



- Also whenever the source file is updated, translators should receive an email notifying about the change.


this can be done but they will have to send me their email addresses so that i can
add them into the mailing list.



The translator tool:
- When receiving the email, translators should log into the tool and make the translation. When translation is done, the result file is generated (should beware double quotes, single quotes, and encoding/character escapes) save on the server and can be downloaded. If possible, it'll the best if the tool can automatically make pull requests to github.


here is how it woks now with quotes all values are in double quotes when exported like this
[code]
{
    file: "blabla.js",
    lang: "xy",
    test: "qvet je jun testo",
    newItem: ""
}
[/code]

content like this:
[code]
test: 'qvet je jun "testo" ',
[/code]
is exported like this
[code]
test: "qvet je jun \"testo\" ",
[/code]
in javascript this does not make any difference i will keep it like this

the html entities will be kept as html entities so if you have writen < it will stay like <
and if "you" (translator)  have written "<" it will stay like this "<".

i still have an issue with the \uXXXX characters i need to solve it somehow

related to github i have found some php APIs that can connect to github
but haven't tested yet


- If possible, the tool should keep track of source file changes and file versions, so that translators can see the new/edited fields highlight when they do translations.


The field highlights currently works but is limited only on the first load of the file after the update due to the fact that a copy of the file content is stored in the client browser and all comparing is done on the client side.
Will see if i can improve this but won't give you and guarantees

New file versions are generated after every export you can check the versions
in the admin section by clicking on the "language name" left in the table


Pls leave your thoughts here :)


My thoughts have been left. ;)
I hope i will catch in the chat to discuss more in details the stuff above about file update.
See ya

Good to hear that most of those suggestions can be done or already done  ;D


How it works now:
when the english.js is updated (from master) other files are not updated immediately they update when a translator signs in into the tool and makes an export. this is client side functionality and I think i will keep it like it is now.


The reason why I want all other languages be updated right when english.js is updated is that I want to keep all language files always be in the same structure. For example I add a modal to NCC, if english.js file is updated but other languages are not until translators come and do translations, then in the meantime, ppl opening the modal will see missing texts and probably even broken layout due to those missing texts. So I want them to have at least the english texts fallback before translators come to translate.

Secondly, the reason that I want it to retrieve the language files from the same branch first then update them accordingly

It should first retrieve the language files from the same branch as the just-updated english.js, then re-build them according to the source file structure.

is for the case that someone has the push permission (like me) has done some manual changes and commited to github without using your tool, so those files on your tool's server is out of date and needs to be updated.


i still have an issue with the \uXXXX characters i need to solve it somehow


the \uXXXX is actually the character escape code in javascript, not related to HTML encoding


related to github i have found some php APIs that can connect to github


cool  8)


The field highlights currently works but is limited only on the first load of the file after the update due to the fact that a copy of the file content is stored in the client browser and all comparing is done on the client side.
Will see if i can improve this but won't give you and guarantees

New file versions are generated after every export you can check the versions
in the admin section by clicking on the "language name" left in the table


Mentioning to file versions, actually i just want the changes to be highlighted, and if it's only highlighted on the first load after the update then it's still quite fine  :wink: And maybe, also the missing (untranslated) fields should be highlighted

The reason why I want all other languages be updated right when english.js is updated is that I want to keep all language files always be in the same structure. For example I add a modal to NCC, if english.js file is updated but other languages are not until translators come and do translations, then in the meantime, ppl opening the modal will see missing texts and probably even broken layout due to those missing texts. So I want them to have at least the english texts fallback before translators come to translate.


Would be the best if you can find a way to automatically commit those updated language files to the same branch that english.js has just updated from.

Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.


Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.


Just updated italian.js in freigeist's translation tool

Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.

Updated Hindi translation on Github itself. Please accept the pull request there.


Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.


Just updated italian.js in freigeist's translation tool


Did you make a pull request? I guess not, I didn't see anything. So it will not be in the release we just build :/



Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.


Just updated italian.js in freigeist's translation tool


Did you make a pull request? I guess not, I didn't see anything. So it will not be in the release we just build :/


In that case you can get the latest italian translation from here:
http://nemer.byethost8.com/data/italian/export.zip

the url pattern is same for all other languages
If you wish i can give you the admin login to the tool so you can download all the files at once.


Hello.

BAD NEWS:
The tool is currently unavailable due to hosting suspension.
I hope i will find a new hosting tomorrow and setup the tool again.
Thanks for your patience and sorry for the inconvenience!
:frowning:




Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.


Just updated italian.js in freigeist's translation tool


Did you make a pull request? I guess not, I didn't see anything. So it will not be in the release we just build :/


Ooops... looks like I misunderstod the post  about workflow :(




Guys we got new phrases waiting to get translated. We want to make a release tomorrow, if possible try to update your translation. You can either make a pull request or send me a link to the updated translation via pm.


Just updated italian.js in freigeist's translation tool


Did you make a pull request? I guess not, I didn't see anything. So it will not be in the release we just build :/


In that case you can get the latest italian translation from here:
http://nemer.byethost8.com/data/italian/export.zip

the url pattern is same for all other languages
If you wish i can give you the admin login to the tool so you can download all the files at once.


Probably would be a good idea.

Ok, I just made a pull request on git with all needed changes.

Waiting for next release :slight_smile:


Hello.

BAD NEWS:
The tool is currently unavailable due to hosting suspension.
I hope i will find a new hosting tomorrow and setup the tool again.
Thanks for your patience and sorry for the inconvenience!
:(

Did you find new hosting please give link soon is possible.


Did you find new hosting please give link soon is possible.


Hello.

GOOD NEWS!
Yes I have found another hosting and setup the tool there.
Please check the original post! ;)




Did you find new hosting please give link soon is possible.


Hello.

GOOD NEWS!
Yes I have found another hosting and setup the tool there.
Please check the original post! ;)


Updated some lithuanian translation. And what to do with export.zip file, which I download after clicking "Export"? Is it possible to update translation directly in github with this tool?




Did you find new hosting please give link soon is possible.


Hello.

GOOD NEWS!
Yes I have found another hosting and setup the tool there.
Please check the original post! ;)


Updated some lithuanian translation. And what to do with export.zip file, which I download after clicking "Export"? Is it possible to update translation directly in github with this tool?


Hello.

Currently is not possible to update directly on github i need to
implement this yet if i figure out how to do in in 1st place.

With the export files you have 4 options:
1) update github manually with the file you exported if you know how.
2) send this file to Bloodyrookie or Krysto so they can update it on guthub
3) send only a link to the file in your case [url=http://beta-test.tk/data/lithuanian/export.zip]http://beta-test.tk/data/lithuanian/export.zip so they can do the same as in option 2
4) do nothing, just notify Krysto or BloodyRookie that you have made a translation so they can download the file from the admin section of the tool and update github.






Did you find new hosting please give link soon is possible.


Hello.

GOOD NEWS!
Yes I have found another hosting and setup the tool there.
Please check the original post! ;)


Updated some lithuanian translation. And what to do with export.zip file, which I download after clicking "Export"? Is it possible to update translation directly in github with this tool?


Hello.

Currently is not possible to update directly on github i need to
implement this yet if i figure out how to do in in 1st place.

With the export files you have 4 options:
1) update github manually with the file you exported if you know how.
2) send this file to Bloodyrookie or Krysto so they can update it on guthub
3) send only a link to the file in your case [url=http://beta-test.tk/data/lithuanian/export.zip]http://beta-test.tk/data/lithuanian/export.zip so they can do the same as in option 2
4) do nothing, just notify Krysto or BloodyRookie that you have made a translation so they can download the file from the admin section of the tool and update github.


OK, thank you. Now its clear.

Moderators - please move this tread to Beta launch discussion

Hello translators.

I have implemented email notification in the translation tool.
That means you could be notified by email whenever the source file (english.js) is updated in the tool and there is something new to be translated.
If you want to be notified by email please supply your email address in PM.

Thanks.