Wikipedia:WikiProject Red Link Recovery/Link matching script/US vs UK spelling differences

This requires mysql 5.0.3 or newer.

For now, the list contains only a small set of differences. For more possible words to change, see American and British English spelling differences

NB: This doesn't need to include differences in the doubling of letters (ie 'jewellery' vs 'jewelry') as these are picked up by other reports.


DROP TABLE wordmap;

CREATE TABLE wordmap (
   a varchar(255) binary NOT NULL,
   b varchar(255) binary NOT NULL
);

INSERT INTO wordmap VALUES ('aeroplane','airplane');
INSERT INTO wordmap VALUES ('aeroplanes','airplanes');
INSERT INTO wordmap VALUES ('aging','ageing');
INSERT INTO wordmap VALUES ('aluminium','aluminum');
INSERT INTO wordmap VALUES ('analog','analogue');
INSERT INTO wordmap VALUES ('analogs','analogues');
INSERT INTO wordmap VALUES ('analyzed','analyses');
INSERT INTO wordmap VALUES ('analyzes','analyses');
INSERT INTO wordmap VALUES ('analyzer','analyser');
INSERT INTO wordmap VALUES ('analyzing','analysing');
INSERT INTO wordmap VALUES ('annexe','annex');
INSERT INTO wordmap VALUES ('apologize','apologise' );
INSERT INTO wordmap VALUES ('apologized','apologised' );
INSERT INTO wordmap VALUES ('apologizes','apologises' );
INSERT INTO wordmap VALUES ('apologizer','apologiser' );
INSERT INTO wordmap VALUES ('apologizing','apologising' );
INSERT INTO wordmap VALUES ('archeology','archaeology' );
INSERT INTO wordmap VALUES ('archeological','archaeological' );
INSERT INTO wordmap VALUES ('archeologist','archaeologist' );
INSERT INTO wordmap VALUES ('argument','arguement');
INSERT INTO wordmap VALUES ('arguments','arguements');
INSERT INTO wordmap VALUES ('argumentative','arguementative');
INSERT INTO wordmap VALUES ('armor','armour');
INSERT INTO wordmap VALUES ('armors','armours');
INSERT INTO wordmap VALUES ('armored','armoured');
INSERT INTO wordmap VALUES ('armorer','armourer');
INSERT INTO wordmap VALUES ('armoring','armouring');
INSERT INTO wordmap VALUES ('baptize','baptise' );
INSERT INTO wordmap VALUES ('baptizes','baptises' );
INSERT INTO wordmap VALUES ('baptized','baptised' );
INSERT INTO wordmap VALUES ('baptizm','baptism' );
INSERT INTO wordmap VALUES ('baptizmal','baptismal' );
INSERT INTO wordmap VALUES ('baptizms','baptisms' );
INSERT INTO wordmap VALUES ('behavior','behaviour');
INSERT INTO wordmap VALUES ('behaviors','behaviours');
INSERT INTO wordmap VALUES ('behavioral','behavioural');
INSERT INTO wordmap VALUES ('carburettor','carburetor');
INSERT INTO wordmap VALUES ('carburettors','carburetors');
INSERT INTO wordmap VALUES ('catalog','catalogue');
INSERT INTO wordmap VALUES ('catalogs','catalogues');
INSERT INTO wordmap VALUES ('cataloged','catalogued');
INSERT INTO wordmap VALUES ('center','centre' );
INSERT INTO wordmap VALUES ('centers','centres' );
INSERT INTO wordmap VALUES ('centered','centred' );
INSERT INTO wordmap VALUES ('check','cheque');
INSERT INTO wordmap VALUES ('checks','cheques');
INSERT INTO wordmap VALUES ('checker','chequer');
INSERT INTO wordmap VALUES ('checkers','chequers');
INSERT INTO wordmap VALUES ('color','colour');
INSERT INTO wordmap VALUES ('colors','colours');
INSERT INTO wordmap VALUES ('colored','coloured');
INSERT INTO wordmap VALUES ('coloring','colouring');
INSERT INTO wordmap VALUES ('cosy','cozy');
INSERT INTO wordmap VALUES ('criticize','criticise');
INSERT INTO wordmap VALUES ('criticizes','criticises');
INSERT INTO wordmap VALUES ('criticized','criticised');
INSERT INTO wordmap VALUES ('criticizing','criticising');
INSERT INTO wordmap VALUES ('criticizism','criticisism');
INSERT INTO wordmap VALUES ('criticizisms','criticisisms');
INSERT INTO wordmap VALUES ('defense','defence');
INSERT INTO wordmap VALUES ('defenses','defences');
INSERT INTO wordmap VALUES ('dialog','dialogue');
INSERT INTO wordmap VALUES ('dialogs','dialogues');
INSERT INTO wordmap VALUES ('draft','draught');
INSERT INTO wordmap VALUES ('drafts','draughter');
INSERT INTO wordmap VALUES ('drafter','draughter');
INSERT INTO wordmap VALUES ('drafted','draughted');
INSERT INTO wordmap VALUES ('drafting','draughting');
INSERT INTO wordmap VALUES ('encylopedia','encylycopaedia');
INSERT INTO wordmap VALUES ('encylopedae','encylycopaedae');
INSERT INTO wordmap VALUES ('encylopedias','encylycopaedias');
INSERT INTO wordmap VALUES ('encylopedic','encylycopaedic');
INSERT INTO wordmap VALUES ('flavor','flavour');
INSERT INTO wordmap VALUES ('flavors','flavours');
INSERT INTO wordmap VALUES ('flavored','flavoured');
INSERT INTO wordmap VALUES ('flavoring','flavouring');
INSERT INTO wordmap VALUES ('flavorings','flavourings');
INSERT INTO wordmap VALUES ('gram','gramme' );
INSERT INTO wordmap VALUES ('grams','grammes' );
INSERT INTO wordmap VALUES ('kilogram','kilogramme' );
INSERT INTO wordmap VALUES ('kilograms','kilogrammes' );
INSERT INTO wordmap VALUES ('grey','gray');
INSERT INTO wordmap VALUES ('greys','grays');
INSERT INTO wordmap VALUES ('greyed','grayed');
INSERT INTO wordmap VALUES ('greyer','grayer');
INSERT INTO wordmap VALUES ('greying','graying');
INSERT INTO wordmap VALUES ('greyer','grayer');
INSERT INTO wordmap VALUES ('harbor','harbour');
INSERT INTO wordmap VALUES ('harbors','harbours');
INSERT INTO wordmap VALUES ('harbored','harboured');
INSERT INTO wordmap VALUES ('harborer','harbourer');
INSERT INTO wordmap VALUES ('harboring','harbouring');
INSERT INTO wordmap VALUES ('honor','honour');
INSERT INTO wordmap VALUES ('honors','honours');
INSERT INTO wordmap VALUES ('honored','honoured');
INSERT INTO wordmap VALUES ('honoring','honouring');
INSERT INTO wordmap VALUES ('humor','humour' );
INSERT INTO wordmap VALUES ('humors','humours' );
INSERT INTO wordmap VALUES ('humored','humoured' );
INSERT INTO wordmap VALUES ('humorist','humourist' );
INSERT INTO wordmap VALUES ('humorists','humourists' );
INSERT INTO wordmap VALUES ('humoring','humouring' );
INSERT INTO wordmap VALUES ('judgment','judgement');
INSERT INTO wordmap VALUES ('judgments','judgements');
INSERT INTO wordmap VALUES ('kilometre','kilometer');
INSERT INTO wordmap VALUES ('kilometres','kilometers');
INSERT INTO wordmap VALUES ('labor','labour' );
INSERT INTO wordmap VALUES ('labors','labours' );
INSERT INTO wordmap VALUES ('labored','laboured' );
INSERT INTO wordmap VALUES ('laborer','labourer' );
INSERT INTO wordmap VALUES ('laboring','labouring' );
INSERT INTO wordmap VALUES ('license','licence');
INSERT INTO wordmap VALUES ('licenses','licences');
INSERT INTO wordmap VALUES ('licensed','licenced');
INSERT INTO wordmap VALUES ('licenser','licencer');
INSERT INTO wordmap VALUES ('licensee','licencee');
INSERT INTO wordmap VALUES ('licensing','licencing');
INSERT INTO wordmap VALUES ('maneuver','manoeuvre');
INSERT INTO wordmap VALUES ('maneuvers','manoeuvres');
INSERT INTO wordmap VALUES ('maneuvered','manoeuvred');
INSERT INTO wordmap VALUES ('maneuverer','manoeuvree');
INSERT INTO wordmap VALUES ('maneuvering','manoeuvring');
INSERT INTO wordmap VALUES ('medieval','mediaeval');
INSERT INTO wordmap VALUES ('memorize','memorise');
INSERT INTO wordmap VALUES ('memorizes','memorises');
INSERT INTO wordmap VALUES ('memorized','memorised');
INSERT INTO wordmap VALUES ('memorizer','memoriser');
INSERT INTO wordmap VALUES ('memorizing','memorising');
INSERT INTO wordmap VALUES ('meter','metre' );
INSERT INTO wordmap VALUES ('meters','metres' );
INSERT INTO wordmap VALUES ('metered','metred' );
INSERT INTO wordmap VALUES ('meterer','metrer' );
INSERT INTO wordmap VALUES ('metering','metring' );
INSERT INTO wordmap VALUES ('mould','mold');
INSERT INTO wordmap VALUES ('moulds','molds');
INSERT INTO wordmap VALUES ('moulding','molding');
INSERT INTO wordmap VALUES ('moulded','molded');
INSERT INTO wordmap VALUES ('moustache','mustache');
INSERT INTO wordmap VALUES ('moustaches','mustaches');
INSERT INTO wordmap VALUES ('neighbor','neighbour');
INSERT INTO wordmap VALUES ('neighbors','neighbours');
INSERT INTO wordmap VALUES ('neighbored','neighboured');
INSERT INTO wordmap VALUES ('neighborhood','neighbourhood');
INSERT INTO wordmap VALUES ('neighborhoods','neighbourhoods');
INSERT INTO wordmap VALUES ('organize','organise' );
INSERT INTO wordmap VALUES ('organizes','organises' );
INSERT INTO wordmap VALUES ('organized','organised' );
INSERT INTO wordmap VALUES ('organizer','organiser' );
INSERT INTO wordmap VALUES ('organizing','organising' );
INSERT INTO wordmap VALUES ('organizm','organism' );
INSERT INTO wordmap VALUES ('organizms','organisms' );
INSERT INTO wordmap VALUES ('pajamas','pyjamas');
INSERT INTO wordmap VALUES ('plough','plow');
INSERT INTO wordmap VALUES ('ploughs','plows');
INSERT INTO wordmap VALUES ('ploughed','plowed');
INSERT INTO wordmap VALUES ('ploughing','plowing');
INSERT INTO wordmap VALUES ('program','programme');
INSERT INTO wordmap VALUES ('programs','programmes');
INSERT INTO wordmap VALUES ('programed','programmed');
INSERT INTO wordmap VALUES ('programer','programmer');
INSERT INTO wordmap VALUES ('programing','programming');
INSERT INTO wordmap VALUES ('programers','programmers');
INSERT INTO wordmap VALUES ('realise','realize');
INSERT INTO wordmap VALUES ('realises','realizes');
INSERT INTO wordmap VALUES ('realised','realized');
INSERT INTO wordmap VALUES ('realising','realizing');
INSERT INTO wordmap VALUES ('realism','realizm');
INSERT INTO wordmap VALUES ('recognize','recognise' );
INSERT INTO wordmap VALUES ('recognizes','recognises' );
INSERT INTO wordmap VALUES ('recognized','recognised' );
INSERT INTO wordmap VALUES ('recognizer','recogniser' );
INSERT INTO wordmap VALUES ('recognizing','recognising' );
INSERT INTO wordmap VALUES ('recognizm','recognism' );
INSERT INTO wordmap VALUES ('rumor','rumour');
INSERT INTO wordmap VALUES ('rumors','rumours');
INSERT INTO wordmap VALUES ('rumored','rumoured');
INSERT INTO wordmap VALUES ('savior','saviour');
INSERT INTO wordmap VALUES ('saviors','saviours');
INSERT INTO wordmap VALUES ('savor','savour');
INSERT INTO wordmap VALUES ('savors','savours');
INSERT INTO wordmap VALUES ('savored','savoured');
INSERT INTO wordmap VALUES ('savoring','savouring');
INSERT INTO wordmap VALUES ('savory','savoury');
INSERT INTO wordmap VALUES ('speciality','specialty');
INSERT INTO wordmap VALUES ('specialities','specialties');
INSERT INTO wordmap VALUES ('specialize','specialise' );
INSERT INTO wordmap VALUES ('specializes','specialises' );
INSERT INTO wordmap VALUES ('specialized','specialised' );
INSERT INTO wordmap VALUES ('specializing','specialising' );
INSERT INTO wordmap VALUES ('specializm','specialism' );
INSERT INTO wordmap VALUES ('specializms','specialisms' );
INSERT INTO wordmap VALUES ('storey','story');
INSERT INTO wordmap VALUES ('storeyed','storyed');
INSERT INTO wordmap VALUES ('theatre','theater');
INSERT INTO wordmap VALUES ('theatres','theaters');
INSERT INTO wordmap VALUES ('tyre','tire');
INSERT INTO wordmap VALUES ('tyres','tires');

LOCK TABLES wordmap WRITE, crushed_art WRITE, crushed_links WRITE;

UPDATE crushed_art, wordmap
SET title = replace( title, a, b )
WHERE title REGEXP concat( '[[:<:]]', a, '[[:>:]]' );

UPDATE crushed_links, wordmap
SET link = replace( link, a, b )
WHERE link REGEXP concat( '[[:<:]]', a, '[[:>:]]' );

UNLOCK TABLES;