Following the multilingual support (Japanese, Hiragana, English) added to the historical map service “Rekichizu,” this article introduces how to implement a map with language switching using MapLibre GL JS.

What is Rekichizu?

Rekichizu is a web service that lets you browse maps of the late Edo period (around 1800-1840) in a modern design. Multilingual support was added in November 2025, and the following three styles are provided.

LanguageStyle URL
Japanesehttps://mierune.github.io/rekichizu-style/styles/street/style.json
Hiraganahttps://mierune.github.io/rekichizu-style/styles/street/style_hira.json
Englishhttps://mierune.github.io/rekichizu-style/styles/street/style_en.json

Simple HTML Version

Here is an example implemented with plain HTML + JavaScript without any framework. The display language is switched based on a GET parameter (?lang=en).

Complete HTML File

<<<<!hh/b//Dte<<<<<<ho<<<bhOmammtsls/edd/ds/otCldeeicitb#.}.}..}sayi<<<dicc}f}lc}mf}f}f}d}w}usdmT>tttrnyomcllltd>vbbbivro;ueo)auuuo)i)pcylYlaalikl{daohdajgbbapbbbcftaabcby>uuuvin'''nccrtncscz;pnd}ncuwnicmuucb;nci};dr>>Paepeypneiluaaonaooauornnaoolcttt>ipsjjeGcooesoteo.co)UcoricfuapputdofaiEncn>th>mtisispcrgdrrcrnaggclreltttdttaanEtnntctnynoatcb;Rtnlntrpddmnoncmutpghara{{rgpgt:kd-dddkstn--kod>aooo=>'-'TissuutltmdiutLis.di(r.aae.ws(uapeth=amserohlnigebieego-sbbgresnnn"S:H:ottrrmaee:domnotsoolesttna.tlrpdB>t"rerfgfwlta-f8rrtnrrrrsittr:rsmTinnrai:rCne.newnaneeetdaar.aumjs=c=iois:yiypo-ng:-o:itnno-=cccaY'r'plepn:1oncua.nttUB.ddlnesttlae"="nnd:t-xub:ruzi:.uwc"lllpLhahgaaSneS2nutlurrhsgLSruqEdagneet>"tv"h:tt{5ec;no{1anpeohanhocaaa"Et'ternTt=rT[tp.aplciwatltuv/EnttBo>=iht-h0fmodt8pddo:nocdilosss>St:ttagYL:Y1rdqsdhsi=ny(teevg!LSun"ett0f:plsn:tpxi:i:vt:tonsss<UppLmLanL3oausa=Ptt=gllorne=attsUwtp;axe:toxun1eiert===/R=s'sas=Ene'E9lteLtaoc=eanytn==nyt(Tppsm1;xe#msswt4arv#;:r"""dL:h:nSgwmS.(erienrrh=(nsSLtglo)Fos:pi0;cnf:1o:heple2ollli{/t/g=p[a[7nBysUeayLcSg(eiLgcen;-r:al0et56lirxl{1#laaav/t/Fal=mpc6euStrwm.aulT))lsieu=(s8t<dy%n:f1pi4t;;{92snnn>mpmrnraa'u7wte.lspnraY;;etstrS(""ud:;t5pxdpe0b61"gggisioeangp,r1tlt(U.ugrnLcetLrlT)>tuniecfx;x;.aF9>---e:emwmgelr,moeolRss(egEtneaeaY;cinpnshre5#;2c36bbbr/rUs]tieancgaLehln;SoennnnLotpkgae;n;scsk;Ftttu/urU.Lbn3pstgn(tSat[rregtgEnlkg:nitoc;g3nnnnmnlRg?art5l(olgw(tnLlA(rFL;Steg.sgelcr;"""eie(LeneL.i)re)i'agaal'(ra[e>.c0-hri;o.e.)Stlgga6bA(nlt)nnlc'onlnco;st;dudddgrge(aFln8r{l'{daegg(lpmgatome:naaaiui{a'nr.g1elaon({)]'ioU)n=mbr#dttttntrlgoM]2g(cwg{).cprg"moicd:aaahehcama,]l't.'}r;lksl{]wmaxfad---u.uhn:Up,..il,,ea't()iap-;ld#lllbgbPgr(Nlvotn,a);dplsc;eaaa.i.a''l{aaeclugt;tlii}(0nnnitir)j(vn'aa'r-ehibz1egggohoa;a)ig,tn,nb'=bri00===/u/m';g-ig;t,dren0e"""rbrs;abbo)un=ee-gv0jjee.e(tttn;r'>v-g:h;aankikwinn)l)igl"-"ioiio'.;).scl@b-}>H>c/cnn)d;fw=e@4oiEhrhdC.aoi>-4.r5rnieiooftrtw.7d0agzkzwnoaEc{i7.ep<"luiu.trsahd.1rx/>i-c-lrEecLt1-)bsshsooathahdb;uhtitclc.(n,diot<yzya(hlbgisx}t/lult)(at(ist;o<be-ei,bnnbntn/u/s/otgtim}>btstsn'n=ntmauttyt.t=>.iaptoylyso==dapltnlelep>={allio>e/ea-t-ibnsssrr{casbr>/t/ciuscresyshgreae-tlt)hrtl-grer;te.eglese'nl=l.e/e)ta1.ctst;Ln.js/t/ag0sssrsn)"""tetg)>>yey);<rltl;/eeesl.s_c=jter"synisol.ptnejty'_s>l,hoeinsr'hae.ejts"on',

Usage

  1. Serve the HTML file via a web server (it will not work as a local file)
  2. Access examples:
    • index.html - Japanese (default)
    • index.html?lang=en - English
    • index.html?lang=ja-Hira - Hiragana

Key Points

Getting the GET parameter

ccoonnssttplaarnagms==panreawmsU.RgLeSte(a'rlcahnPga'r)a;ms(wi'nedno'w,.l'ojcaa-tHiiorna.'s,eaorrchn)u;ll

Updating the URL (without page navigation)

cuworinlns.dtsoewua.rrhlcihs=Ptaonrreaywm.spU.uRssLeh(tSw(ti'anltdaeon(wg{.'}l,,oc'ae'tn,i'o)un;r)l;);Addtohistory

Handling browser back/forward

w}i)n;dwR.ea-drdeEavdenltaLnigsutaegneerf(r'opmopUsRtLataen'd,upda=t>e{themap

Notes

Layer Re-configuration on Style Switch

When map.setStyle() is called, all added sources and layers are reset. Therefore, you need to listen for the style.load event and re-configure them.

mm}aa)pps;.I.esmotepnutocpSreLtt(aya'ylnseettr(:ysSl(TRe)Ye.;L-lEcoSoa[ndlf'ai,nggu]r)e;=l>ay{ersafterstyleloads

Data Usage

Rekichizu tile data and styles are available under CC BY-NC-ND 4.0. For commercial use, please contact the Rekichizu operator (MIERUNE, Inc.).

Summary

  • Rekichizu provides three styles: Japanese, Hiragana, and English
  • Specify the language via GET parameter (?lang=en)
  • Dynamically switch styles with map.setStyle()
  • After style change, re-configure layers on the style.load event

By combining historical maps with multilingual support, you can create applications that allow people from overseas to enjoy Japan’s historical place names and routes.