User created content like project, tutorial cannot be translated using the current processs through transifex.
We need a mechanism to define and use translations for these content.
We are proposing a simple feature that allows translation of these content through the manager dashboard.
{
"customOptions": [
{
"description": "the shape does outline a building in the image",
"title": "Yes",
},
{
"description": "the shape doesn't match a building in the image",
"title": "No",
},
{
"description": "if you're not sure or there is cloud cover / bad imagery",
"subOptions": [
{
"description": "Hidden beneath clouds",
},
{
"description": "Blurry image",
}
],
"title": "Not Sure",
}
],
"informationPages": [
{
"blocks": [
{
"textDescription": "This is how a collapsed bridge potentially would look like from the satellite imagery"
},
{ }
],
"title": "Collapsed bridge"
}
],
"lookFor": "Collapsed bridge",
"name": "Footprint type tutorial for testing",
"projectDetails": "This is a tutorial",
"screens": [
{
"instructions": {
"description": "The shape does match a bridge and its also collapsed. Tap the Check icon (green one) to answer yes",
"title": "Does it outline a bridge?"
}
}
],
}
Changes in App
We additionally fetch the translation of the tutorial for the selected language
We will then merge the translations with the tutorial
If the translation is not available, then the default strings is used.
Changes in Website
To show the translated content of the project in the project page, we will also require changes to the database and the api server.
User created content like project, tutorial cannot be translated using the current processs through transifex. We need a mechanism to define and use translations for these content.
We are proposing a simple feature that allows translation of these content through the manager dashboard.
What should be translated?
Project
Tutorial
How?
We define a set of supported languages for translation in the manager dashboard. This set of languages should be the same as the set of languages supported in the app. (https://github.com/mapswipe/mapswipe/blob/master/src/shared/constants.js)
Changes in Manager Dashboard
Similarly, we can also support translation of project.
Note:
Changes in Firebase
translations/tutorial/<tutorial_id>/<language_code>
The structure for the translations is similar to the structure of the tutorial
Structure of tutorial
Structure of translations for tutorial
Changes in App
Changes in Website
To show the translated content of the project in the project page, we will also require changes to the database and the api server.