
# Table of Contents
# Introduction
This is a repository to hold the working versions of Patrick Joyce's SpeakBook project. We aim to provide a platform for crowd-sourced version control of future PDF's here. More info (and the current final releases) can be found at the Ace Centre's project page here (opens new window).
The current in-progress versions (Note: will only look as intended in Chrome. We recommend looking at the PDF builds):
# Complete Translatons
# English
π¬π§ πΊπΈ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
With thanks to Suzanne Guerin and her colleagues for finding the mistake with the circles/triangles and cyan/green dots!
# Turkish
πΉπ·
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Ersin Sinay
# German
π©πͺ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Julius Deutsch, kommhelp e.V., Michael Ritson, Ace Centre, UK.
# Afrikaans
πΏπ¦
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Emma Emmerich, Inclusive Solutions.
# Portuguese
π΅πΉ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits HΓ©lio LourenΓ§o, Ace Centre UK
# Maltese
π²πΉ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Martina Zarb, Mariah Amber Busuttil, Jamie Said, Access to Communication and Technology Unit (ACTU), Malta
# Serbian
π·πΈ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Marijana
# Bulgarian
π§π¬
NB: Work in progress
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Evgeniya Hristova
# Needing "Printing Instructions" (but complete otherwise)
# Swedish
πΈπͺ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# Spanish
πͺπΈ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# French
π«π·
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
Credits Michael Ritson, Ace Centre, UK.
# Zulu
π²πΏ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
Credits Sipho Sibanda, Inclusive Solutions
# Needs a proof reader
# Chinese Simplified
π¨π³
NB: We really are not sure how speakbook would work in Chinese. Maybe we need to strip out the finger spelling page - and spelling e-tran style page.
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# Arabic
π²πΏ
Note: using AbjadΔ« alphabet
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
- Printing Instructions - π A4 PDF
Complete Zipped package with US Letter size
Credits Hossein Amin, Iraq.
# Urdu
π΅π°
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# Polish
π΅π±
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# Armenian
π¦π²
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# Croatian
ππ·
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# Maori
π³πΏ
- Color-Blind Friendly - π A4 PDF
- Colour Version - π A4 PDF
Complete Zipped package with US Letter size
# How do I create a new version for my language - or improve a language translation
Firstly - Great! Here are the steps:
- Go to https://poeditor.com/join/project/wKsMtKRLIj (opens new window) and join up. Pick a current language to help edit - or create a new one.
- What happens is you end up with a table. In one column is English snippets of text. And in the other you write that languages translation. Have a look at the English (opens new window) version where the strings are from. It should make sense what things mean. There are some strange bits - some bits later on have html embedded in them. Donβt worry - just do what you can. You canβt break anything!
- Once you have done what you can - send me an email and Iβll run a little script that converts it. It really takes me no more than about 10 minutes to do. Once done you can see the changes on our development page (opens new window)
- Thereβs usually tweaks to be made around how we do the e-Tran frame and finger spelling page. At that stage we just have a email chat about the best way forward. Some languages donβt bother to use all their letters - or we ignore the numbers. Lots of things we can do. And feel free to change things like the static words like βI feel hotβ to something more regional.
- *Lastly** - we translate the printing instructions page. Thatβs just a text or word file you can send me. Example here (opens new window)
# I want it to do _ or can it print upside down?
Get in touch with the team if you have a special request. We occasionally do sprints of work on SpeakBook to add new features. Alternatively look at the current Issues here (opens new window). We welcome code changes and pull requests!
Urgent needs
- Need translations for a printed instructions sheet (opens new window)
- More serious coding issues see the queue here (opens new window).
(opens new window)
(opens new window)
(opens new window)
# Technical Background
This is simply a Vue.js themed template with some scripts to generate a PDF of the html document that is created. Its designed for chrome as chrome does the PDF generation. We use PO language strings (opens new window) in this project. On each markdown file we have a text:
field where there is a list of strings available to the page. This means you can separate the design logic from the language information. We have some scripts to aid this process. A Markdown->PO script to create a PO file from a file - and then a PO->Markdown script that applies new language strings to a markdown file.
We also have a very natty script that uses Google translate to make a new po file.. See below
# Layout
.vuepress/
build-pdf-plugin.js <- The pdf build plugin.
config.js
dist/ <- Where the final build is outputted
public/ <- Static assets like images sit here and in SpeakBook/
theme/
layouts/
SpeakBook.vue <- The main logic for SpeakBook
styles/
util/
fonts/
components/
.scripts/
common.js
apply-po-to-md.js <- Apply a PO Language file to Markdown file.
getPOfiles.js <- NOT WORKING - Grab files from POEditor
po-from-md.js <- Make a master PO file from a markdown file.
speakbook/
README.md <- The English version of SpeakBook
lang/speakbook/
README.md <- Other language versions
# Package scripts
# run a local server for development
$ yarn dev
# build it in static html format
$ yarn build
# build pdf format for all pages
$ yarn buildpdf
# build a zip of all the pdfs for each language
$ node .scripts/buildfinalzip.js
$ netlify deploy --dir=.vuepress/dist
$ netlify deploy --prod
There is also a way we can use Google translate to start a new language. This is useful to get you going in the right direction.. e.g. For English to Armenian
node .scripts/po-google-translate.js res/lang/master.po res/lang/SpeakBook_Armenian.po en hy'
# Script to update all files from POEditor
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Bulgarian.po bg/speakbook/README.md > bg/speakbook/README2.md && mv bg/speakbook/README2.md bg/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Arabic.po ar/speakbook/README.md > ar/speakbook/README2.md && mv ar/speakbook/README2.md ar/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Spanish.po es/speakbook/README.md > es/speakbook/README2.md && mv es/speakbook/README2.md es/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_French.po fr/speakbook/README.md > fr/speakbook/README2.md && mv fr/speakbook/README2.md fr/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Portuguese.po po/speakbook/README.md > po/speakbook/README2.md && mv po/speakbook/README2.md po/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Swedish.po sv/speakbook/README.md > sv/speakbook/README2.md && mv sv/speakbook/README2.md sv/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_German.po de/speakbook/README.md > de/speakbook/README2.md && mv de/speakbook/README2.md de/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Afrikaans.po af/speakbook/README.md > af/speakbook/README2.md && mv af/speakbook/README2.md af/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Zulu.po zu/speakbook/README.md > zu/speakbook/README2.md && mv zu/speakbook/README2.md zu/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Turkish.po tr/speakbook/README.md > tr/speakbook/README2.md && mv tr/speakbook/README2.md tr/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Maltese.po mt/speakbook/README.md > mt/speakbook/README2.md && mv mt/speakbook/README2.md mt/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Armenian.po hu/speakbook/README.md > hu/speakbook/README2.md && mv hu/speakbook/README2.md hu/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Croatian.po hr/speakbook/README.md > hr/speakbook/README2.md && mv hr/speakbook/README2.md hr/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Maori.po mi/speakbook/README.md > mi/speakbook/README2.md && mv mi/speakbook/README2.md mi/speakbook/README.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Serbian.po sr/speakbook/README.md > sr/speakbook/README2.md && mv sr/speakbook/README2.md sr/speakbook/README.md
and likewise for Classic (colour version):
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Bulgarian.po bg/speakbook/classic.md > bg/speakbook/classic2.md && mv bg/speakbook/classic2.md bg/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Arabic.po ar/speakbook/classic.md > ar/speakbook/classic2.md && mv ar/speakbook/classic2.md ar/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Spanish.po es/speakbook/classic.md > es/speakbook/classic2.md && mv es/speakbook/classic2.md es/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_French.po fr/speakbook/classic.md > fr/speakbook/classic2.md && mv fr/speakbook/classic2.md fr/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Portuguese.po po/speakbook/classic.md > po/speakbook/classic2.md && mv po/speakbook/classic2.md po/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Swedish.po sv/speakbook/classic.md > sv/speakbook/classic2.md && mv sv/speakbook/classic2.md sv/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_German.po de/speakbook/classic.md > de/speakbook/classic2.md && mv de/speakbook/classic2.md de/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Afrikaans.po af/speakbook/classic.md > af/speakbook/classic2.md && mv af/speakbook/classic2.md af/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Zulu.po zu/speakbook/classic.md > zu/speakbook/classic2.md && mv zu/speakbook/classic2.md zu/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Turkish.po tr/speakbook/classic.md > tr/speakbook/classic2.md && mv tr/speakbook/classic2.md tr/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Maltese.po mt/speakbook/classic.md > mt/speakbook/classic2.md && mv mt/speakbook/classic2.md mt/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Armenian.po hu/speakbook/classic.md > hu/speakbook/classic2.md && mv hu/speakbook/classic2.md hu/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Croatian.po hr/speakbook/classic.md > hr/speakbook/classic2.md && mv hr/speakbook/classic2.md hr/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Maori.po mi/speakbook/classic.md > mi/speakbook/classic2.md && mv mi/speakbook/classic2.md mi/speakbook/classic.md
node .scripts/apply-po-to-md.js res/lang/SpeakBook_Serbian.po sr/speakbook/classic.md > sr/speakbook/classic2.md && mv sr/speakbook/classic2.md sr/speakbook/classic.md