marek 1 месяц назад
Родитель
Сommit
502c7c99eb
3 измененных файлов с 211 добавлено и 1 удалено
  1. 99 0
      lang/en.js
  2. 111 0
      lang/sk.js
  3. 1 1
      routes/include/panel/stations.js

+ 99 - 0
lang/en.js

@@ -49,6 +49,105 @@ const general = {
       keyUsedOrExpired: () => `Turnstile key already used or expired. please try again.`
     },
   },
+
+  adjectives: () => [
+    "adorable", "adventurous", "agreeable", "alert", "alive", "amused", 
+    "angry", "annoyed", "annoying", "anxious", "arrogant", "ashamed", 
+    "attractive", "average", "awful", "bad", "beautiful", "better", 
+    "bewildered", "black", "blue", "blue-eyed", "blushing", "bored", 
+    "brainy", "brave", "breakable", "bright", "busy", "calm", "careful", 
+    "cautious", "charming", "cheerful", "clean", "clear", "clever", 
+    "cloudy", "clumsy", "colorful", "combative", "comfortable", "concerned", 
+    "condemned", "confused", "cooperative", "courageous", "crazy", "creepy", 
+    "crowded", "curious", "cute", "dangerous", "dark", "dazzling", 
+    "deadpan", "delightful", "difficult", "distinct", "disturbed", "dizzy", 
+    "doubtful", "drab", "dull", "eager", "easy", "elated", "elegant", 
+    "embarrassed", "enchanting", "encouraging", "energetic", "enthusiastic", 
+    "envious", "excited", "expensive", "exuberant", "fair", "faithful", 
+    "famous", "fancy", "fantastic", "fast", "filthy", "fine", "foolish", 
+    "fragile", "frail", "frantic", "friendly", "frightened", "funny", 
+    "gentle", "gifted", "glamorous", "gleaming", "glorious", "good", 
+    "gorgeous", "graceful", "grieved", "grotesque", "grumpy", "handsome", 
+    "happy", "healthy", "helpful", "helpless", "hilarious", "homely", 
+    "horrible", "hungry", "hurt", "ill", "important", "impossible", 
+    "inexpensive", "innocent", "inquisitive", "intelligent", "interested", 
+    "itchy", "jealous", "jittery", "jolly", "joyous", "kind", "lazy", 
+    "light", "lively", "lonely", "long", "lovely", "lucky", "magnificent", 
+    "misty", "modern", "motionless", "muddy", "mushy", "mysterious", 
+    "nasty", "naughty", "nervous", "nice", "nutty", "obedient", "obnoxious", 
+    "odd", "open", "outrageous", "outstanding", "panicky", "perfect", 
+    "plain", "pleasant", "poised", "polite", "powerful", "precious", 
+    "prickly", "proud", "puzzled", "quaint", "real", "relieved", "repulsive", 
+    "rich", "scary", "selfish", "shiny", "shy", "silly", "sleepy", "smiling", 
+    "smoggy", "sore", "sparkling", "splendid", "spotless", "stormy", 
+    "strange", "stupid", "successful", "super", "talented", "tame", "tender", 
+    "tense", "terrible", "thankful", "thoughtful", "thoughtless", "tired", 
+    "tough", "troubled", "uninterested", "unsightly", "unusual", "upset", 
+    "uptight", "vast", "victorious", "vivacious", "wandering", "weary", 
+    "wicked", "wide-eyed", "wild", "witty", "worried", "worrisome", "wrong", 
+    "zany", "zealous"
+  ],
+
+  nouns: () => [
+    "actor", "airplane", "airport", "alarm", "alligator", "alphabet", 
+    "ambulance", "animal", "answer", "ant", "apple", "appliance", 
+    "apron", "arch", "arm", "army", "arrow", "ashtray", "asteroid", 
+    "author", "avocado", "baby", "back", "balloon", "banana", "band", 
+    "bank", "barber", "base", "basket", "basketball", "bat", "bath", 
+    "beach", "bear", "beard", "bed", "bee", "beef", "beetle", "bell", 
+    "belt", "bench", "beret", "berry", "bicycle", "bike", "bird", 
+    "birthday", "bite", "block", "boat", "book", "boot", "border", 
+    "bottle", "boundary", "box", "boy", "brake", "bread", "bridge", 
+    "bronco", "brother", "brush", "bubble", "bucket", "building", 
+    "bulb", "bunny", "bus", "butterfly", "button", "cabbage", "cactus", 
+    "cake", "calculator", "calendar", "camel", "camera", "camp", "candle", 
+    "canoe", "canvas", "cap", "caption", "car", "card", "carpenter", 
+    "carriage", "carrot", "cart", "castle", "cat", "cattle", "celery", 
+    "cello", "cement", "chain", "chair", "chalk", "channel", "cheese", 
+    "cherry", "chess", "chicken", "children", "chimpanzee", "chin", 
+    "church", "city", "clam", "clock", "cloth", "cloud", "clover", 
+    "club", "coach", "coal", "coast", "coat", "cobweb", "coil", "collar", 
+    "color", "comet", "compass", "computer", "conditioner", "cord", 
+    "cork", "corn", "couch", "country", "cow", "crab", "crack", "crate", 
+    "crayon", "cricket", "crocodile", "crow", "crown", "crust", "cup", 
+    "curtain", "cushion", "cylinder", "dog", "donkey", "door", "dragon", 
+    "drain", "drawer", "dress", "drop", "duck", "dust", "eagle", "ear", 
+    "earth", "egg", "eggplant", "elbow", "elephant", "engine", "eye", 
+    "face", "factory", "fairy", "family", "fan", "farm", "feather", 
+    "feast", "fence", "field", "flag", "flower", "flute", "fly", "fog", 
+    "forest", "fork", "fountain", "frog", "fruit", "furniture", "garage", 
+    "garden", "gate", "gemstone", "ghost", "giraffe", "glass", "glove", 
+    "goat", "gold", "goose", "gorilla", "grape", "grass", "guitar", 
+    "hair", "hall", "hat", "helicopter", "helmet", "honey", "horn", 
+    "horse", "hospital", "house", "island", "jacket", "jar", "jellyfish", 
+    "kangaroo", "kettle", "key", "keyboard", "king", "kitchen", "kite", 
+    "kitten", "lamp", "leaf", "library", "lighthouse", "lion", "lizard", 
+    "lock", "lunch", "magnet", "map", "mask", "melon", "monkey", "moon", 
+    "mountain", "mouse", "mouth", "nail", "necklace", "needle", "nest", 
+    "nose", "notebook", "ocean", "orange", "owl", "paint", "pants", 
+    "paper", "parrot", "pencil", "piano", "pillow", "pizza", "planet", 
+    "plant", "pocket", "potato", "prison", "pumpkin", "rabbit", "rain", 
+    "rainbow", "ring", "river", "robot", "rocket", "root", "rope", 
+    "sail", "school", "scissors", "sea", "shoe", "sky", "snail", "snake", 
+    "snow", "soap", "sock", "spoon", "star", "sun", "table", "tiger", 
+    "tomato", "tooth", "train", "tree", "umbrella", "valley", "vase", 
+    "wagon", "wall", "whale", "wheel", "window", "wing", "wolf", "worm", 
+    "zebra", "zoo"
+  ],
+
+  generateName: () => {
+    const adjectives = general.adjectives()
+    const nouns = general.nouns()
+
+    const randomAdjective = adjectives[Math.floor(Math.random() * adjectives.length)];
+    const randomNoun = nouns[Math.floor(Math.random() * nouns.length)];
+
+    // Capitalize first letters and return
+    const cappedAdjective = randomAdjective.charAt(0).toUpperCase() + randomAdjective.slice(1);
+    const cappedNoun = randomNoun.charAt(0).toUpperCase() + randomNoun.slice(1);
+
+    return `${cappedAdjective} ${cappedNoun}`;
+  }
 }
 
 const icons = {

+ 111 - 0
lang/sk.js

@@ -53,6 +53,117 @@ const general = {
       keyUsedOrExpired: () => `Turnstile kľúč už bol použitý alebo vypršal. prosím skúste to znova.`,
     },
   },
+
+  adjectives: () => [
+    "rozkošný", "dobrodružný", "prijateľný", "ostražitý", "živý", "pobavený", 
+    "nahnevaný", "otrávený", "otravný", "znepokojený", "arogantný", "zahanbený", 
+    "atraktívny", "priemerný", "strašný", "zlý", "krásny", "lepší", 
+    "zmätený", "čierny", "modrý", "modrooký", "červenajúci", "znudený", 
+    "rozumný", "odvážny", "rozbitný", "jasný", "zaneprázdnený", "pokojný", "opatrný", 
+    "obozretný", "pôvabný", "veselý", "čistý", "jasný", "šikovný", 
+    "oblačný", "nemotorný", "farebný", "bojovný", "pohodlný", "ustarostený", 
+    "odsúdený", "zmätený", "spolupracujúci", "odvážny", "bláznivý", "strašidelný", 
+    "preplnený", "zvedavý", "roztomilý", "nebezpečný", "tmavý", "oslnivý", 
+    "nehybný", "nádherný", "ťažký", "odlišný", "rozrušený", "rozosmiaty", 
+    "pochybovačný", "fádny", "nudný", "nedočkavý", "ľahký", "povznesený", "elegantný", 
+    "zahanbený", "očarujúci", "povzbudivý", "energetický", "nadšený", 
+    "závistlivý", "nadšený", "drahý", "bujný", "férový", "verný", 
+    "slávny", "ozdobný", "fantastický", "rýchly", "špinavý", "jemný", "pochabý", 
+    "krehký", "slabý", "zbesilý", "priateľský", "vystrašený", "vtipný", 
+    "jemný", "nadaný", "očarujúci", "žiariaci", "slávny", "dobrý", 
+    "nádherný", "pôvabný", "zarmútený", "bizarný", "mrzutý", "pohľadný", 
+    "šťastný", "zdravý", "užitočný", "bezmocný", "zábavný", "domácky", 
+    "hrozný", "hladný", "zranený", "chorý", "dôležitý", "nemožný", 
+    "lacný", "nevinný", "všímavý", "inteligentný", "zaujatý", 
+    "svrbiaci", "žiarlivý", "nervózny", "veselý", "radostný", "láskavý", "lenivý", 
+    "ľahký", "živý", "osamelý", "dlhý", "pôvabný", "šťastný", "veľkolepý", 
+    "hmlistý", "moderný", "nehybný", "blatistý", "kašovitý", "tajomný", 
+    "odporný", "neposlušný", "nervózny", "milý", "bláznivý", "poslušný", "odporný", 
+    "zvláštny", "otvorený", "poburujúci", "vynikajúci", "spanikárený", "dokonalý", 
+    "prostý", "príjemný", "vyrovnaný", "zdvorilý", "mocný", "vzácny", 
+    "pichľavý", "hrdý", "zmätený", "staromódny", "skutočný", "uľavený", "odpudivý", 
+    "bohatý", "strašidelný", "sebecký", "lesklý", "plachý", "hlúpy", "ospalý", "usmievavý", 
+    "zahmlený", "boľavý", "iskrivý", "veľkolepý", "bezchybný", "búrlivý", 
+    "divný", "hlúpy", "úspešný", "super", "talentovaný", "krotký", "nežný", 
+    "napätý", "hrozný", "vďačný", "premýšľavý", "bezohľadný", "unavený", 
+    "tvrdý", "trápiaci", "nezaujatý", "nevzhľadný", "nezvyčajný", "rozrušený", 
+    "napätý", "rozľahlý", "víťazný", "živý", "túlajúci", "unavený", 
+    "zlý", "udivený", "divoký", "vtipný", "ustarostený", "znepokojujúci", "nesprávny", 
+    "bláznivý", "horlivý"
+  ],
+
+  nouns: () => ({
+    "herec": "m", "lietadlo": "n", "letisko": "n", "alarm": "m", "aligátor": "m", "abeceda": "f",
+    "sanitka": "f", "zviera": "n", "odpoveď": "f", "mravec": "m", "jablko": "n", "spotrebič": "m",
+    "zástera": "f", "oblúk": "m", "rameno": "n", "armáda": "f", "šíp": "m", "popolník": "m", "asteroid": "m",
+    "autor": "m", "avokádo": "n", "dieťa": "n", "chrbát": "m", "balón": "m", "banán": "m", "skupina": "f",
+    "banka": "f", "holič": "m", "základňa": "f", "košík": "m", "basketbal": "m", "netopier": "m", "kúpeľ": "m",
+    "pláž": "f", "medveď": "m", "brada": "f", "posteľ": "f", "včela": "f", "hovädzie": "n", "chrobák": "m", "zvonec": "m",
+    "opasok": "m", "lavička": "f", "bareta": "f", "bobuľa": "f", "bicykel": "m", "bicykel": "m", "vták": "m",
+    "narodeniny": "m", "hryz": "m", "blok": "m", "čln": "m", "kniha": "f", "topánka": "f", "hranica": "f",
+    "fľaša": "f", "hranica": "f", "krabica": "f", "chlapec": "m", "brzda": "f", "chlieb": "m", "most": "m",
+    "divoký kôň": "m", "brat": "m", "kefa": "f", "bublina": "f", "vedro": "n", "budova": "f",
+    "žiarovka": "f", "zajačik": "m", "autobus": "m", "motýľ": "m", "gombík": "m", "kapusta": "f", "kaktus": "m",
+    "koláč": "m", "kalkulačka": "f", "kalendár": "m", "ťava": "f", "kamera": "f", "tábor": "m", "sviečka": "f",
+    "kanoe": "n", "plátno": "n", "čiapka": "f", "titulok": "m", "auto": "n", "karta": "f", "tesár": "m",
+    "kočiar": "m", "mrkva": "f", "vozík": "m", "hrad": "m", "mačka": "f", "dobytok": "m", "zeler": "m",
+    "violončelo": "n", "cement": "m", "reťaz": "f", "stolička": "f", "krieda": "f", "kanál": "m", "syr": "m",
+    "čerešňa": "f", "šach": "m", "kura": "n", "deti": "n", "šimpanz": "m", "brada": "f",
+    "kostol": "m", "mesto": "n", "mušľa": "f", "hodiny": "f", "látka": "f", "oblak": "m", "ďatelina": "f",
+    "klub": "m", "tréner": "m", "uhlie": "n", "pobrežie": "n", "kabát": "m", "pavučina": "f", "cievka": "f", "obojok": "m",
+    "farba": "f", "kométa": "f", "kompas": "m", "počítač": "m", "kondicionér": "m", "šnúra": "f",
+    "kork": "m", "kukurica": "f", "pohovka": "f", "krajina": "f", "krava": "f", "krab": "m", "trhlina": "f", "debna": "f",
+    "pastelka": "f", "cvrček": "m", "krokodíl": "m", "vrana": "f", "koruna": "f", "kôrka": "f", "šálka": "f",
+    "záves": "m", "vankúš": "m", "valec": "m", "pes": "m", "osol": "m", "dvere": "f", "drak": "m",
+    "odtok": "m", "zásuvka": "f", "šaty": "f", "kvapka": "f", "kačica": "f", "prach": "m", "orol": "m", "ucho": "n",
+    "zem": "f", "vajce": "n", "baklažán": "m", "lakeť": "m", "slon": "m", "motor": "m", "oko": "n",
+    "tvár": "f", "továreň": "f", "víla": "f", "rodina": "f", "ventilátor": "m", "farma": "f", "pierko": "n",
+    "hostina": "f", "plot": "m", "pole": "n", "vlajka": "f", "kvet": "m", "flauta": "f", "mucha": "f", "hmla": "f",
+    "les": "m", "vidlička": "f", "fontána": "f", "žaba": "f", "ovocie": "n", "nábytok": "m", "garáž": "f",
+    "záhrada": "f", "brána": "f", "drahokam": "m", "duch": "m", "žirafa": "f", "sklo": "n", "rukavica": "f",
+    "koza": "f", "zlato": "n", "hus": "f", "gorila": "f", "hrozno": "n", "tráva": "f", "gitara": "f",
+    "vlasy": "m", "hala": "f", "klobúk": "m", "vrtuľník": "m", "prilba": "f", "med": "m", "roh": "m",
+    "kôň": "m", "nemocnica": "f", "dom": "m", "ostrov": "m", "bunda": "f", "nádoba": "f", "medúza": "f",
+    "kengura": "f", "kanvica": "f", "kľúč": "m", "klávesnica": "f", "kráľ": "m", "kuchyňa": "f", "šarkan": "m",
+    "mačiatko": "n", "lampa": "f", "list": "m", "knižnica": "f", "maják": "m", "lev": "m", "jašterica": "f",
+    "zámok": "m", "obed": "m", "magnet": "m", "mapa": "f", "maska": "f", "melón": "m", "opica": "f", "mesiac": "m",
+    "vrch": "m", "myš": "f", "ústa": "n", "klinec": "m", "náhrdelník": "m", "ihla": "f", "hniezdo": "n",
+    "nos": "m", "zápisník": "m", "oceán": "m", "pomaranč": "m", "sova": "f", "farba": "f", "nohavice": "f",
+    "papier": "m", "papagáj": "m", "ceruzka": "f", "klavír": "m", "vankúš": "m", "pizza": "f", "planéta": "f",
+    "rastlina": "f", "vrecko": "n", "zemiak": "m", "väznica": "f", "tekvica": "f", "králik": "m", "dážď": "m",
+    "dúha": "f", "prsteň": "m", "rieka": "f", "robot": "m", "raketa": "f", "koreň": "m", "lano": "n",
+    "plachta": "f", "škola": "f", "nožnice": "f", "more": "n", "topánka": "f", "obloha": "f", "slimák": "m", "had": "m",
+    "sneh": "m", "mydlo": "n", "ponožka": "f", "lyžica": "f", "hviezda": "f", "slnko": "n", "stôl": "m", "tiger": "m",
+    "paradajka": "f", "zub": "m", "vlak": "m", "strom": "m", "dáždnik": "m", "údolie": "n", "váza": "f",
+    "vozeň": "m", "stena": "f", "veľryba": "f", "koleso": "n", "okno": "n", "krídlo": "n", "vlk": "m", "červ": "m",
+    "zebra": "f", "zoo": "f"
+  }),
+
+  generateName: () => {
+    const adjectives = general.adjectives()
+    const nouns = Object.keys(general.nouns())
+    const genders = general.nouns()
+
+    const randomAdjective = adjectives[Math.floor(Math.random() * adjectives.length)];
+    const randomNoun = nouns[Math.floor(Math.random() * nouns.length)];
+    
+    const gender = genders[randomNoun];
+
+    let finalAdjective = randomAdjective;
+
+    // Handle Slovak grammar
+    if (gender === "f") {
+      finalAdjective = randomAdjective.replace(/[ýí]$/, "á");
+    } else if (gender === "n") {
+      finalAdjective = randomAdjective.replace(/[ýí]$/, "é");
+    }
+
+    // Capitalize first letters and return
+    const cappedAdjective = finalAdjective.charAt(0).toUpperCase() + finalAdjective.slice(1);
+    const cappedNoun = randomNoun.charAt(0).toUpperCase() + randomNoun.slice(1);
+
+    return `${cappedAdjective} ${cappedNoun}`;
+  }
 }
 
 const icons = {

+ 1 - 1
routes/include/panel/stations.js

@@ -74,7 +74,7 @@ export default (langName, lang) => new Elysia({ prefix: "/stations" })
     }
 
     let name = body?.name
-    if (!name) name = "test"
+    if (!name) name = lang.general.generateName()
 
     const description = body?.description