@@ -125,15 +128,14 @@ exports = { name : "system", currencySym:"£",
});
- function createLocaleModule(lang) {
+ function createLocaleModule() {
console.log(`Language ${lang}`);
const translations = document.getElementById('translations').checked;
console.log(`Translations: ${translations}`);
- const locale = locales[lang];
if (!locale) {
- alert(`Language ${lang} not found!`);
+ alert(`Locale not set for language ${lang}!`);
return;
}
@@ -185,16 +187,10 @@ exports = { name : "system", currencySym:"£",
"%P": `d.getHours()<12?${js(locale.ampm[0].toLowerCase())}:${js(locale.ampm[1].toLowerCase())}`
};
- var timeN = locale.timePattern[0];
- var timeS = locale.timePattern[1];
- var dateN = locale.datePattern[0];
- var dateS = locale.datePattern[1];
- Object.keys(replaceList).forEach(e => {
- timeN = timeN.replace(e,"${"+replaceList[e]+"}");
- timeS = timeS.replace(e,"${"+replaceList[e]+"}");
- dateN = dateN.replace(e,"${"+replaceList[e]+"}");
- dateS = dateS.replace(e,"${"+replaceList[e]+"}");
- });
+ var timeN = patternToCode(locale.timePattern[0]);
+ var timeS = patternToCode(locale.timePattern[1]);
+ var dateN = patternToCode(locale.datePattern[0]);
+ var dateS = patternToCode(locale.datePattern[1]);
var temperature = locale.temperature=='°F' ? '(t*9/5)+32' : 't';
function getLocaleModule(isLocal) {
@@ -246,22 +242,121 @@ exports = {
eval(getLocaleModule(true));
console.log("exports:",exports);
+ function patternToCode(pattern){
+ for(const symbol of Object.keys(replaceList)){
+ pattern = pattern.replaceAll(symbol,"${"+replaceList[symbol]+"}");
+ }
+ return pattern;
+ }
+ function patternToOutput(pattern){
+ const code = patternToCode(pattern);
+ const result = eval(`let d = new Date();\`${code}\``);
+ return result;
+ }
+ function dataList(id, options, formatter){
+ let output = `";
+ return output;
+ }
+
var date = new Date();
- document.getElementById("examples").innerHTML = `
+ // TODO: This warning should have a link to an article explaining how the formats work, and how long they are allowed to be
+ document.getElementById("customize-warning").innerText = customizeLocale ? "⚠️ If you make the formats too long, some apps will not work!" : "";
+ document.getElementById("examples-short-long").innerHTML = `