Coder Social home page Coder Social logo

bitcoin.org's Introduction

Requirements

Installing dependencies on Ubuntu 12.10

sudo apt-get install jekyll node-less ruby1.9.1-dev
sudo gem install ffi-icu

Installing dependencies on older Ubuntu and Debian distributions

sudo apt-get install rubygems ruby1.9.1-dev build-essential
sudo gem install jekyll json less therubyracer ffi-icu

Usage

  • update DOWNLOAD_VERSION in _config.yml
  • run jekyll
  • output will be in _site/

Translation

How to translate

  • Translations can be done on transifex https://www.transifex.com/projects/p/bitcoinorg/
  • You must be a native speaker for the language you choose to translate.
  • At least one other reviewer is required.
  • Changing the meaning of any statement should be avoided. In doubt, you can open a discussion on transifex.
  • Sentences and popular expressions should be adapted so that they sound native in your language.

Add new translations

  1. Begin, Add language code where required in _config.yml.
  2. Import, Download the translated .yml file from transifex and put that file in _translations.
  3. Images, Translate the few images that contain text with a vector image editing software like Inkscape. Translations for these images are at the end of the imported .yml translation file. Make sure to convert all texts to paths when saving final svg files.
  4. Vocabulary, Add correct alphabetical order for your language in the vocabulary page.
  5. Preview, Check if all pages are complete, test each links, check that texts with a limited size display nicely. For example, right side buttons and some titles have height or width restrictions.

Update translations

You can import all translations (complete and incomplete) from transifex using the transifex client:

tx init
tx set --auto-remote https://www.transifex.com/projects/p/bitcoinorg/
tx pull -a -s --skip

Then, you can overwrite any specific translation in the _translations folder by one of these files. You might also need to make sure that each .html files (in _layouts, _templates and _redirects) don't serve outdated content for those languages. You should also make sure that no urls or anchor has been changed by translators.

Update source english strings

Any change in the english texts can be done through a pull request on github. If your changes affect the html layout of a page, you should apply fallback html code for other languages until they are updated.

{% case page.lang %}
{% when 'fr' %}
  (outdated french content)
{% else %}
  (up to date english content)
{% endcase %}

Update source strings on transifex

When translation is needed: If you want all changes you've made to be re-translated, you can simply update the resource file (en.yml) on transifex.

When translation is not needed: If you are only pushing typo fixes and that you don't want translators to redo all their work again, you can use the transifex client to pull translations, update en.yml and push back all translations at once:

tx init
tx set --auto-remote https://www.transifex.com/projects/p/bitcoinorg/
tx pull -a -s --skip
tx set --source -r bitcoinorg.bitcoinorg -l en translations/bitcoinorg.bitcoinorg/en.yml
(update en.yml)
tx push -s -t -f --skip --no-interactive

Advanced Usage

Alert banner

You can put an alert banner on the website by changing the ALERT and ALERT_CLASS variables in _config.yml. You can both set one fallback alert for all languages and many translated alerts for specific languages.

Example:

ALERT:
  all: <strong>Security alert:</strong> Please upgrade to 0.8.1 as soon as possible!
  fr: <strong>Alerte de sécurité:</strong> Mettez Bitcoin à jour vers la version 0.8.1 sans délais!
ALERT_CLASS:
  all: error
  fr: error

This will produce an english red alert box for all languages, and a translated red alert box for french language. Possible classes are: error (red), info (blue), success (green) and warning (yellow)

Network alerts

Network alerts should be placed in _alerts/YYYY-MM-DD-SHORTITLE.html and adhere to this format:

---
title: "11/12 March 2013 Chain Fork"
lastmod: "Fri Mar 16 22:58:00 UTC 2012"
alias: "chainfork"
active: true
---

<p>
A chain fork is happening. Please stop mining on bitcoin version 0.8.0. Your bitcoins are safe but it is recommended that you postpone your Bitcoin transactions for the next hours.
</p>
<p>
More information will follow.
</p>

  • SHORTTITLE is used to construct the URL.
  • title: ... will be used as the title in the layout.
  • lastmod: ... will be used as the last modification date in the layout.
  • alias: ... (optional) a short alias to be used for Bitcoin-Qt alerts. Ex. "dos" will produce /dos.html
  • active: ... (true or false) define if the alert should appear as ongoing in the network status page.

Release Notes

Release notes should be placed in _releases/YYYY-MM-DD-SHORTTITLE.md and adhere to this format:

---
title: Bitcoin version 0.3.24 released
src: http://sourceforge.net/mailarchive/message.php?msg_id=27771039
---

Bitcoin v0.3.24 is now available for download at
<https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.24/>

...
  • SHORTTITLE is used to construct the URL. Something like v0.3.24 will be fine
  • title: ... will be used as the title
  • src: ... (optional) link to full annoucement

Events

Events should be placed in _events/YYYY-MM-DD-SHORTTITLE.md and adhere to this format:

---
title: "Bitcoin 2013 The future of payments"
city: "San Jose"
country: "United States"
link: "http://bitcoin2013.com/"
---

Aliases for contributors

Aliases for contributors are defined in _config.yml.

aliases:
  s_nakamoto: Satoshi Nakamoto
  --author=Satoshi Nakamoto: Satoshi Nakamoto
  gavinandresen: Gavin Andresen

bitcoin.org's People

Contributors

altamic avatar fanquake avatar gavinandresen avatar genjix avatar gmaxwell avatar graingert avatar johnsmith555 avatar joric avatar laanwj avatar luke-jr avatar mikehearn avatar mode80 avatar qdii avatar qhorin avatar runeksvendsen avatar saivann avatar schildbach avatar sipa avatar sunnankar avatar tamasblummer avatar turboroot avatar weex avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.