Cordon Sanitaire Wales: campaign website

Some organisations already follow a policy of ‘cordon sanitaire’ towards a particular UK political party which is well known for being racist and prejudiced.

I have created a simple bilingual website at cordon.cymru which is an effort to persuade Assembly Members from other parties in Wales to opposite this particular party through refusing to work with them on any level.

The recent cases of racist statements from politicians as well as racism in our communities are reminders of the need to do more.

The website text is self-explanatory. Thanks to others for writing it.

If you are concerned, as I am, about the growth of the far right in Wales send a message to your Assembly Members to ask for clarification of their policies concerning non-cooperation with the party.

Many other things need to be done of course – that is one of them.

A new game called Petrus

Petrus is a brand new game, which is very addictive.

(Well, when I say ‘new’ I mean new adaptation of an old favourite…)

It should work on mobile phones as well as personal computers, etc.

It’s a Welsh-language adaptation of a game by Github user Chvin, which in turn is based on the original concept by Alexey Pajitnov and Vladimir Pokhilko.

It’s been an opportunity for me to practise version control in Git, and look at the React library for the first time.

Here’s the code.

Petrus is the second game in an occasional series. More to come soon!

Pŵl Cymru – a new game

Here’s a browser-based game for you to enjoy, Pŵl Cymru.

It is a Welsh-language adaptation of a game by Chen Shmilovich, and works on computers only. It won’t work on phonees or mobile devices.

If you’re not fluent in Welsh then you will probably figure it out. 🙂

Diolch i’r rhai sydd eisoes wedi ei phrofi, ac i Chen Shmilovich am ddatblygu’r gêm yn y lle cyntaf. / Thanks to those who have already tried it, and to Chen Shmilovich for developing the game in the first place.

The code is on Github. I learned a bit about creating games in JavaScript during the process of adapting and translating it.. There is a complete book about the subject and plenty of other resources online.

Welsh Language Vowel Locator, a new web app

aeiouwy

Yn cyflwyno’r Welsh Language Vowel Locator.

This new web app is a fun way to learn that there are vowels in the Welsh language, despite what some online commentators insist!

It’s another one in the occasional series #GorauArfArfDysg.

Here are some of the recent tweets:

Map i Gymru: building an OpenStreetMap in Welsh

I’ve cross-posted this post on Open Data Institute Cardiff blog as well. Thanks to David Wyn Williams for his invaluable help on the post.

The draft map

Have a peek at this map of Wales, with place names in Welsh.

https://openstreetmap.cymru

Many people have never seen place names in Welsh such as Aberteifi, Treffynnon or Aberdaugleddau on an online map – or indeed any map.

These names have been used for many generations until the present day, from conversations to road signs to media. The Welsh-language Wikipedia, known to its users as Wicipedia Cymraeg, has articles bearing these names.

Nevertheless they are not usually offered or recognised by the well known proprietary map providers.

In order to build a map in Wales’ own language we at the project have drawn from freely licensed OpenStreetMap data, server software, and documentation. These are all the work of many contributors around the world, and to these people we are very grateful. We are also very thankful to the Welsh Language Unit of the Welsh Government who have funded this early work.

Building on the map

This is a draft map running on a prototype server. It gives you the ability to pan and zoom. As the developer on this project I am very pleased with the results so far.

I will introduce another feature very soon – the ability to embed this map on any website.

Nevertheless you might spot omissions or glitches while it’s being developed, and some big areas for functional improvement.

As I write this we have received a bundle of very useful place name data from the office of the Welsh Language Commissioner, which is itself the fruit of years of dedicated work. This is comprehensive down to the level of villages, and licensed under OGL.

Improving the data

This section contains background if you are interested in improving OpenStreetMap place names and other data.

Imports of the OSM data happen automatically overnight. Some pre-rendering of map tiles is also done, to speed things up.

The ideal OSM data set for place names in Welsh would have a name:cy tag for every single item. We are not there yet.

In the meantime my system uses name:cy tags and some name tags.

name:cy has highest precedence. If you want to add a definitive name in Welsh to anything, edit the map on osm.org and add a name:cy tag. You will need to create a user account if you don’t already have one. Provided your submission is accepted by the community this will guarantee its inclusion on the next nightly update.

Many name:cy tags already exist.

The challenge with the existing data is that some names that we want to use are currently only available from the name tag. That is, many places do not have a name:cy tag.

Understandably OSM contributors haven’t tended to add an identical name:cy tag for Morfa Nefyn, Abersoch, and hundreds of other villages and places.

I’ve tried rendering different versions of the map using different criteria. Enabling all name tags somewhat ruins the ethos and magic of having a map in Welsh. Then huge tracts of Wales vanished when I removed the name tags again!

So I have set the system to use name for these types of places only:

  • ‘village’
  • ‘hamlet’
  • ‘town’
  • ‘island’
  • ‘neighbourhood’
  • ‘square’
  • ‘farm’
  • ‘isolated_dwelling’
  • ‘locality’

For other elements I also have a white list and black list, e.g. ‘Ysgol’, ‘Capel’ and ‘Eglwys’ are on the white list, among others. We will tend to want names containing those words.

name:cy currently overrides all of this however. Do please add name:cy tags via osm.org if you spot errors or gaps, and they will also be available to other projects around the world.

Use and applications in the near future

What you see now is just one possible app that uses the underlying map infrastructure to show a map of Wales.

Having a map like this introduces many exciting possibilities in:

  • learning
  • exploration
  • navigation
  • play
  • research
  • communication

Cof y Cwmwd: wiki website about Uwchgwyrfai’s history

Here’s an item in Welsh for the TV programme Heno about Cof y Cwmwd, a new multi-author website about the Uwchgwyrfai area.

The purpose of the site is to collect and share historical information about the area, its institutions and people.

As web developer I have been working with Canolfan Hanes Uwchgwyrfai on this site, which is powered by MediaWiki server software.

People are now contributing pics and articles to the site.

Activity has increased today during the first Golygathon (Editathon) on the wiki, a community event to stimulate contributions. The Golygathon is headed by Jason Evans of the National Library of Wales, who is the Wicipediwr Preswyl (Wikipedian in Residence) and knows a great deal about growing wikis!

It’ll be very interesting to see how projects like Wikipedia and the new website Cof y Cwmwd share content between them in the future.

Pic of the Golygathon by Jason Evans

Bilingual and multilingual WordPress websites

WordPress translation system listing various languages

People often ask me about the best way to create and manage a truly bilingual or multilingual website. This is a common need in many contexts around the world.

Usually any given website, or section of a website, is on a spectrum of multilingual availability.

For example – and to take an extreme case- Wikipedia’s various language projects all have the same underlying software but are maintained completely separately by their communities, albeit with a certain amount of adaptation and translation flowing between them.

At the other end of the spectrum is an organisation which publishes two or more language versions of every piece of content.

Translation is sometimes seen as a way of fulfilling this requirement, increasingly with a translation memory. Saying that translation is certainly not the only way and may not even be always the best way.

Somewhere in between is a sort of hybrid website which publishes all ‘publicity’ material multilingually but gives the blog(s) and ‘human voice’ content for each language its own independent life. Let me know if you’ve seen an example of this being done successfully though.

My personal record, if I can put it that way, is a website serving four languages – German, Norwegian, English and Dutch, for a now defunct European theatre project which I co-developed in WordPress for a client in London some years ago.

Let this suffice to demonstrate that many models and forms of multilingualism are technically possible and implemented around the world.

It often pains me to see organisations offering a below par experience of multilingualism. This should be core to any discussion of user experience, and worth investing in to get right. There are plenty of examples of excellent practice, and there is help available!

Outside the world of organisations I’ve just added some new functionality and a new work section to my own website, morris.cymru.

This website originally started under another name in 2008 for various musings and thoughts. Over time I’ve switched languages a bit (English and Welsh), and also gradually had a need to share more work-oriented stuff and freelance projects.

I have retained my nine years of blog post archives, and have added code and settings to recover gracefully when a historical blog post is available in one language and not another.

Here is the technical background. I use WordPress.org and regardless of the plugin used you need language files for WordPress core, the theme, plugins as well as text for widgets, menus, categories, and more. The QTranslate X plugin, which is in my opinion currently the best (apart from the erroneous use of flags for languages), automates much of this searching for language files, when they are available. This plugin requires a whole load of configuration, so be warned.

@Wicipedia, an automatic Twitter bot

Check out @wicipedia which is an automatic Twitter bot I thoroughly enjoyed making.

This work was commissioned by Wikimedia UK as a means of increasing engagement with Wicipedia Cymraeg, the Welsh-language version of Wikipedia.

It is an automated Twitter account sharing:

  • ‘on this day’ historical events,
  • links to recent new articles within certain criteria of ‘interestingness’,
  • ideas for articles that anybody can create about notable women in order to contribute to fair gender representation on Wicipedia.

You’ll see all of these types of tweets on the account itself.

If you’re curious the account is run by a custom PHP script which runs on a server and performs calls to the Wikipedia API and Twitter API.

Björk pic by deep schismic (CC BY)

Scheduling tweets in bulk in advance (my way)

I’ve created my own system to tweet a row from this spreadsheet every day.

The name of the Twitter account is @fideobobdydd, a way of sharing high quality videos in Welsh from various genres. Social media like Twitter have the potential to find audiences for videos and vice-versa, when algorithmic search and recommendation sometimes (feel like they) put content in Welsh at a disadvantage. This is what I’d like to investigate, anyway.

At the moment it tweets once per day at a set time. It’s a proof of concept which could easily be extended or adapted.

Why create a system? I’ve tried Hootsuite, Buffer and similar systems but on the whole these are too cumbersome for me. On the spreadhset I can see half a month and move things around quickly. Working with others is easy because the spreadsheet is on Google Drive.

I doubt that Hootsuite as a company is losing sleep over it. It’s just my homebaked solution to a particular problem. 🙂

It would be possible to add other sources rather than relying on manual input of videos. At the moment if there is a gap on any given day, there is no tweet. I could create a long list of videos to post randomly as well as the spreadsheet list, or syndicate videos from a list of favourites or YouTube playlist, and so on. Of course other platforms like Facebook Video are also possible.

Here’s some technical info. This is a PHP script which talks to the Twitter API. Rather than use the Google Drive API I have done a speedier implementation of retrieving the content as CSV.

Diolch i Nwdls am y (cy)syniad gwreiddiol o Fideo Bob Dydd.