From 188cf22344625edac43607c5c10f706cfe03bf74 Mon Sep 17 00:00:00 2001 From: Nick-Tallguy Date: Tue, 13 Jun 2017 01:53:48 +0100 Subject: [PATCH] Translator instructions on uploading localised images - first draft. Refers to https://github.com/hotosm/learnosm/issues/526 https://github.com/hotosm/learnosm/pull/494 and https://github.com/hotosm/learnosm/issues/329 --- README.md | 5 + _posts/0100-06-20-images-translator.md | 108 +++++++++++++++++++ images/contribute/translate-image-fork.png | Bin 0 -> 1275 bytes images/contribute/translate-image-header.png | Bin 0 -> 19358 bytes images/contribute/translate-image-upload.png | Bin 0 -> 3220 bytes 5 files changed, 113 insertions(+) create mode 100644 _posts/0100-06-20-images-translator.md create mode 100644 images/contribute/translate-image-fork.png create mode 100644 images/contribute/translate-image-header.png create mode 100644 images/contribute/translate-image-upload.png diff --git a/README.md b/README.md index 1ca09c9c3..29a450f5a 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,11 @@ Any updates in the gh-pages branch automatically update the site within minutes. ## Contributing +### Translators - How to add localised images + +Please see [this guide in draft form](/en/contribute/translator-images/) + + For minor edits, simply locate the post you are interested in via the [posts](_posts) directory, and use the [edit](https://help.github.com/articles/editing-files-in-another-user-s-repository/) feature to fix typos, grammar and other minor items. To learn how to translate, run the site locally or develop new content, check out [CONTRIBUTING.md](CONTRIBUTING.md) for more on how to contribute directly to LearnOSM. diff --git a/_posts/0100-06-20-images-translator.md b/_posts/0100-06-20-images-translator.md new file mode 100644 index 000000000..b219e2232 --- /dev/null +++ b/_posts/0100-06-20-images-translator.md @@ -0,0 +1,108 @@ +--- +layout: doc +permalink: /en/contribute/translator-images/ +lang: en +title: Translators - adding localised images for your language +category: contribute +nosearch: true +--- + +Translators - How to add local images for your language +====================================================== + +**This guide is still at the draft stage.** + +Although the eventual aim is to have your nice new images on the main LearnOSM site, initially it is best to add them to our testing site, which you can find on Github at + +- TOC +{:toc} + +Login to Github +----------------- + +You will need a login for + +### Fork the staging site + +Once you have a login to Github you will need to navigate to the testing and staging site at and **fork** the site by clicking on the **fork** button to the top right ![fork][]{: height="24px"} + +![Github 1][] + +Your fork of the site will be an exact copy of the site at the time you created it - as the site is updated, your fork will be *behind* the staging site, and you will have to update it - more on this later, and if you are uploading images only once, you may never have to update your fork. + +Images - preparation +-------------------- + +### png format +It is possible to use other formats, such as .gif, but for a simple static image the easiest format is .png + +### image size + +Maximum of 520 px (pixels) on the longest side. The site is viewed throughout the world, and has to load quickly. For static images there is currently a limit of 520px imposed to ensure fast loading, even in areas of the world such as Africa where internet access may be limited. + +### Filenames for your image + +Using **0200-12-27-start-osm.md** as an example and the image **start-osm_website.png** which has text on it in English. + +The files you have been translating are all in the _posts folder. +Navigate to the file on **your fork of the repository** - this link if for the testing site - make sure you go to your fork instead and look for the image you want to replace. When you find the image, click on it, and it will load as separate page, and the image will be identified as **Nick-Tallguy.github.io/images/beginner/start-osm_website.png** + +Assuming you have a new image, and your language is **Italian** (Transifex identifies your language with the code **it**), you should name your new image **start-osm_website_it.png**. In other words, you have taken the original filename and added **_it** to it, just before it's identifier of .png. + +Uploading the image +-------------------- + +Navigate to the correct folder **of your fork**. The images are stored in a folder **images** and a sub-folder named after the category + +At the top of the file **0200-12-27-start-osm.md** you will see the header information; + + --- + layout: doc + title: OpenStreetMap.org + permalink: /en/beginner/start-osm/ + lang: en + category: beginner + --- + +From this, you can see your category is **beginner**, and you should navigate to that folder within the images folder - - you should be able to see the original **start-osm_website.png** image in this folder. + +The top of the web page will look like this + +![Github 1][] + +To the right you can see the buttons ![Github 2][]{: height="24px"} and you should click on the **Upload files** button and upload each of your images that you have prepared. + +Having uploaded your images, you will need to submit a **pull request** - more info on this when I have screenshots etc.. + + +Updating Transifex so your new images display +--------------------------------------------- + +Return to Transifex, and at the foot of the module you have prepared the images for, you will see the image location and name, for instance + + [website]: /images/beginner/start-osm_website.png + +which you now change to + + [website]: /images/beginner/start-osm_website_it.png + +Go through each of the images that you have uploaded a new image for, updating the filename. + +Finally - the images will display within a day or two +------------------------------------------------------ + +One of the site admin's will need to merge your pull request, and then your images will appear on the staging site and you can view them there + + and navigate to the correct language and module. + +Any problems, please make contact - + +- open an issue on the staging site, or +- send an email from the website, or +- raise an issue on Transifex +- all of these means (and some others!) make their way to the same team. + +[Github 1]: /images/contribute/translate-image-header.png +[Github 2]: /images/contribute/translate-image-upload.png +[fork]: /images/contribute/translate-image-fork.png +[Github 2]: /images/contribute/translate-image-upload.png diff --git a/images/contribute/translate-image-fork.png b/images/contribute/translate-image-fork.png new file mode 100644 index 0000000000000000000000000000000000000000..465fa1d6f29db41816f1ccc89f84bbba2d0fc644 GIT binary patch literal 1275 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 U_Dv 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