For specifying references in a machine-friendly way, I reckon OSIS’s references are probably the best idea, minus the ability to refer to portions smaller than a verse (which is two features: sub-identifiers and fine-grained references). See osisRef in <https://ebible.org/osis/OSIS2_1UserManual_06March2006_-_with...>. My main complaint about osisRef is that it only allows contiguous ranges. Anyway, OSIS references will yield results like Rev.13.18, Exod.20.3-Exod.20.17, Gen.6.9-Gen.9.17.
Rigid formats are so much easier to work with. Once you’re allowing any flexibility, you get into all kinds of hot water of disappointed expectations. Will you support “2K”, “2 Ki”, “IIKgs”, “II Kng”, “2 Kings”, &c. as all referring to what OSIS calls 2Kgs? Support at least “:”, “.”, “v”, “vv” as a chapter/verse divider? If I ask you for “2 Mose 3:4”, will you resolve that to Exod.3.4? (German has 1–5 Mose instead of Genesis–Deuteronomy.) It’s all kinds of fun; most tooling does a fairly poor job of it in my experience. libsword, by far the most popular foundation for open-source Bible software, does quite poorly in certain cases that keep on annoying me. (Perhaps I should submit patches like adding 1K and 2K as abbreviations and tweaking its reference parser which is a bit of a monstrosity, but I’m just choosing to start from scratch for my own software focused on Bible reading which I’m working on, a domain that no one has made any serious attempt on, as I judge it.)
No one has asked before. Also, I only have an English version (the King James in particular). I don't see much of an issue with adding alternative book names (I also support two letter abbreviations) other than working on a twenty-plus year old Apache module.
I originally planned on supporting non-contiguous ranges, but gabe up on that to get something out.
Rigid formats are so much easier to work with. Once you’re allowing any flexibility, you get into all kinds of hot water of disappointed expectations. Will you support “2K”, “2 Ki”, “IIKgs”, “II Kng”, “2 Kings”, &c. as all referring to what OSIS calls 2Kgs? Support at least “:”, “.”, “v”, “vv” as a chapter/verse divider? If I ask you for “2 Mose 3:4”, will you resolve that to Exod.3.4? (German has 1–5 Mose instead of Genesis–Deuteronomy.) It’s all kinds of fun; most tooling does a fairly poor job of it in my experience. libsword, by far the most popular foundation for open-source Bible software, does quite poorly in certain cases that keep on annoying me. (Perhaps I should submit patches like adding 1K and 2K as abbreviations and tweaking its reference parser which is a bit of a monstrosity, but I’m just choosing to start from scratch for my own software focused on Bible reading which I’m working on, a domain that no one has made any serious attempt on, as I judge it.)