You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CODE_OF_CONDUCT.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ Nobody is expected to be perfect in this community. Asking questions early avoid
43
43
Step down considerately
44
44
-----------------------
45
45
46
-
When somebody leaves or disengages from the project, we ask that they do so in a way that minimises disruption to the project. They should tell people they are leaving and take the proper steps to ensure that others can pick up where they left off.
46
+
When somebody leaves or disengages from the project, we ask that they do so in a way that minimizes disruption to the project. They should tell people they are leaving and take the proper steps to ensure that others can pick up where they left off.
47
47
48
48
49
49
Leadership by example
@@ -63,4 +63,4 @@ Conduct](http://www.ubuntu.com/community/conduct). It is licensed
63
63
under the Creative Commons Attribution-Share Alike 3.0 license. You
64
64
may re-use it for your own project, and modify it as you wish, just
65
65
please allow others to use your modifications and give credit to the
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+3
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@ As all Open Source software, contributions to Sugarizer are welcome.
2
2
3
3
A good way to start to contribute is testing and trying Sugarizer to find some issues. If you find one, don't be shy, submit your issue [here](https://github.com/llaske/Sugarizer/issues) by giving the maximum information on it, specifically detailed steps to reproduce it. We will check your issue and ask you more information if needed.
4
4
5
+
Issues are also the way to propose new features. If you have a suggestion, explain it in detail in an issue and we will discuss it.
6
+
5
7
If you're a developer, the best way to start is to read the [architecture](docs/architecture.md) then to do the whole [tutorial](docs/tutorial.md). It will give you a good understanding of Sugarizer internal.
6
8
7
9
When you think you're ready, you could try to fix some existing issues [here](https://github.com/llaske/Sugarizer/issues). If you find a fix, send a Pull Request, we will be pleased to review it.
@@ -17,6 +19,7 @@ So to send your Pull Request:
17
19
18
20
Few rules to respect when you fix an issue:
19
21
22
+
*[ ] Do not send a Pull Request without a related issue that has been approved by a Sugarizer maintainer,
20
23
*[ ] Ensure your pull request contains only update related to the fix,
21
24
*[ ] Respect indentation of the original file,
22
25
*[ ] Mention the issue number in the pull request but not in the commit message
Copy file name to clipboardexpand all lines: README.md
+36-39
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1

2
2
3
-
# What is Sugarizer?
3
+
# What is Sugarizer?
4
4
5
-
Sugarizer is a free/libre learning platform. The Sugarizer UI use ergonomic principles from The [Sugar platform](https://sugarlabs.org/), developed for the One Laptop per Child project and used by more than 2 million children around the world.
5
+
Sugarizer is a free/libre learning platform. The Sugarizer UI uses ergonomic principles from The [Sugar platform](https://sugarlabs.org/), developed for the One Laptop per Child project and used by more than 2 million children around the world.
6
6
7
7
Sugarizer runs on every device: laptops, desktops, tiny computers, tablets or smartphones.
8
8
@@ -16,23 +16,23 @@ Sugarizer is available as:
16
16
17
17
# Sugarizer Application
18
18
19
-
Sugarizer Application is a cross-platform application for installing on any GNU+Linux, Windows, Mac OS, Android or iOS device.
19
+
Sugarizer Application is a cross-platform application for installation on any GNU+Linux, Windows, Mac OS, Android or iOS device.
20
20
21
21
To run **Sugarizer Application on Android**, download it on [Google Play](https://play.google.com/store/apps/details?id=org.olpc_france.sugarizer), [Amazon Store](http://www.amazon.com/gp/product/B00NKK7PZA) or [F-Droid](https://f-droid.org/repository/browse/?fdid=org.olpc_france.sugarizer).
22
22
23
-
Sugarizer on Android is also available as a launcher to replace the current launcher of your device so you could launch native Android applications from Sugarizer. You could download this Sugarizer version on [Google Play](https://play.google.com/store/apps/details?id=org.olpc_france.sugarizeros).
23
+
Sugarizer on Android is also available as a launcher to replace the current launcher of your device so you can launch native Android applications from Sugarizer. You can download this Sugarizer version on [Google Play](https://play.google.com/store/apps/details?id=org.olpc_france.sugarizeros).
24
24
25
-
You could also build yourself the Sugarizer Application APK using instruction below.
25
+
You could also build yourself the Sugarizer Application APK using the instructions below.
To run **Sugarizer Application on iOS**, download it on [Apple Store](https://itunes.apple.com/us/app/sugarizer/id978495303) or build yourself the Sugarizer Application IPA using instructions below.
33
+
To run **Sugarizer Application on iOS**, download it on [Apple Store](https://itunes.apple.com/us/app/sugarizer/id978495303) or build yourself the Sugarizer Application IPA using the instructions below.
To run **Sugarizer Application on GNU Linux/Mac OS/Windows**, download it [here](https://sugarizer.org#desktop).
38
38
The Sugarizer desktop application has four possible arguments:
@@ -42,7 +42,7 @@ The Sugarizer desktop application has four possible arguments:
42
42
*`--logoff` to logoff the previous user if one is connected (unsynchronized content will be lost)
43
43
*`--init` to remove all existing Journal and settings (all will be lost)
44
44
45
-
If you're a developer you could also launch Sugarizer desktop application using [electron](https://github.com/electron/electron). First install Node.js and npm on your computer. See [here](http://nodejs.org/) for more information. Then install electron and specific modules for Sugarizer by running:
45
+
If you're a developer you could also launch Sugarizer desktop application using [electron](https://github.com/electron/electron). First, install Node.js and npm on your computer. See [here](http://nodejs.org/) for more information. Then install electron and specific modules for Sugarizer by running:
46
46
47
47
npm install
48
48
@@ -104,9 +104,9 @@ Sugarizer Web App is a web application that runs on any device with a recent ver
104
104
105
105
As a web application, it does not run offline and requires a permanent network connection to a **Sugarizer Server**.
106
106
107
-
Sugarizer Server allow deployment of Sugarizer on a local server, for example on a school server, so expose locally Web Application (without Internet access). Sugarizer Server can also be used to provide collaboration features for Sugarizer Application on the network.
107
+
Sugarizer Server allows deployment of Sugarizer on a local server, for example on a school server, so exposes locally Web Application (without Internet access). Sugarizer Server can also be used to provide collaboration features for Sugarizer Application on the network.
108
108
109
-
To install your own Sugarizer Server, follow instructions on
109
+
To install your own Sugarizer Server, follow the instructions on
110
110
[Sugarizer Server repository](https://github.com/llaske/sugarizer-server)
111
111
112
112
@@ -119,13 +119,13 @@ If you're a developer and you want to learn more about Sugarizer architecture, s
119
119
120
120
# Activities distribution
121
121
122
-
All activities could be found in the [activities](activities) directory. Each activity has its own subdirectory. So for example, the *Abecedarium* activity is located in [activities/Abecedarium.activity](activities/Abecedarium.activity)
122
+
All activities can be found in the [activities](activities) directory. Each activity has its own subdirectory. So for example, the *Abecedarium* activity is located in [activities/Abecedarium.activity](activities/Abecedarium.activity)
123
123
124
124
You could distribute Sugarizer with whatever activities you want.
125
-
To do that, you first need to adapt the content of the [activities](activities) directory to match your wish: removing activities you don't want to distribute and adding in this directory new activities you want to include.
125
+
To do that, you first need to adapt the content of the [activities](activities) directory to match your wish: removing activities you don't want to distribute and adding in this directory new activities you want to include.
126
126
127
127
Then you need to update the [activities.json](activities.json) file to reflect your choice.
@@ -178,7 +178,7 @@ With Sugarizer, it's easy to create an activity with a bunch of HTML and JavaScr
178
178
179
179

180
180
181
-
If you're interested to create your own activity, a full tutorial will guide you between all development steps:
181
+
If you're interested in creating your own activity, a full tutorial will guide you between all the development steps:
182
182
183
183
***Step 1**: create the activity from a template
184
184
***Step 2**: customize icon and content
@@ -214,15 +214,15 @@ Refer [this](docs/ios/ios_doc.md) documentation for building sugarizer for iOS.
214
214
215
215
# Reduce package size
216
216
217
-
The current size of Sugarizer is more than 400 Mb. This huge size is related to media content and resources include in three activities:
217
+
The current size of Sugarizer is more than 400 Mb. This huge size is related to media content and resources included in three activities:
218
218
219
219
***Abecedarium activity**: about 150 Mb
220
220
***Etoys activity**: about 100 Mb
221
221
***Scratch activity**: about 50 Mb
222
222
223
-
By the way, these activities are able to retrieve the content remotely if its not deployed locally. So, if you want to reduce the Sugarizer package size (specifically for deployment on mobile) you could either remove completely those three activities or just remove the media content of these activities.
223
+
By the way, these activities are able to retrieve the content remotely if it's not deployed locally. So, if you want to reduce the Sugarizer package size (specifically for deployment on mobile) you could either remove completely those three activities or just remove the media content of these activities.
224
224
225
-
To remove activities, just remove these activities directory and update [activities.json](activities.json) file as explain above.
225
+
To remove activities, just remove these activities directory and update [activities.json](activities.json) file as explained above.
226
226
227
227
To remove media content for **Abecedarium**, remove directories:
228
228
@@ -239,19 +239,19 @@ To remove resources for **Scratch**, remove directory [activities/Scratch.activi
239
239
240
240
# Optimize performance
241
241
242
-
If you want to optimize JavaScript performance, you could generate an optimized version of Sugarizer with [Grunt](http://gruntjs.com). This optimized version will minimize and reduce size of all JavaScript files.
242
+
If you want to optimize JavaScript performance, you could generate an optimized version of Sugarizer with [Grunt](http://gruntjs.com). This optimized version will minimize and reduce the size of all JavaScript files.
243
243
244
-
First ensure than Node.js and npm is installed on your machine. See [here](http://nodejs.org/) for more information.
244
+
First, ensure that Node.js and npm are installed on your machine. See [here](http://nodejs.org/) for more information.
245
245
246
246
The [Gruntfile.js](Gruntfile.js) contains tasks settings to build an optimized version of Sugarizer. To do that, ensure first that grunt is installed:
247
247
248
248
npm install -g grunt-cli
249
249
250
-
Then install specific component for Sugarizer by running:
250
+
Then install the specific component for Sugarizer by running:
251
251
252
252
npm install --only=dev
253
253
254
-
Finally launch:
254
+
Finally, launch:
255
255
256
256
grunt -v
257
257
@@ -262,20 +262,17 @@ At the end of the process, all JavaScript files in all directories have been rep
262
262
263
263
If you're not a developer and you want to translate Sugarizer into your own language, please go to the [Sugarizer translation platform](http://translate.sugarizer.org) where you will be able to do that. If you're a developer, the following paragraphs will explain to you how the Sugarizer localization system works.
264
264
265
-
Sugarizer use [webL10n](https://github.com/fabi1cazenave/webL10n) localization system by Fabien Cazenave.
265
+
Sugarizer use [i18next](https://www.i18next.com/) localization system.
266
266
267
-
Here how to add a new translation. See a video tutorial [here](https://youtu.be/vTPVegrVm5A).
267
+
All strings are localized in JSON files in the [locales](locales) directory at the root of the repository.
268
+
If you want to add a new translation, copy the `en.json` files in a new one and:
268
269
269
-
All strings are localized in the [locale.ini](locale.ini) file at the root of the repository.
270
-
If you want to add a new translation, copy the whole [en] section at the end of the file and:
270
+
* Replace "en" in the new file name by the [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) of your language. For example, "fr.json" for French,
271
+
* Substitute the right side of the ":" character on each line of the file by the string localized in your language. For example:
271
272
272
-
* Replace "en" by the [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) of your language. For example, "fr" for French,
273
-
* Substitute the right side of the "=" character on each line by the string localized in your language. For example:
274
-
275
-
[fr]
276
-
StartNew=Commencer un nouveau
277
-
NameActivity=Activité {{name}}
278
-
RemoveFavorite=Retirer le favori
273
+
"StartNew": "Commencer un nouveau",
274
+
"NameActivity": "Activité {{name}}",
275
+
"RemoveFavorite": "Retirer le favori",
279
276
280
277
Warning: Note that text inside {{}} must not be localized. So here, **{{name}}** is not translated.
281
278
@@ -286,13 +283,13 @@ Sugarizer automatically detects the navigator language. To enable this detection
286
283
287
284
Sugarizer settings display a list of all available languages. You need to add your language in this dialog. For this you have to:
288
285
289
-
* Add a new string in [locale.ini](locale.ini) with the name of your language in English. For example:
286
+
* Add a new string in [locales/en.json](locales/en.json) with the name of your language in English. For example:
290
287
291
-
French=French
288
+
"French": "French",
292
289
293
-
* Add the same line for all languages/sections in the file. If you're able to do that, translate the right side of the "=" character with the localized string for the name of your language. If you don't know how to translate it, just let the English word. For example:
290
+
* Add the same line in all other language files. If you're able to do that, translate the right side of the ":" character with the localized string for the name of your language. If you don't know how to translate it, just use the English word. For example:
294
291
295
-
French=Français
292
+
"French": "Français",
296
293
297
294
* Add your string in the [js/dialog.js](js/dialog.js) file in the create function of the Enyo class Sugar.DialogLanguage. You should give the ISO 639-1 language code and the new string for your language name. For example:
0 commit comments