JSFiddle - React, Tailwind, and code Playground
JavaScript
var lang = {
"%{followers_count} followers": "%{followers_count} följare",
"%{name} on Twitter": "%{name} på Twitter",
"10k unit": "10k",
Follow: "Följ",
"Follow %{name} on Twitter": "Följ %{name} på Twitter",
"Follow %{screen_name}": "Följ %{screen_name}",
"This page has been shared %{tweets} times. View these Tweets.": "Den här sidan har delats %{tweets} gånger. Visa dessa tweets.",
Tweet: "Tweeta",
"Tweet %{hashtag}": "Tweeta %{hashtag}",
"Tweet to %{name}": "Tweeta till %{name}",
"You are following %{name} on Twitter": "Du följer %{name} på Twitter"
};
function _(literal) {
return literal in lang ? lang[literal] : literal;
};
var v = {
lang: 'en'
};
function H(e) {
var t, n, r = parseInt(e, 10), i = new RegExp("^\\" + _(",")), s = {ja:1, ko:1};
return isNaN(r) ? "" :
r < 1E4 ? r.toString()
.split("")
.reverse()
.join("")
.replace(/(\d{3})/g, "$1" + _(","))
.split("")
.reverse()
.join("")
.replace(i, "") :
r < 1E5 ? s[v.lang] ?
(n = (Math.floor(r / 100) / 100).toString(), n + _("10k unit")) :
(t = (Math.round(r / 100) / 10).toString(), t.replace(/\./, _(".")) + _("K")) : _("100K+")
}
console.log(
H(15),
H(155),
H(1555),
H(15555),
H(155555)
);
// it prints out
// 15 155 1,555 15.6K 100K+