diff --git a/web/source/package.json b/web/source/package.json index 3f8bd5a9d..64ba01de9 100644 --- a/web/source/package.json +++ b/web/source/package.json @@ -26,6 +26,7 @@ "is-plain-object": "^5.0.0", "is-valid-domain": "^0.1.6", "js-file-download": "^0.4.12", + "langs": "^2.0.0", "livereload-js": "^3.4.1", "modern-normalize": "^1.1.0", "photoswipe": "^5.3.0", diff --git a/web/source/settings/components/languages.jsx b/web/source/settings/components/languages.jsx index 1522495da..177947d8a 100644 --- a/web/source/settings/components/languages.jsx +++ b/web/source/settings/components/languages.jsx @@ -19,80 +19,17 @@ "use strict"; const React = require("react"); +const langs = require("langs"); + +const asElements = langs.all().map((l) => { + let code = l["1"].toUpperCase(); + let name = l.name; + if (l.name != l.local) { + name = `${name} - ${l.local}`; + } + return ; +}); module.exports = function Languages() { - return - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; -}; + return asElements; +}; \ No newline at end of file diff --git a/web/source/yarn.lock b/web/source/yarn.lock index d88af5d57..31fff3c0d 100644 --- a/web/source/yarn.lock +++ b/web/source/yarn.lock @@ -3719,6 +3719,11 @@ labeled-stream-splicer@^2.0.0: inherits "^2.0.1" stream-splicer "^2.0.0" +langs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/langs/-/langs-2.0.0.tgz#00c32ce48152a49a614450b9ba2632ab58a0a364" + integrity sha512-v4pxOBEQVN1WBTfB1crhTtxzNLZU9HPWgadlwzWKISJtt6Ku/CnpBrwVy+jFv8StjxsPfwPFzO0CMwdZLJ0/BA== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"