Code Monkey home page Code Monkey logo

speakbook's Introduction

title description
SpeakBook Index Page
This is a project to build a toolchain for multi-lingual PDF's. Initial document is SpeakBook; a low-tech communication chart and book.

SpeakBook

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.

The current in-progress versions (Note: will only look as intended in Chrome. We recommend looking at the PDF builds):

Complete Translatons

English

πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

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

πŸ‡ΉπŸ‡·

Complete Zipped package with US Letter size

Credits Ersin Sinay

German

πŸ‡©πŸ‡ͺ

Complete Zipped package with US Letter size

Credits Julius Deutsch, kommhelp e.V., Michael Ritson, Ace Centre, UK.

Afrikaans

πŸ‡ΏπŸ‡¦

Complete Zipped package with US Letter size

Credits Emma Emmerich, Inclusive Solutions.

Portuguese

πŸ‡΅πŸ‡Ή

Complete Zipped package with US Letter size

Credits Hélio Lourenço, Ace Centre UK

Maltese

πŸ‡²πŸ‡Ή

Complete Zipped package with US Letter size

Credits Martina Zarb, Mariah Amber Busuttil, Jamie Said, Access to Communication and Technology Unit (ACTU), Malta

Serbian

πŸ‡·πŸ‡Έ

Complete Zipped package with US Letter size

Credits Marijana

Bulgarian

πŸ‡§πŸ‡¬

NB: Work in progress

Complete Zipped package with US Letter size

Credits Evgeniya Hristova

Needing "Printing Instructions" (but complete otherwise)

Swedish

πŸ‡ΈπŸ‡ͺ

Complete Zipped package with US Letter size

Spanish

πŸ‡ͺπŸ‡Έ

Complete Zipped package with US Letter size

French

πŸ‡«πŸ‡·

Complete Zipped package with US Letter size

Credits Michael Ritson, Ace Centre, UK.

Zulu

πŸ‡²πŸ‡Ώ

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.

Complete Zipped package with US Letter size

Arabic

πŸ‡²πŸ‡Ώ

Note: using AbjadΔ« alphabet

Complete Zipped package with US Letter size

Credits Hossein Amin, Iraq.

Urdu

πŸ‡΅πŸ‡°

Complete Zipped package with US Letter size

Polish

πŸ‡΅πŸ‡±

Complete Zipped package with US Letter size

Armenian

πŸ‡¦πŸ‡²

Complete Zipped package with US Letter size

Croatian

πŸ‡­πŸ‡·

Complete Zipped package with US Letter size

Maori

πŸ‡³πŸ‡Ώ

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:

  1. Go to https://poeditor.com/join/project/wKsMtKRLIj and join up. Pick a current language to help edit - or create a new one.
  2. 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 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!
  3. 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
  4. 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.
  5. *Lastly** - we translate the printing instructions page. That’s just a text or word file you can send me. Example here

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. We welcome code changes and pull requests!

Urgent needs

MIT license OpenAAC Netlify Status

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 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

Deploys by Netlify

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

speakbook's People

Contributors

gavinhenderson avatar willwade avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

speakbook's Issues

Colour Blind Friendly SPELL page 7

Blue and Green boxes (both on right side of page when in landscape) and
Pink and Green boxes (both on left side of page when in landscape) need to be swapped, as image below:
Page 7 Final Colour Layout
Contents of all boxes: both characters in outer two columns (when viewed in landscape) need to swap sides, all character colours should remain the same, just positions of characters should change, as image above:

R to L languages.

This will be a challenge. But we need to figure out how we would deal with Arabic and other languages that are Right to left rather than Left to right. Its not going to be straightforward.

Adding printing instructions

I need to add a second page - printing-instructions.html to the speakbook project.

Its much simpler than the more complex index page. I think this will be straightforward markdown. But how would we do it - and add it to the buildpdf buildchain?

See here for the kind of thing we need to create.

NB: I don't think we will bother to use POEditor strings for a lot of this. Its a lot of text. Maybe some parts like "Speakbook" and URL - but I can't see what else

change finger spelling page to deal with different number of keys

For Bulgarian we need a spelling page of 11 rows across and 3 down to deal with the extra letters. (see 58be8a1 for a horrible fix). See also Croatian for trying to fix this by changing cell width.

For all these languages where we have to change the cell numbers - whats the best way of doing this @hosseinamin ?

Different paper sizes

In the US people want to print this on their standard letter size (8.5 x 11 paper) - but ours is outputting a A4 PDF. Any quick fix for this or does a template need to be re-created?

SPELL page 7 - needs to be a 'mirror' of page 6, not a duplicate as it is now

The boxes and their contents on the left side of page 7 (as printed and bound at the top) and the boxes on the right side need transposing, so that they are a mirror image of the layout of page 6. Page 7 should appear as the original below:
Speak book page 7 as original
As in the video here:
https://vimeo.com/25812980#t=2m22s
The contents of all the boxes need their first and third columns transposing, as per the above image - letter colours should be as above image too.

Two versions of instruction pages (p2&3) needed - one for colour and one for colour blind versions

The instruction pages for all current SpeakBook versions (P2&3) all refer to the colour blind friendly versions - training page thumbnails too, and reference the shapes rather than the colours (until the part about the SPELL page, where they revert to colours again).

Two different versions of the instructions - one each for the colour / colour blind SpeakBooks would be useful.

A screengrab from Patrick's video shows an original version that references colours:
SPKBK OG Instructions

Spelling page for languages > 30 characters alphabet

For languages such as Polish - the character set is quite big.

We need a way of showing all these characters on the fingerspelling page..

My suggestion is that we create a template for these languages where we put the fingerspelling page into Landscape - and allow for a greater number of keys for spelling.

We don't want this as a default layout - it has a downside that it increases the range of movement to select letters. But it feels the right compromise for big alphabet languages.

writing on triangle

In Swedish version:

P24: ΓΆvnings sida needs adding to the black triangular shape and the lowercase fonts in the top & bottom left boxes needs adjusting to fit (wasn’t bold in the original) *Same for P25 without the β€˜triangle text’

image

Colour version

Their used to be a "Classic" Edition - which was coloured (and not colourblind friendly).

Its here: https://web.archive.org/web/20160615085933/http://www.speakbook.org/wp-content/uploads/2012/04/speakbook3rdedition.pdf

We've overlooked making this in our new work!

So we need to create a copy of the speakbook/README.md -> speakbook/classic.md

And its the same except:

  • Shapes are removed
  • Each part of the squares is now a colour
  • The tabs have a colour

Additionally:

  • On the front page we have a star shaped item which says 4th Edition - colour blind friendly. We will keep the shape - but have new text "Classic Edition".

Sorry @hosseinamin !!

text flow on long words

See page 2 of the af version.

Note how the text flows strangely. Now if you reduce the font size it fits.. Is that the solution? I imagine its because the Afrikaans strings are long

Alteration of standard finger spelling page

Picture 1

Proposed changes to fingerspelling page (nb. I can't recreate the blues etc so ignore the fact the shade is different - where I've used the blue its meant to be the same!):

  • pale grey background added to numerical characters like +/ = etc to differentiate from the blank rectangles with white backgrounds above for phrases
     made Β£ / $ interchangeable on one cell which has enabled me to add in ':' for giving time - I think you would probably only use pounds or dollars, and probably the context would make it clear which one
  • moved YES / NO, thereby making space for new 'SPACE' and 'DEL'
  • given '@' a pale grey background rather than blue like letters
  • moved emojis to make space for YES/ NO, and added a thumbs down one nb. would envisage using the current symbols - just don't have them to hand.

writing in boxes, Red on tab

Swedish version:
P8, P9: The numbers, plus sign and KLAR need adding into the boxes, also the yellow blank tab needs changing to a red one which reads 123:

P8:
image

P9:
image

Build problem on Netlify - font issue

In urdu - we are not getting all the characters. Missing font on the build server maybe?

Running this locally no problem. For now answer is not to rely on netlify for build - but build locally and push.

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.