@@ -9,51 +9,66 @@ Did you found a bug or do you have an idea how to improve the mod? We are happy
99- [ IRC Channel] ( https://qchat.rizon.net/?channels=electricalage )
1010- [ Bug Tracker] ( https://github.com/Electrical-Age/ElectricalAge/issues )
1111
12- Contributions via [ pull request] ( https://github.com/Electrical-Age/ElectricalAge/pulls ) , and [ bug reports] ( https://github.com/Electrical-Age/ElectricalAge/issues ) are welcome! Please submit your pull request to the ` 1.7.10-MNA ` branch and use the GitHub issue tracker to report issues.
12+ Contributions via [ pull request] ( https://github.com/Electrical-Age/ElectricalAge/pulls ) ,
13+ and [ bug reports] ( https://github.com/Electrical-Age/ElectricalAge/issues ) are welcome!
14+ Please submit your pull request to the ` develop ` branch and use the GitHub issue tracker to report issues.
1315
1416### Translations
1517
1618Is the mod not available in your language or are some translations missing?
1719Well you can change that by adding or modifying a translation:
1820
19- - First you need to [ Download] ( https://github.com/Electrical-Age/ElectricalAge/archive/1.7.10-MNA.zip )
20- or clone the Electrical Age source code:
21- ``` sh
22- git clone https://github.com/Electrical-Age/ElectricalAge.git
23- ```
21+ We use Transifex as localization platform. Create an account and ask to join the
22+ [ ELN Team] ( https://www.transifex.com/electrical-age/eln/ ) on Transifex to translate the mod into your language. No
23+ coding skills are required at all.
2424
25- - Create the new language file:
26- If you add a new translation, create a new language file In the folder
27- * ElectricalAge/src/main/resources/assets/eln/lang* by using the UTF language symbol as the name of the file and the
28- file extension * .lang* . So for example the language file name for German would be * de_DE.lang* . This step is not
29- required if the language file already exists.
25+ Some translation strings might contain placeholders for runtime arguments in order to include numbers or other runtime
26+ objects into the sentence. These are identified by ** %N$** whereas * N* is the number of the argument in the argument
27+ list (at runtime). A translation string should include these placeholders too at the appropriate position in the text.
3028
31- - Fill or update the language file:
32- You need first to populate the language file with the actual strings to translate. There is a gradle task for that:
33- In the root folder (ElectricalAge), run the following gradle task:
34- ``` sh
35- gradle updateMasterLanguageFile
36- ```
29+ # Development
3730
38- Use ` ./gradlew ` or ` gradlew ` in place of gradle if you do not have gradle installed.
31+ The default branch for the Electrical Age source repository on github is ** "master"** , while there is another important
32+ branch called ** "develop"** . Each of them serves his own purpose.
3933
40- - Add the actual translations:
41- Using the text editor of you choice, you can now add translations to the file. The format is rather simple:
34+ ### master branch
35+ The ** "master"** branch is a stable branch, and gets updated only on releases. Whenever people checkout the ** "master"**
36+ branch, they get the source code of the latest release of the Electrical Age mod.
4237
43- ```
44- #<ELN_LANGFILE_V1_1>
38+ ### develop branch
39+ The ** "develop"** branch, is where commits during development are integrated into. It is where the Electrical Age team
40+ pushes or merges their actual changes together and where contributions from the community (Pull requests) are
41+ integrated into the development version of the mod. Anyone who wish to try the cutting edge version of Electrical Age
42+ can download the develop branch and build the mod himself.
4543
46- # ./src/main/java/mods/eln/Eln.java
47- mod.meta.desc=<TRANSLATION>
44+ Pull requests are always merged into the ** "develop"** branch. If you are willing to contribute, make sure sending us
45+ pull requests against the develop branch but not the * master* branch. Attention, ** "develop"** is not the default branch
46+ on github, so you need to pull and checkout the development branch before atually starting your development.
4847
49- # ./src/main/java/mods/eln/misc/UtilsClient.java
50- hold shift=<TRANSLATION>
51- ```
5248
53- Some translation strings might contain placeholders for runtime arguments in order to include numbers or other runtime
54- objects into the sentence. These are identified by ** %N$** whereas * N* is the number of the argument in the argument
55- list (at runtime). A translation string should include these placeholders too at the appropriate position in the text.
49+ ### GIT Flow
50+ They are named * master* and * develop* because most of the core developers adapt the git flow convention when working
51+ on Electrical Age. When working on a feature that is likely taking quite some time to finish, a local feature branch is
52+ created, and not necessarily pushed to the github. This way, when there are pending pull requests, they do not have to
53+ wait too long, since they can be merged into develop branch first.
54+
55+ An introduction of git-flow can be found [ here] ( http://nvie.com/posts/a-successful-git-branching-model/ ) or
56+ [ here] ( https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow ) .
57+
58+ You do not necessarily have to adopt git-flow for yourself in order to contribute to the mod, as long as your changes
59+ use the branch ** "develop"** as a base and the pull request is against the ** "development"** branch, we will be able
60+ to integrate your changes easily.
61+
62+ #### In short for EA:
5663
57- - Contribute the translation file:
58- You can either create a pull request with the new language file or just create an issue with the new language file as
59- attachment in order to make the translation available to everyone.
64+ - Features get developed on ** feature branches** , either in your local repository or pushed to github. Feature branches
65+ can be rebased.
66+ - Once ready, ** feature branches** are PR'd to ** develop** .
67+ - When the EA team wants to make a release, ** develop** is branched into a ** release branch** . Any necessary
68+ stabilization works happen there; ** develop** is never frozen, and efforts to PR in ** feature branches** should not
69+ stop just because a release is happening.
70+ - When a release is made, the ** release branch** is pushed to ** master** and ** master** is tagged at that point.
71+ - If hotfixes need to be made, then they can be made on the ** release branch** . Anything that also applies to the
72+ ** development branch** is first committed there, then cherry-picked to the ** release branch** . The ** release branch**
73+ is then pushed to ** master** (again), and tagged (again), going from e.g. 0.52.0 to 0.52.1.
74+ - ** develop** , ** master** and the ** release branches** are all protected; no rebasing happens there.
0 commit comments