diff --git a/web/public/locales/th/audio.json b/web/public/locales/th/audio.json
new file mode 100644
index 000000000..d6da10494
--- /dev/null
+++ b/web/public/locales/th/audio.json
@@ -0,0 +1,429 @@
+{
+ "speech": "พูด",
+ "yell": "ตะโกน",
+ "babbling": "พูดไม่ชัด",
+ "bellow": "ตะโกนเสียงต่ำ",
+ "whoop": "โห่ร้อง",
+ "singing": "ร้องเพลง",
+ "choir": "คณะนักร้องประสานเสียง",
+ "yodeling": "การร้องเพลงแบบโยเดิล",
+ "chant": "สวดมนต์",
+ "mantra": "มนต์",
+ "child_singing": "เด็กกำลังร้องเพลง",
+ "throat_clearing": "กระแอม",
+ "sneeze": "จาม",
+ "sniff": "สูดจมูก",
+ "run": "[ยังไม่แปล: Run]",
+ "shuffle": "[ยังไม่แปล: Shuffle]",
+ "footsteps": "[ยังไม่แปล: Footsteps]",
+ "biting": "[ยังไม่แปล: Biting]",
+ "gargling": "[ยังไม่แปล: Gargling]",
+ "stomach_rumble": "[ยังไม่แปล: Stomach Rumble]",
+ "burping": "[ยังไม่แปล: Burping]",
+ "hiccup": "[ยังไม่แปล: Hiccup]",
+ "heart_murmur": "[ยังไม่แปล: Heart Murmur]",
+ "cheering": "[ยังไม่แปล: Cheering]",
+ "applause": "[ยังไม่แปล: Applause]",
+ "chatter": "[ยังไม่แปล: Chatter]",
+ "crowd": "[ยังไม่แปล: Crowd]",
+ "children_playing": "[ยังไม่แปล: Children Playing]",
+ "animal": "สัตว์",
+ "pets": "[ยังไม่แปล: Pets]",
+ "dog": "สุนัข",
+ "bark": "เสียงหอบ",
+ "yip": "[ยังไม่แปล: Yip]",
+ "howl": "[ยังไม่แปล: Howl]",
+ "bow_wow": "[ยังไม่แปล: Bow Wow]",
+ "growling": "[ยังไม่แปล: Growling]",
+ "whimper_dog": "[ยังไม่แปล: Dog Whimper]",
+ "chirp": "[ยังไม่แปล: Chirp]",
+ "squawk": "[ยังไม่แปล: Squawk]",
+ "pigeon": "[ยังไม่แปล: Pigeon]",
+ "coo": "[ยังไม่แปล: Coo]",
+ "dogs": "[ยังไม่แปล: Dogs]",
+ "rats": "[ยังไม่แปล: Rats]",
+ "mouse": "เมาส์",
+ "patter": "[ยังไม่แปล: Patter]",
+ "insect": "[ยังไม่แปล: Insect]",
+ "cricket": "[ยังไม่แปล: Cricket]",
+ "frog": "[ยังไม่แปล: Frog]",
+ "croak": "[ยังไม่แปล: Croak]",
+ "snake": "[ยังไม่แปล: Snake]",
+ "snare_drum": "[ยังไม่แปล: Snare Drum]",
+ "rimshot": "[ยังไม่แปล: Rimshot]",
+ "trumpet": "[ยังไม่แปล: Trumpet]",
+ "trombone": "[ยังไม่แปล: Trombone]",
+ "bowed_string_instrument": "[ยังไม่แปล: Bowed String Instrument]",
+ "tuning_fork": "[ยังไม่แปล: Tuning Fork]",
+ "chime": "[ยังไม่แปล: Chime]",
+ "wind_chime": "[ยังไม่แปล: Wind Chime]",
+ "harmonica": "[ยังไม่แปล: Harmonica]",
+ "accordion": "[ยังไม่แปล: Accordion]",
+ "bagpipes": "[ยังไม่แปล: Bagpipes]",
+ "rock_music": "[ยังไม่แปล: Rock Music]",
+ "heavy_metal": "[ยังไม่แปล: Heavy Metal]",
+ "punk_rock": "[ยังไม่แปล: Punk Rock]",
+ "psychedelic_rock": "[ยังไม่แปล: Psychedelic Rock]",
+ "rhythm_and_blues": "[ยังไม่แปล: Rhythm and Blues]",
+ "soul_music": "[ยังไม่แปล: Soul Music]",
+ "reggae": "[ยังไม่แปล: Reggae]",
+ "country": "[ยังไม่แปล: Country]",
+ "swing_music": "[ยังไม่แปล: Swing Music]",
+ "bluegrass": "[ยังไม่แปล: Bluegrass]",
+ "funk": "[ยังไม่แปล: Funk]",
+ "folk_music": "[ยังไม่แปล: Folk Music]",
+ "middle_eastern_music": "[ยังไม่แปล: Middle Eastern Music]",
+ "jazz": "[ยังไม่แปล: Jazz]",
+ "disco": "[ยังไม่แปล: Disco]",
+ "independent_music": "[ยังไม่แปล: Independent Music]",
+ "song": "[ยังไม่แปล: Song]",
+ "jet_engine": "[ยังไม่แปล: Jet Engine]",
+ "propeller": "[ยังไม่แปล: Propeller]",
+ "helicopter": "[ยังไม่แปล: Helicopter]",
+ "fixed-wing_aircraft": "[ยังไม่แปล: Fixed-Wing Aircraft]",
+ "bicycle": "จักรยาน",
+ "accelerating": "[ยังไม่แปล: Accelerating]",
+ "door": "ประตู",
+ "slam": "[ยังไม่แปล: Slam]",
+ "computer_keyboard": "[ยังไม่แปล: Computer Keyboard]",
+ "radio": "[ยังไม่แปล: Radio]",
+ "field_recording": "[ยังไม่แปล: Field Recording]",
+ "scream": "[ยังไม่แปล: Scream]",
+ "whispering": "กระซิบ",
+ "laughter": "เสียงหัวเราะ",
+ "snicker": "หัวเราะเยาะ",
+ "crying": "ร้องไห้",
+ "sigh": "ถอนหายใจ",
+ "synthetic_singing": "การร้องเพลงสังเคราะห์",
+ "rapping": "การแร็พ",
+ "humming": "ฮัมเพลง",
+ "groan": "ครวญคราง",
+ "grunt": "เสียงคราง",
+ "whistling": "ผิวปาก",
+ "breathing": "การหายใจ",
+ "wheeze": "หายใจเสียงวี้ด",
+ "snoring": "กรน",
+ "gasp": "หอบ",
+ "pant": "หายใจหอบ",
+ "snort": "เสียงสูดจมูก",
+ "cough": "ไอ",
+ "chewing": "[ยังไม่แปล: Chewing]",
+ "fart": "[ยังไม่แปล: Fart]",
+ "hands": "[ยังไม่แปล: Hands]",
+ "finger_snapping": "[ยังไม่แปล: Finger Snapping]",
+ "clapping": "[ยังไม่แปล: Clapping]",
+ "heartbeat": "[ยังไม่แปล: Heartbeat]",
+ "cat": "แมว",
+ "purr": "[ยังไม่แปล: Purr]",
+ "meow": "[ยังไม่แปล: Meow]",
+ "hiss": "[ยังไม่แปล: Hiss]",
+ "caterwaul": "[ยังไม่แปล: Caterwaul]",
+ "livestock": "[ยังไม่แปล: Livestock]",
+ "horse": "ม้า",
+ "clip_clop": "[ยังไม่แปล: Clip Clop]",
+ "neigh": "[ยังไม่แปล: Neigh]",
+ "cattle": "[ยังไม่แปล: Cattle]",
+ "moo": "[ยังไม่แปล: Moo]",
+ "cowbell": "[ยังไม่แปล: Cowbell]",
+ "pig": "[ยังไม่แปล: Pig]",
+ "oink": "[ยังไม่แปล: Oink]",
+ "goat": "แพะ",
+ "bleat": "[ยังไม่แปล: Bleat]",
+ "sheep": "แกะ",
+ "fowl": "[ยังไม่แปล: Fowl]",
+ "chicken": "[ยังไม่แปล: Chicken]",
+ "cluck": "[ยังไม่แปล: Cluck]",
+ "cock_a_doodle_doo": "[ยังไม่แปล: Cock-a-Doodle-Doo]",
+ "turkey": "[ยังไม่แปล: Turkey]",
+ "gobble": "[ยังไม่แปล: Gobble]",
+ "duck": "[ยังไม่แปล: Duck]",
+ "quack": "[ยังไม่แปล: Quack]",
+ "goose": "[ยังไม่แปล: Goose]",
+ "honk": "[ยังไม่แปล: Honk]",
+ "wild_animals": "[ยังไม่แปล: Wild Animals]",
+ "roaring_cats": "[ยังไม่แปล: Roaring Cats]",
+ "roar": "[ยังไม่แปล: Roar]",
+ "bird": "นก",
+ "crow": "[ยังไม่แปล: Crow]",
+ "caw": "[ยังไม่แปล: Caw]",
+ "owl": "[ยังไม่แปล: Owl]",
+ "hoot": "[ยังไม่แปล: Hoot]",
+ "flapping_wings": "[ยังไม่แปล: Flapping Wings]",
+ "mosquito": "[ยังไม่แปล: Mosquito]",
+ "fly": "[ยังไม่แปล: Fly]",
+ "buzz": "[ยังไม่แปล: Buzz]",
+ "rattle": "[ยังไม่แปล: Rattle]",
+ "whale_vocalization": "[ยังไม่แปล: Whale Vocalization]",
+ "music": "[ยังไม่แปล: Music]",
+ "musical_instrument": "[ยังไม่แปล: Musical Instrument]",
+ "plucked_string_instrument": "[ยังไม่แปล: Plucked String Instrument]",
+ "guitar": "[ยังไม่แปล: Guitar]",
+ "electric_guitar": "[ยังไม่แปล: Electric Guitar]",
+ "bass_guitar": "[ยังไม่แปล: Bass Guitar]",
+ "acoustic_guitar": "[ยังไม่แปล: Acoustic Guitar]",
+ "steel_guitar": "[ยังไม่แปล: Steel Guitar]",
+ "tapping": "[ยังไม่แปล: Tapping]",
+ "strum": "[ยังไม่แปล: Strum]",
+ "banjo": "[ยังไม่แปล: Banjo]",
+ "sitar": "[ยังไม่แปล: Sitar]",
+ "mandolin": "[ยังไม่แปล: Mandolin]",
+ "zither": "[ยังไม่แปล: Zither]",
+ "ukulele": "[ยังไม่แปล: Ukulele]",
+ "keyboard": "คีย์บอร์ด",
+ "piano": "[ยังไม่แปล: Piano]",
+ "electric_piano": "[ยังไม่แปล: Electric Piano]",
+ "organ": "[ยังไม่แปล: Organ]",
+ "electronic_organ": "[ยังไม่แปล: Electronic Organ]",
+ "hammond_organ": "[ยังไม่แปล: Hammond Organ]",
+ "synthesizer": "[ยังไม่แปล: Synthesizer]",
+ "sampler": "[ยังไม่แปล: Sampler]",
+ "harpsichord": "[ยังไม่แปล: Harpsichord]",
+ "percussion": "[ยังไม่แปล: Percussion]",
+ "drum_kit": "[ยังไม่แปล: Drum Kit]",
+ "drum_machine": "[ยังไม่แปล: Drum Machine]",
+ "drum": "[ยังไม่แปล: Drum]",
+ "drum_roll": "[ยังไม่แปล: Drum Roll]",
+ "bass_drum": "[ยังไม่แปล: Bass Drum]",
+ "timpani": "[ยังไม่แปล: Timpani]",
+ "tabla": "[ยังไม่แปล: Tabla]",
+ "cymbal": "[ยังไม่แปล: Cymbal]",
+ "hi_hat": "[ยังไม่แปล: Hi-Hat]",
+ "wood_block": "[ยังไม่แปล: Wood Block]",
+ "tambourine": "[ยังไม่แปล: Tambourine]",
+ "maraca": "[ยังไม่แปล: Maraca]",
+ "gong": "[ยังไม่แปล: Gong]",
+ "tubular_bells": "[ยังไม่แปล: Tubular Bells]",
+ "mallet_percussion": "[ยังไม่แปล: Mallet Percussion]",
+ "marimba": "[ยังไม่แปล: Marimba]",
+ "glockenspiel": "[ยังไม่แปล: Glockenspiel]",
+ "vibraphone": "[ยังไม่แปล: Vibraphone]",
+ "steelpan": "[ยังไม่แปล: Steelpan]",
+ "orchestra": "[ยังไม่แปล: Orchestra]",
+ "brass_instrument": "[ยังไม่แปล: Brass Instrument]",
+ "church_bell": "[ยังไม่แปล: Church Bell]",
+ "jingle_bell": "[ยังไม่แปล: Jingle Bell]",
+ "french_horn": "[ยังไม่แปล: French Horn]",
+ "string_section": "[ยังไม่แปล: String Section]",
+ "violin": "[ยังไม่แปล: Violin]",
+ "bicycle_bell": "[ยังไม่แปล: Bicycle Bell]",
+ "pizzicato": "[ยังไม่แปล: Pizzicato]",
+ "cello": "[ยังไม่แปล: Cello]",
+ "double_bass": "[ยังไม่แปล: Double Bass]",
+ "wind_instrument": "[ยังไม่แปล: Wind Instrument]",
+ "flute": "[ยังไม่แปล: Flute]",
+ "saxophone": "[ยังไม่แปล: Saxophone]",
+ "clarinet": "[ยังไม่แปล: Clarinet]",
+ "harp": "[ยังไม่แปล: Harp]",
+ "bell": "[ยังไม่แปล: Bell]",
+ "didgeridoo": "[ยังไม่แปล: Didgeridoo]",
+ "theremin": "[ยังไม่แปล: Theremin]",
+ "singing_bowl": "[ยังไม่แปล: Singing Bowl]",
+ "scratching": "[ยังไม่แปล: Scratching]",
+ "pop_music": "[ยังไม่แปล: Pop Music]",
+ "hip_hop_music": "[ยังไม่แปล: Hip-Hop Music]",
+ "beatboxing": "[ยังไม่แปล: Beatboxing]",
+ "grunge": "[ยังไม่แปล: Grunge]",
+ "progressive_rock": "[ยังไม่แปล: Progressive Rock]",
+ "rock_and_roll": "[ยังไม่แปล: Rock and Roll]",
+ "classical_music": "[ยังไม่แปล: Classical Music]",
+ "opera": "[ยังไม่แปล: Opera]",
+ "electronic_music": "[ยังไม่แปล: Electronic Music]",
+ "house_music": "[ยังไม่แปล: House Music]",
+ "drum_and_bass": "[ยังไม่แปล: Drum and Bass]",
+ "techno": "[ยังไม่แปล: Techno]",
+ "dubstep": "[ยังไม่แปล: Dubstep]",
+ "electronica": "[ยังไม่แปล: Electronica]",
+ "electronic_dance_music": "[ยังไม่แปล: Electronic Dance Music]",
+ "ambient_music": "[ยังไม่แปล: Ambient Music]",
+ "trance_music": "[ยังไม่แปล: Trance Music]",
+ "music_of_latin_america": "[ยังไม่แปล: Music of Latin America]",
+ "salsa_music": "[ยังไม่แปล: Salsa Music]",
+ "flamenco": "[ยังไม่แปล: Flamenco]",
+ "blues": "[ยังไม่แปล: Blues]",
+ "music_for_children": "[ยังไม่แปล: Music for Children]",
+ "new-age_music": "[ยังไม่แปล: New Age Music]",
+ "vocal_music": "[ยังไม่แปล: Vocal Music]",
+ "a_capella": "[ยังไม่แปล: A Capella]",
+ "music_of_africa": "[ยังไม่แปล: Music of Africa]",
+ "afrobeat": "[ยังไม่แปล: Afrobeat]",
+ "christian_music": "[ยังไม่แปล: Christian Music]",
+ "gospel_music": "[ยังไม่แปล: Gospel Music]",
+ "music_of_asia": "[ยังไม่แปล: Music of Asia]",
+ "carnatic_music": "[ยังไม่แปล: Carnatic Music]",
+ "music_of_bollywood": "[ยังไม่แปล: Music of Bollywood]",
+ "ska": "[ยังไม่แปล: Ska]",
+ "traditional_music": "[ยังไม่แปล: Traditional Music]",
+ "background_music": "[ยังไม่แปล: Background Music]",
+ "theme_music": "[ยังไม่แปล: Theme Music]",
+ "jingle": "[ยังไม่แปล: Jingle]",
+ "soundtrack_music": "[ยังไม่แปล: Soundtrack Music]",
+ "lullaby": "[ยังไม่แปล: Lullaby]",
+ "video_game_music": "[ยังไม่แปล: Video Game Music]",
+ "christmas_music": "[ยังไม่แปล: Christmas Music]",
+ "dance_music": "[ยังไม่แปล: Dance Music]",
+ "wedding_music": "[ยังไม่แปล: Wedding Music]",
+ "happy_music": "[ยังไม่แปล: Happy Music]",
+ "sad_music": "[ยังไม่แปล: Sad Music]",
+ "angry_music": "[ยังไม่แปล: Angry Music]",
+ "scary_music": "[ยังไม่แปล: Scary Music]",
+ "tender_music": "[ยังไม่แปล: Tender Music]",
+ "exciting_music": "[ยังไม่แปล: Exciting Music]",
+ "wind": "[ยังไม่แปล: Wind]",
+ "rustling_leaves": "[ยังไม่แปล: Rustling Leaves]",
+ "wind_noise": "[ยังไม่แปล: Wind Noise]",
+ "thunderstorm": "[ยังไม่แปล: Thunderstorm]",
+ "thunder": "[ยังไม่แปล: Thunder]",
+ "water": "[ยังไม่แปล: Water]",
+ "rain": "[ยังไม่แปล: Rain]",
+ "raindrop": "[ยังไม่แปล: Raindrop]",
+ "rain_on_surface": "[ยังไม่แปล: Rain on Surface]",
+ "stream": "[ยังไม่แปล: Stream]",
+ "ocean": "[ยังไม่แปล: Ocean]",
+ "waterfall": "[ยังไม่แปล: Waterfall]",
+ "waves": "[ยังไม่แปล: Waves]",
+ "steam": "[ยังไม่แปล: Steam]",
+ "gurgling": "[ยังไม่แปล: Gurgling]",
+ "fire": "[ยังไม่แปล: Fire]",
+ "crackle": "[ยังไม่แปล: Crackle]",
+ "vehicle": "ยานพาหนะ",
+ "boat": "เรือ",
+ "sailboat": "[ยังไม่แปล: Sailboat]",
+ "rowboat": "[ยังไม่แปล: Rowboat]",
+ "motorboat": "[ยังไม่แปล: Motorboat]",
+ "ship": "[ยังไม่แปล: Ship]",
+ "motor_vehicle": "[ยังไม่แปล: Motor Vehicle]",
+ "car": "รถยนต์",
+ "toot": "[ยังไม่แปล: Toot]",
+ "car_alarm": "[ยังไม่แปล: Car Alarm]",
+ "power_windows": "[ยังไม่แปล: Power Windows]",
+ "skidding": "[ยังไม่แปล: Skidding]",
+ "tire_squeal": "[ยังไม่แปล: Tire Squeal]",
+ "car_passing_by": "[ยังไม่แปล: Car Passing By]",
+ "race_car": "[ยังไม่แปล: Race Car]",
+ "truck": "[ยังไม่แปล: Truck]",
+ "air_brake": "[ยังไม่แปล: Air Brake]",
+ "air_horn": "[ยังไม่แปล: Air Horn]",
+ "reversing_beeps": "[ยังไม่แปล: Reversing Beeps]",
+ "ice_cream_truck": "[ยังไม่แปล: Ice Cream Truck]",
+ "bus": "รถประจำทาง",
+ "emergency_vehicle": "[ยังไม่แปล: Emergency Vehicle]",
+ "police_car": "[ยังไม่แปล: Police Car]",
+ "ambulance": "[ยังไม่แปล: Ambulance]",
+ "fire_engine": "[ยังไม่แปล: Fire Engine]",
+ "motorcycle": "มอเตอร์ไซค์",
+ "traffic_noise": "[ยังไม่แปล: Traffic Noise]",
+ "rail_transport": "[ยังไม่แปล: Rail Transport]",
+ "train": "รถไฟ",
+ "train_whistle": "[ยังไม่แปล: Train Whistle]",
+ "train_horn": "[ยังไม่แปล: Train Horn]",
+ "railroad_car": "[ยังไม่แปล: Railroad Car]",
+ "train_wheels_squealing": "[ยังไม่แปล: Train Wheels Squealing]",
+ "subway": "[ยังไม่แปล: Subway]",
+ "aircraft": "[ยังไม่แปล: Aircraft]",
+ "aircraft_engine": "[ยังไม่แปล: Aircraft Engine]",
+ "skateboard": "สเก็ตบอร์ด",
+ "engine": "[ยังไม่แปล: Engine]",
+ "light_engine": "[ยังไม่แปล: Light Engine]",
+ "dental_drill's_drill": "[ยังไม่แปล: Dental Drill]",
+ "lawn_mower": "[ยังไม่แปล: Lawn Mower]",
+ "chainsaw": "[ยังไม่แปล: Chainsaw]",
+ "medium_engine": "[ยังไม่แปล: Medium Engine]",
+ "heavy_engine": "[ยังไม่แปล: Heavy Engine]",
+ "engine_knocking": "[ยังไม่แปล: Engine Knocking]",
+ "engine_starting": "[ยังไม่แปล: Engine Starting]",
+ "idling": "[ยังไม่แปล: Idling]",
+ "doorbell": "[ยังไม่แปล: Doorbell]",
+ "ding-dong": "[ยังไม่แปล: Ding-Dong]",
+ "sliding_door": "[ยังไม่แปล: Sliding Door]",
+ "knock": "[ยังไม่แปล: Knock]",
+ "tap": "[ยังไม่แปล: Tap]",
+ "squeak": "[ยังไม่แปล: Squeak]",
+ "drawer_open_or_close": "[ยังไม่แปล: Drawer Open or Close]",
+ "cupboard_open_or_close": "[ยังไม่แปล: Cupboard Open or Close]",
+ "dishes": "[ยังไม่แปล: Dishes]",
+ "cutlery": "[ยังไม่แปล: Cutlery]",
+ "chopping": "[ยังไม่แปล: Chopping]",
+ "frying": "[ยังไม่แปล: Frying]",
+ "microwave_oven": "[ยังไม่แปล: Microwave Oven]",
+ "blender": "เครื่องปั่น",
+ "water_tap": "[ยังไม่แปล: Water Tap]",
+ "sink": "อ่างล้างจาน",
+ "bathtub": "[ยังไม่แปล: Bathtub]",
+ "hair_dryer": "ไดร์เป่าผม",
+ "toilet_flush": "[ยังไม่แปล: Toilet Flush]",
+ "toothbrush": "แปรงสีฟัน",
+ "electric_toothbrush": "[ยังไม่แปล: Electric Toothbrush]",
+ "vacuum_cleaner": "[ยังไม่แปล: Vacuum Cleaner]",
+ "zipper": "[ยังไม่แปล: Zipper]",
+ "keys_jangling": "[ยังไม่แปล: Keys Jangling]",
+ "coin": "[ยังไม่แปล: Coin]",
+ "scissors": "กรรไกร",
+ "electric_shaver": "[ยังไม่แปล: Electric Shaver]",
+ "shuffling_cards": "[ยังไม่แปล: Shuffling Cards]",
+ "typing": "[ยังไม่แปล: Typing]",
+ "typewriter": "[ยังไม่แปล: Typewriter]",
+ "writing": "[ยังไม่แปล: Writing]",
+ "alarm": "[ยังไม่แปล: Alarm]",
+ "ringtone": "[ยังไม่แปล: Ringtone]",
+ "telephone": "[ยังไม่แปล: Telephone]",
+ "telephone_bell_ringing": "[ยังไม่แปล: Telephone Bell Ringing]",
+ "telephone_dialing": "[ยังไม่แปล: Telephone Dialing]",
+ "dial_tone": "[ยังไม่แปล: Dial Tone]",
+ "busy_signal": "[ยังไม่แปล: Busy Signal]",
+ "alarm_clock": "[ยังไม่แปล: Alarm Clock]",
+ "siren": "[ยังไม่แปล: Siren]",
+ "civil_defense_siren": "[ยังไม่แปล: Civil Defense Siren]",
+ "buzzer": "[ยังไม่แปล: Buzzer]",
+ "smoke_detector": "[ยังไม่แปล: Smoke Detector]",
+ "fire_alarm": "[ยังไม่แปล: Fire Alarm]",
+ "foghorn": "[ยังไม่แปล: Foghorn]",
+ "whistle": "[ยังไม่แปล: Whistle]",
+ "steam_whistle": "[ยังไม่แปล: Steam Whistle]",
+ "mechanisms": "[ยังไม่แปล: Mechanisms]",
+ "ratchet": "[ยังไม่แปล: Ratchet]",
+ "clock": "นาฬิกา",
+ "tick": "[ยังไม่แปล: Tick]",
+ "tick-tock": "[ยังไม่แปล: Tick-Tock]",
+ "gears": "[ยังไม่แปล: Gears]",
+ "pulleys": "[ยังไม่แปล: Pulleys]",
+ "sewing_machine": "[ยังไม่แปล: Sewing Machine]",
+ "mechanical_fan": "[ยังไม่แปล: Mechanical Fan]",
+ "air_conditioning": "[ยังไม่แปล: Air Conditioning]",
+ "cash_register": "[ยังไม่แปล: Cash Register]",
+ "printer": "[ยังไม่แปล: Printer]",
+ "camera": "กล้อง",
+ "single-lens_reflex_camera": "[ยังไม่แปล: Single-Lens Reflex Camera]",
+ "tools": "[ยังไม่แปล: Tools]",
+ "hammer": "[ยังไม่แปล: Hammer]",
+ "sawing": "[ยังไม่แปล: Sawing]",
+ "jackhammer": "[ยังไม่แปล: Jackhammer]",
+ "filing": "[ยังไม่แปล: Filing]",
+ "sanding": "[ยังไม่แปล: Sanding]",
+ "power_tool": "[ยังไม่แปล: Power Tool]",
+ "drill": "[ยังไม่แปล: Drill]",
+ "explosion": "[ยังไม่แปล: Explosion]",
+ "gunshot": "[ยังไม่แปล: Gunshot]",
+ "machine_gun": "[ยังไม่แปล: Machine Gun]",
+ "fusillade": "[ยังไม่แปล: Fusillade]",
+ "artillery_fire": "[ยังไม่แปล: Artillery Fire]",
+ "cap_gun": "[ยังไม่แปล: Cap Gun]",
+ "fireworks": "[ยังไม่แปล: Fireworks]",
+ "firecracker": "[ยังไม่แปล: Firecracker]",
+ "burst": "[ยังไม่แปล: Burst]",
+ "eruption": "[ยังไม่แปล: Eruption]",
+ "boom": "[ยังไม่แปล: Boom]",
+ "wood": "[ยังไม่แปล: Wood]",
+ "chop": "[ยังไม่แปล: Chop]",
+ "splinter": "[ยังไม่แปล: Splinter]",
+ "crack": "[ยังไม่แปล: Crack]",
+ "glass": "[ยังไม่แปล: Glass]",
+ "chink": "[ยังไม่แปล: Chink]",
+ "shatter": "[ยังไม่แปล: Shatter]",
+ "silence": "[ยังไม่แปล: Silence]",
+ "sound_effect": "[ยังไม่แปล: Sound Effect]",
+ "environmental_noise": "[ยังไม่แปล: Environmental Noise]",
+ "static": "[ยังไม่แปล: Static]",
+ "white_noise": "[ยังไม่แปล: White Noise]",
+ "pink_noise": "[ยังไม่แปล: Pink Noise]",
+ "television": "[ยังไม่แปล: Television]"
+}
diff --git a/web/public/locales/th/common.json b/web/public/locales/th/common.json
new file mode 100644
index 000000000..f312442cc
--- /dev/null
+++ b/web/public/locales/th/common.json
@@ -0,0 +1,250 @@
+{
+ "time": {
+ "today": "วันนี้",
+ "justNow": "ตอนนี้",
+ "yesterday": "เมื่อวาน",
+ "lastWeek": "สัปดาห์ที่แล้ว",
+ "untilForRestart": "จนกว่า Frigate รีสตาร์ท.",
+ "untilRestart": "จนกว่า รีสตาร์ท",
+ "ago": "{{timeAgo}} ที่แล้ว",
+ "last7": "7 วันที่แล้ว",
+ "last14": "14 วันที่แล้ว",
+ "last30": "30 วันที่แล้ว",
+ "thisWeek": "สัปดาห์นี้",
+ "untilForTime": "จนกว่า {{time}}",
+ "thisMonth": "เดือนนี้",
+ "lastMonth": "เดือนที่แล้ว",
+ "5minutes": "5 นาที",
+ "30minutes": "30 นาที",
+ "12hours": "12 ชั่วโมง",
+ "10minutes": "10 นาที",
+ "1hour": "1 ชั่วโมง",
+ "24hours": "24 ชั่วโมง",
+ "pm": "หลังเที่ยง",
+ "year_other": "{{time}} ปี",
+ "month_other": "{{time}} เดือน",
+ "day_other": "{{time}} วัน",
+ "h": "{{time}} ชั่วโมง",
+ "hour_other": "{{time}} ชั่วโมง",
+ "m": "{{time}} เดือน",
+ "s": "{{time}} วินาที",
+ "mo": "{{time}} เดือน",
+ "minute_other": "{{time}} นาที",
+ "am": "ก่อนเที่ยง",
+ "formattedTimestamp": {
+ "12hour": "MMM d, h:mm:ss aaa",
+ "24hour": "MMM d, HH:mm:ss"
+ },
+ "yr": "{{time}} ปี",
+ "d": "{{time}} วัน",
+ "second_other": "{{time}} วินาที",
+ "formattedTimestampMonthDayYear": {
+ "24hour": "MMM d, yyyy",
+ "12hour": "MMM d, yyyy"
+ },
+ "formattedTimestampMonthDayYearHourMinute": {
+ "12hour": "MMM d yyyy, h:mm aaa",
+ "24hour": "MMM d yyyy, HH:mm"
+ },
+ "formattedTimestamp2": {
+ "12hour": "MM/dd h:mm:ssa",
+ "24hour": "d MMM HH:mm:ss"
+ },
+ "formattedTimestampHourMinute": {
+ "12hour": "h:mm aaa",
+ "24hour": "HH:mm"
+ },
+ "formattedTimestampHourMinuteSecond": {
+ "24hour": "HH:mm:ss",
+ "12hour": "h:mm:ss aaa"
+ },
+ "formattedTimestampMonthDayHourMinute": {
+ "12hour": "MMM d, h:mm aaa",
+ "24hour": "MMM d, HH:mm"
+ },
+ "formattedTimestampFilename": {
+ "12hour": "MM-dd-yy-h-mm-ss-a",
+ "24hour": "MM-dd-yy-HH-mm-ss"
+ },
+ "formattedTimestampMonthDay": "MMM d"
+ },
+ "label": {
+ "back": "ย้อนกลับ"
+ },
+ "button": {
+ "apply": "ใช้งาน",
+ "reset": "รีเซ็ต",
+ "done": "เรียบร้อย",
+ "enabled": "เปิดใช้งานแล้ว",
+ "enable": "เปิดใช้งาน",
+ "disable": "ปิดใช้งาน",
+ "disabled": "ปิดใช้งานแล้ว",
+ "save": "บันทึก",
+ "saving": "กำลังบันทึก…",
+ "cancel": "ยกเลิก",
+ "close": "ปิด",
+ "copy": "คัดลอก",
+ "back": "กลับ",
+ "history": "ประวัติ",
+ "fullscreen": "เต็มจอ",
+ "exitFullscreen": "ออกเต็มจอ",
+ "pictureInPicture": "ภาพซ้อนภาพ",
+ "cameraAudio": "เสียงกล้อง",
+ "on": "เปิด",
+ "off": "ปิด",
+ "edit": "แก้ไข",
+ "delete": "ลบ",
+ "yes": "ใช่",
+ "no": "ไม่",
+ "download": "ดาวน์โหลด",
+ "info": "ข้อมูล",
+ "play": "เล่น",
+ "unselect": "ไม่ได้เลือก",
+ "export": "ส่งออก",
+ "deleteNow": "ลบตอนนี้",
+ "next": "ต่อไป",
+ "twoWayTalk": "พูดคุยสองทาง",
+ "copyCoordinates": "คัดลอกพิกัด",
+ "suspended": "ถูกระงับ",
+ "unsuspended": "ยกเลิกถูกระงับ"
+ },
+ "menu": {
+ "restart": "รีสตาร์ท Frigate",
+ "user": {
+ "logout": "ออกจากระบบ",
+ "title": "ผู้ใช้",
+ "account": "บัญชี",
+ "current": "จำนวนผู้ใช้: {{user}}",
+ "anonymous": "ไม่ระบุตัวตน",
+ "setPassword": "ตั้งรหัสผ่าน"
+ },
+ "live": {
+ "cameras": {
+ "count_other": "{{count}} กล้อง",
+ "title": "กล้อง"
+ },
+ "title": "สด",
+ "allCameras": "กล้องทั้งหมด"
+ },
+ "configurationEditor": "ตัวแก้ไขการกำหนดค่า",
+ "export": "ส่งออก",
+ "system": "ระบบ",
+ "configuration": "การกำหนดค่า",
+ "systemLogs": "บันทึกระบบ",
+ "settings": "ตั้งค่า",
+ "languages": "ภาษา",
+ "language": {
+ "withSystem": {
+ "label": "ใช้ภาษาของระบบ"
+ },
+ "en": "English (อังกฤษ)",
+ "zhCN": "简体中文 (ภาษาจีนตัวย่อ)",
+ "hi": "हिन्दी (ฮินดี)",
+ "fr": "Français (ฝรั่งเศส)",
+ "ar": "العربية (อาหรับ)",
+ "pt": "Português (โปรตุเกส)",
+ "ru": "Русский (รัสเซีย)",
+ "de": "Deutsch (เยอรมัน)",
+ "ja": "日本語 (ญี่ปุ่น)",
+ "tr": "Türkçe (ตุรกี)",
+ "it": "Italiano (อิตาเลียน)",
+ "nl": "Nederlands (ดัตช์)",
+ "sv": "Svenska (สวีเดน)",
+ "cs": "Čeština (เช็ก)",
+ "nb": "Norsk Bokmål (นอร์เวย์ บ็อกมอล)",
+ "ko": "한국어 (เกาหลี)",
+ "fa": "فارسی (เปอร์เซีย)",
+ "he": "עברית (ฮีบรู)",
+ "el": "Ελληνικά (กรีก)",
+ "ro": "Română (โรมาเนีย)",
+ "hu": "Magyar (ฮังการี)",
+ "fi": "Suomi (ฟินแลนด์)",
+ "da": "Dansk (เดนมาร์ก)",
+ "es": "Español (สเปน)",
+ "sk": "Slovenčina (สโลวัก)",
+ "uk": "Українська (ยูเครน)",
+ "vi": "Tiếng Việt (เวียดนาม)",
+ "yue": "粵語 (กวางตุ้ง)",
+ "pl": "Polski (ขัด)",
+ "th": "ไทย (ไทย)"
+ },
+ "darkMode": {
+ "label": "โหมดมืด",
+ "light": "สว่าง",
+ "dark": "มืด",
+ "withSystem": {
+ "label": "ใช้ของระบบสำหรับโหมดสว่างหรือมืด"
+ }
+ },
+ "withSystem": "ระบบ",
+ "theme": {
+ "label": "ธีม",
+ "blue": "น้ำเงิน",
+ "green": "เขียว",
+ "red": "แดง",
+ "highcontrast": "คอนทราสต์สูง",
+ "default": "เริ่มต้น",
+ "nord": "ฟ้า"
+ },
+ "review": "รีวิว",
+ "explore": "สำรวจ",
+ "uiPlayground": "UI สนามเด็กเล่น",
+ "faceLibrary": "ที่เก็บหน้า",
+ "help": "ช่วยเหลือ",
+ "documentation": {
+ "title": "เอกสาร",
+ "label": "เอกสาร Frigate"
+ },
+ "systemMetrics": "ตัวชี้วัดของระบบ",
+ "appearance": "หน้าตา"
+ },
+ "role": {
+ "viewer": "ผู้ชม",
+ "title": "บทบาท",
+ "admin": "ผู้ดูแล",
+ "desc": "ผู้ดูแลสามารถเข้าถึงระบบได้ทั้งหมดใน UI Frigate. ผู้ชมสามารถทำได้แค่ ดูกล้อง, ดูรีวิว, และ ประวัติคลิปใน UI."
+ },
+ "toast": {
+ "save": {
+ "error": {
+ "noMessage": "มีข้อผิดพลาดในการกำหนดค่า",
+ "title": "ผิดพลาดในการบันทึกการกำหนดค่า: {{errorMessage}}"
+ },
+ "title": "บันทึก"
+ },
+ "copyUrlToClipboard": "คัดลอก URL ใส่ คลิปบอร์ดแล้ว"
+ },
+ "pagination": {
+ "previous": {
+ "title": "ก่อนหน้า",
+ "label": "ไปหน้าที่แล้ว"
+ },
+ "next": {
+ "title": "ต่อไป",
+ "label": "ไปหน้าต่อไป"
+ },
+ "more": "หน้าเพิ่มเติม",
+ "label": "แบ่งหน้า"
+ },
+ "accessDenied": {
+ "documentTitle": "ไม่สามารถเข้าถึงได้ - Frigate",
+ "title": "ไม่สามารถเข้าถึงได้",
+ "desc": "คุณไม่มีสิทธิ์ในการเข้าถึงหน้านี้"
+ },
+ "notFound": {
+ "documentTitle": "ไม่พบ - Frigate",
+ "desc": "ไม่พบหน้านี้",
+ "title": "๔๐๔"
+ },
+ "selectItem": "เลือก {{item}}",
+ "unit": {
+ "speed": {
+ "mph": "ไมล์ต่อชั่วโมง",
+ "kph": "กิโลเมตรต่อชั่วโมง"
+ },
+ "length": {
+ "feet": "ฟุต",
+ "meters": "เมตร"
+ }
+ }
+}
diff --git a/web/public/locales/th/components/auth.json b/web/public/locales/th/components/auth.json
new file mode 100644
index 000000000..7a24ffef7
--- /dev/null
+++ b/web/public/locales/th/components/auth.json
@@ -0,0 +1,15 @@
+{
+ "form": {
+ "user": "ชื่อผู้ใช้",
+ "errors": {
+ "webUnknownError": "ข้อผิดพลาดที่ไม่รู้จัก. ตรวจสอบที่ console logs.",
+ "rateLimit": "เกินขีดจำกัด. โปรดลองอีกครั้งในภายหลัง.",
+ "loginFailed": "ล็อกอินไม่สำเร็จ",
+ "unknownError": "ข้อผิดพลาดที่ไม่รู้จัก. ตรวจสอบที่ logs.",
+ "passwordRequired": "ต้องการรหัสผ่าน",
+ "usernameRequired": "ต้องการชื่อผู้ใช้"
+ },
+ "login": "ล็อกอิน",
+ "password": "รหัสผ่าน"
+ }
+}
diff --git a/web/public/locales/th/components/camera.json b/web/public/locales/th/components/camera.json
new file mode 100644
index 000000000..3be4d7902
--- /dev/null
+++ b/web/public/locales/th/components/camera.json
@@ -0,0 +1,86 @@
+{
+ "group": {
+ "camera": {
+ "setting": {
+ "title": "{{cameraName}} ตั้งค่าการสตรีมมิ่ง",
+ "audioIsAvailable": "เสียงสามารถใช้งานได้ในสตรีมนี้",
+ "audioIsUnavailable": "เสียงไม่สามารถใช้ได้สําหรับสตรีมนี้",
+ "audio": {
+ "tips": {
+ "title": "เสียงต้องส่งออกจากกล้องของคุณและกําหนดค่าบน go2rtc สําหรับสตรีมนี้.",
+ "document": "อ่านเอกสาร "
+ }
+ },
+ "stream": "สตรีม",
+ "placeholder": "เลือกสตรีม",
+ "streamMethod": {
+ "label": "วิธีสตรีมมิ่ง",
+ "placeholder": "เลือกวิธีสตรีมมิ่ง",
+ "method": {
+ "noStreaming": {
+ "label": "ไม่มีการสตรีม",
+ "desc": "ภาพของกล้องจะอัปเดตนาทีต่อครั้งและไม่มีสตรีมสด."
+ },
+ "smartStreaming": {
+ "label": "สมาร์ทสตรีม (แนะนํา)",
+ "desc": "สมาร์ทสตรีมจะอัปเดตกล้องของคุณทุกหนึ่งนาทีเมื่อไม่มีการตรวจพบกิจกรรมที่เกิดขึ้นเพื่อรักษาแบนด์วิดท์และทรัพยากร. เมื่อมีการตรวจพบกิจกรรม, ภาพจะถูกเปลี่ยนเป็นสตรีมสด."
+ },
+ "continuousStreaming": {
+ "label": "สตรีมมิ่ง",
+ "desc": {
+ "title": "ภาพของกล้องจะแสดงตลอดเมื่ออยู่บนแดชบอร์ด, แม้ว่าไม่มีกิจกรรม.",
+ "warning": "สตรีมแบบต่อเนื่องอาจทําให้เกิดแบนด์วิดท์สูงและเกิดปัญหาประสิทธิภาพการทํางาน, โปรดใช้ความระมัดระวัง."
+ }
+ }
+ }
+ },
+ "desc": "เปลี่ยนตัวเลือกสตรีมสดสําหรับแผงควบคุมของกลุ่มกล้องนี้. การตั้งค่าเหล่านั้นเฉพาะอุปกรณ์/เบราว์เซอร์",
+ "compatibilityMode": {
+ "label": "โหมด",
+ "desc": "เปิดใช้งานตัวเลือกนี้เฉพาะเมื่อถ้ากล้องของคุณถ่ายทอดสดเป็นการแสดงสีแปลกๆและมีเส้นด้านข้าง."
+ },
+ "label": "การตั้งค่าสตรีมกล้อง"
+ }
+ },
+ "label": "กลุ่มกล้อง",
+ "add": "เพิ่มกลุ่มกล้อง",
+ "edit": "แก้ไขกลุ่มกล้อง",
+ "delete": {
+ "label": "ลบกลุ่มกล้อง",
+ "confirm": {
+ "title": "ยืนยันการลบ",
+ "desc": "คุณแน่ใจหรือไม่ว่าต้องการลบกลุ่มกล้อง {{name}}?"
+ }
+ },
+ "name": {
+ "label": "ชื่อ",
+ "placeholder": "ป้อนชื่อ…",
+ "errorMessage": {
+ "mustLeastCharacters": "ชื่อกลุ่มกล้องต้องมีอย่างน้อย 2 ตัวอักษร",
+ "exists": "ชื่อกลุ่มกล้องมีอยู่แล้ว",
+ "nameMustNotPeriod": "ชื่อกลุ่มกล้องต้องไม่มีจุด",
+ "invalid": "ชื่อกลุ่มกล้องไม่ถูกต้อง"
+ }
+ },
+ "cameras": {
+ "label": "กล้อง",
+ "desc": "เลือกกล้องสำหรับกลุ่มนี้"
+ },
+ "icon": "ไอคอน",
+ "success": "บันทึกกลุ่มกล้อง ({{name}}) เรียบร้อยแล้ว"
+ },
+ "debug": {
+ "options": {
+ "label": "การตั้งค่า",
+ "title": "ตัวเลือก",
+ "showOptions": "แสดงตัวเลือก",
+ "hideOptions": "ซ่อนไฟล์ตัวเลือก"
+ },
+ "boundingBox": "กรอบตรวจจับ",
+ "timestamp": "เวลาปัจจุบัน",
+ "zones": "โซน",
+ "mask": "หน้ากาก",
+ "motion": "การเคลื่อนไหว",
+ "regions": "พื้นที่"
+ }
+}
diff --git a/web/public/locales/th/components/dialog.json b/web/public/locales/th/components/dialog.json
new file mode 100644
index 000000000..ae71dc059
--- /dev/null
+++ b/web/public/locales/th/components/dialog.json
@@ -0,0 +1,19 @@
+{
+ "search": {
+ "saveSearch": {
+ "label": "บันทึกค้นหา",
+ "success": "ค้นหา {{searchName}} ถูกบันทึกเรียบร้อยแล้ว",
+ "desc": "ระบุชื่อสำหรับการค้นหาบันทึกนี้",
+ "button": {
+ "save": {
+ "label": "บันทึกการค้นหานี้"
+ }
+ }
+ }
+ },
+ "export": {
+ "fromTimeline": {
+ "saveExport": "บันทึกส่งออก"
+ }
+ }
+}
diff --git a/web/public/locales/th/components/filter.json b/web/public/locales/th/components/filter.json
new file mode 100644
index 000000000..3e4434115
--- /dev/null
+++ b/web/public/locales/th/components/filter.json
@@ -0,0 +1,86 @@
+{
+ "filter": "กรอง",
+ "zones": {
+ "label": "โซน",
+ "all": {
+ "title": "โซนทั้งหมด",
+ "short": "โซน"
+ }
+ },
+ "dates": {
+ "selectPreset": "เลือกค่าที่ตั้งไว้…",
+ "all": {
+ "title": "วันที่ทั้งหมด",
+ "short": "วันที่"
+ }
+ },
+ "more": "ตัวกรองเพิ่มเติม",
+ "reset": {
+ "label": "รีเซ็ตตัวกรองเป็นค่าเริ่มต้น"
+ },
+ "timeRange": "ช่วงเวลา",
+ "score": "คะแนน",
+ "estimatedSpeed": "ความเร็วโดยประมาณ {{unit}}",
+ "features": {
+ "label": "คุณสมบัติ",
+ "submittedToFrigatePlus": {
+ "label": "ส่งไปยัง Frigate+",
+ "tips": "คุณต้องกรองครั้งแรกบนวัตถุที่มีภาพ.
วัตถุที่ไม่มีภาพไม่สามารถส่งออกได้."
+ },
+ "hasSnapshot": "มีภาพ",
+ "hasVideoClip": "มีวิดีโอ"
+ },
+ "sort": {
+ "label": "เรียง",
+ "dateAsc": "วันที่ (จากน้อยไปมาก)",
+ "scoreDesc": "คะแนน วัตถุ (จากมากไปน้อย)",
+ "speedDesc": "ความเร็วโดยประมาณ (จากมากไปน้อย)",
+ "relevance": "สอดคล้อง",
+ "scoreAsc": "คะแนน วัตถุ (จากน้อยไปมาก)",
+ "speedAsc": "ความเร็วโดยประมาณ (จากน้อยไปมาก)",
+ "dateDesc": "วันที่ (จากมากไปน้อย)"
+ },
+ "subLabels": {
+ "all": "หมวดหมู่ย่อยทั้งหมด",
+ "label": "หมวดหมู่ย่อย"
+ },
+ "labels": {
+ "all": {
+ "title": "หมวดหมู่ทั้งหมด",
+ "short": "หมวดหมู่"
+ },
+ "count_other": "{{count}} หมวดหมู่",
+ "count_one": "{{count}} หมวดหมู่"
+ },
+ "cameras": {
+ "all": {
+ "short": "กล้อง",
+ "title": "กล้องทั้งหมด"
+ },
+ "label": "กรองกล้อง"
+ },
+ "review": {
+ "showReviewed": "แสดงรีวิว"
+ },
+ "motion": {
+ "showMotionOnly": "แสดงเฉพาะการเคลื่อนไหวเท่านั้น"
+ },
+ "explore": {
+ "settings": {
+ "defaultView": {
+ "summary": "สรุป",
+ "unfilteredGrid": "ตารางที่ไม่ได้กรอง",
+ "title": "มุมเริ่มต้น",
+ "desc": "เมื่อไม่มีตัวกรอง, แสดงสรุปวัตถุล่าสุดหรือแสดงตารางที่ไม่ได้กรอง."
+ },
+ "gridColumns": {
+ "title": "ตารางคอลัมน์",
+ "desc": "เลือกจำนวนคอลัมน์ในตาราง."
+ },
+ "searchSource": {
+ "label": "ค้นหาแหล่ง"
+ },
+ "title": "การตั้งค่า"
+ }
+ }
+}
diff --git a/web/public/locales/th/components/icons.json b/web/public/locales/th/components/icons.json
new file mode 100644
index 000000000..e224c8892
--- /dev/null
+++ b/web/public/locales/th/components/icons.json
@@ -0,0 +1,8 @@
+{
+ "iconPicker": {
+ "selectIcon": "เลือกไอคอน",
+ "search": {
+ "placeholder": "ค้นหาไอคอน"
+ }
+ }
+}
diff --git a/web/public/locales/th/components/input.json b/web/public/locales/th/components/input.json
new file mode 100644
index 000000000..ad2edd2e5
--- /dev/null
+++ b/web/public/locales/th/components/input.json
@@ -0,0 +1,10 @@
+{
+ "button": {
+ "downloadVideo": {
+ "label": "ดาวน์โหลดวิดีโอ",
+ "toast": {
+ "success": "วิดีโอรายการรีวิวของคุณเริ่มดาวน์โหลดแล้ว."
+ }
+ }
+ }
+}
diff --git a/web/public/locales/th/components/player.json b/web/public/locales/th/components/player.json
new file mode 100644
index 000000000..03e5a1a4a
--- /dev/null
+++ b/web/public/locales/th/components/player.json
@@ -0,0 +1,51 @@
+{
+ "streamOffline": {
+ "desc": "ไม่ได้รับเฟรมบน {{cameraName}} สตรีม detect
, ตรวจสอบ error logs",
+ "title": "สตรีมออฟไลน์"
+ },
+ "noPreviewFound": "ไม่พบตัวอย่าง",
+ "submitFrigatePlus": {
+ "title": "ส่งเฟรมนี้ให้ Frigate+ ไหม?",
+ "submit": "ส่ง"
+ },
+ "livePlayerRequiredIOSVersion": "ต้องใช้ iOS 17.1 ขึ้นไปสำหรับประเภทสตรีมสดนี้",
+ "cameraDisabled": "กล้องถูกปิดใช้งาน",
+ "stats": {
+ "streamType": {
+ "title": "ประเภทสตรีม:",
+ "short": "ประเภท"
+ },
+ "latency": {
+ "title": "ความหน่วง:",
+ "value": "{{seconds}} วินาที",
+ "short": {
+ "title": "ความหน่วง",
+ "value": "{{seconds}} วิ"
+ }
+ },
+ "totalFrames": "จำนวนเฟรมทั้งหมด:",
+ "droppedFrames": {
+ "short": {
+ "title": "หายไป",
+ "value": "{{droppedFrames}} เฟรม"
+ },
+ "title": "เฟรมที่หาย:"
+ },
+ "decodedFrames": "เฟรมถูกถอดรหัส:",
+ "droppedFrameRate": "อัตราเฟรมที่หายไป:",
+ "bandwidth": {
+ "title": "แบนด์วิธ:",
+ "short": "แบนด์วิธ"
+ }
+ },
+ "toast": {
+ "error": {
+ "submitFrigatePlusFailed": "ไม่สามารถส่งเฟรมไปยัง Frigate+ ได้"
+ },
+ "success": {
+ "submittedFrigatePlus": "ส่งเฟรมให้ Frigate+ เรียบร้อยแล้ว"
+ }
+ },
+ "noRecordingsFoundForThisTime": "ไม่เจอการบันทึกในช่วงเวลานี้",
+ "noPreviewFoundFor": "ไม่พบตัวอย่างสำหรับ {{cameraName}}"
+}
diff --git a/web/public/locales/th/objects.json b/web/public/locales/th/objects.json
new file mode 100644
index 000000000..8d3130d0d
--- /dev/null
+++ b/web/public/locales/th/objects.json
@@ -0,0 +1,118 @@
+{
+ "traffic_light": "สัญญาณไฟจราจร",
+ "hair_dryer": "ไดร์เป่าผม",
+ "skateboard": "สเก็ตบอร์ด",
+ "fire_hydrant": "หัวดับเพลิง",
+ "bicycle": "จักรยาน",
+ "person": "คน",
+ "car": "รถยนต์",
+ "motorcycle": "มอเตอร์ไซค์",
+ "airplane": "เครื่องบิน",
+ "bus": "รถประจำทาง",
+ "train": "รถไฟ",
+ "cat": "แมว",
+ "horse": "ม้า",
+ "bird": "นก",
+ "boat": "เรือ",
+ "bench": "ม้านั่ง",
+ "dog": "สุนัข",
+ "parking_meter": "มิเตอร์จอดรถ",
+ "sheep": "แกะ",
+ "eye_glasses": "แว่นตา",
+ "sports_ball": "ลูกบอลกีฬา",
+ "baseball_bat": "ไม้เบสบอล",
+ "baseball_glove": "ถุงมือเบสบอล",
+ "tennis_racket": "ไม้เทนนิส",
+ "wine_glass": "แก้วไวน์",
+ "vehicle": "ยานพาหนะ",
+ "clock": "นาฬิกา",
+ "knife": "มีด",
+ "bowl": "ชาม",
+ "hot_dog": "ฮอทดอก",
+ "potted_plant": "ต้นไม้ในกระถาง",
+ "dining_table": "โต๊ะกินอาหาร",
+ "tv": "ทีวิ",
+ "teddy_bear": "ตุ๊กตาหมี",
+ "hair_brush": "แปรงหวีผม",
+ "squirrel": "กระรอก",
+ "deer": "กวาง",
+ "face": "ใบหน้า",
+ "robot_lawnmower": "หุ่นยนต์ตัดหญ้า",
+ "waste_bin": "ถังขยะ",
+ "license_plate": "ป้ายทะเบียนรถ",
+ "amazon": "อเมซอน",
+ "usps": "ไปรษณีย์สหรัฐ",
+ "stop_sign": "ป้ายหยุด",
+ "street_sign": "ป้ายถนน",
+ "cow": "วัว",
+ "elephant": "ช้าง",
+ "bear": "หมี",
+ "zebra": "ยีราฟ",
+ "giraffe": "จระเข้น้ำ",
+ "hat": "หมวก",
+ "backpack": "กระเป๋าเป้",
+ "umbrella": "ร่ม",
+ "shoe": "รองเท้า",
+ "handbag": "กระเป๋าถือ",
+ "mouse": "เมาส์",
+ "tie": "เนคไท",
+ "suitcase": "กระเป๋าเดินทาง",
+ "frisbee": "ดิสก์",
+ "skis": "สกี",
+ "snowboard": "สโนบอร์ด",
+ "kite": "ดอกกระดาษ",
+ "surfboard": "บอร์ดโต้คลื่น",
+ "bottle": "ขวด",
+ "plate": "จาน",
+ "cup": "ถ้วย",
+ "fork": "ส้อม",
+ "spoon": "ช้อน",
+ "banana": "กล้วย",
+ "apple": "แอปเปิล",
+ "sandwich": "แซนวิช",
+ "orange": "ส้ม",
+ "broccoli": "บรอกโคลี",
+ "carrot": "แครอท",
+ "pizza": "พิซซ่า",
+ "donut": "โดนัท",
+ "cake": "เค้ก",
+ "chair": "เก้าอี้",
+ "couch": "โซฟา",
+ "bed": "เตียง",
+ "mirror": "กระจก",
+ "window": "หน้าต่าง",
+ "desk": "โต๊ะทำงาน",
+ "toilet": "ห้องน้ำ",
+ "door": "ประตู",
+ "laptop": "แล็ปท็อป",
+ "remote": "รีโมท",
+ "oven": "เตาอบ",
+ "keyboard": "คีย์บอร์ด",
+ "microwave": "ไมโครเวฟ",
+ "toaster": "เครื่องทำขนมปัง",
+ "sink": "อ่างล้างจาน",
+ "refrigerator": "ตู้เย็น",
+ "blender": "เครื่องปั่น",
+ "book": "หนังสือ",
+ "vase": "แจกัน",
+ "scissors": "กรรไกร",
+ "toothbrush": "แปรงสีฟัน",
+ "animal": "สัตว์",
+ "bark": "เสียงหอบ",
+ "fox": "สุนัขจิ้งจอก",
+ "goat": "แพะ",
+ "rabbit": "กระต่าย",
+ "raccoon": "กระรอกน้ำ",
+ "package": "พัสดุ",
+ "purolator": "เพรูเลตอร์",
+ "bbq_grill": "เตาบาร์บีคิว",
+ "cell_phone": "โทรศัพท์มือถือ",
+ "ups": "UPS",
+ "dhl": "DHL",
+ "gls": "GLS",
+ "dpd": "DPD",
+ "postnord": "PostNord",
+ "nzpost": "NZPost",
+ "fedex": "FedEx",
+ "postnl": "PostNL"
+}
diff --git a/web/public/locales/th/views/configEditor.json b/web/public/locales/th/views/configEditor.json
new file mode 100644
index 000000000..d44ae391b
--- /dev/null
+++ b/web/public/locales/th/views/configEditor.json
@@ -0,0 +1,16 @@
+{
+ "copyConfig": "คัดลอกการกำหนดค่า",
+ "saveOnly": "บันทึกเท่านั้น",
+ "confirm": "ออกโดยที่ไม่บันทึก?",
+ "toast": {
+ "error": {
+ "savingError": "เกิดข้อผิดพลาดในการบันทึกการกำหนดค่า"
+ },
+ "success": {
+ "copyToClipboard": "คัดลอกการกำหนดค่าไปยังคลิปบอร์ดแล้ว."
+ }
+ },
+ "saveAndRestart": "บันทึก และ รีสตาร์ท",
+ "documentTitle": "ตัวแก้ไขการกำหนดค่า - Frigate",
+ "configEditor": "ตัวแก้ไขการกำหนดค่า"
+}
diff --git a/web/public/locales/th/views/events.json b/web/public/locales/th/views/events.json
new file mode 100644
index 000000000..f303ea6b3
--- /dev/null
+++ b/web/public/locales/th/views/events.json
@@ -0,0 +1,38 @@
+{
+ "motion": {
+ "label": "เคลื่อนไหว",
+ "only": "เคลื่อนไหวเท่านั้น"
+ },
+ "allCameras": "กล้องทั้งหมด",
+ "empty": {
+ "detection": "ไม่มีการเคลื่อนไหวให้รีวิว",
+ "motion": "ไม่เจอข้อมูลการเคลื่อนไหว",
+ "alert": "ไม่มีการแจ้งเตือนให้รีวิว"
+ },
+ "events": {
+ "label": "กิจกรรม",
+ "aria": "เลือกกิจกรรม",
+ "noFoundForTimePeriod": "ไม่เจอกิจกรรมในช่วงเวลานี้"
+ },
+ "recordings": {
+ "documentTitle": "การบันทึก - Frigate"
+ },
+ "calendarFilter": {
+ "last24Hours": "24 ชั่วโมงล่าสุด"
+ },
+ "markAsReviewed": "ทำเครื่องหมายว่ารีวิวแล้ว",
+ "newReviewItems": {
+ "button": "รายการใหม่ที่จะรีวิว",
+ "label": "ดูรายการรีวิวใหม่"
+ },
+ "selected_other": "เลือก {{count}} แล้ว",
+ "camera": "กล้อง",
+ "detected": "ตรวจพบ",
+ "timeline": "ไทม์ไลน์",
+ "markTheseItemsAsReviewed": "ทำเครื่องหมายรายการเหล่านี้ว่าได้รับการรีวิวแล้ว",
+ "alerts": "การแจ้งเตือน",
+ "detections": "การตรวจจับ",
+ "selected_one": "เลือก {{count}} แล้ว",
+ "timeline.aria": "เลือกไทม์ไลน์",
+ "documentTitle": "รีวิว - Frigate"
+}
diff --git a/web/public/locales/th/views/explore.json b/web/public/locales/th/views/explore.json
new file mode 100644
index 000000000..9b5bb9d00
--- /dev/null
+++ b/web/public/locales/th/views/explore.json
@@ -0,0 +1,14 @@
+{
+ "documentTitle": "สํารวจ - Frigate",
+ "generativeAI": "AI",
+ "exploreMore": "สํารวจวัตถุ {{label}} เพิ่มเติม",
+ "exploreIsUnavailable": {
+ "title": "สํารวจไม่มีให้ใช้งาน",
+ "embeddingsReindexing": {
+ "context": "สํารวจสามารถใช้หลังจากติดตามวัตถุเสร็จ.",
+ "startingUp": "เริ่มต้น…",
+ "estimatedTime": "ระยะเวลาโดยประมาณ:",
+ "finishingShortly": "เสร็จเร็วๆนี้"
+ }
+ }
+}
diff --git a/web/public/locales/th/views/exports.json b/web/public/locales/th/views/exports.json
new file mode 100644
index 000000000..698c6f82b
--- /dev/null
+++ b/web/public/locales/th/views/exports.json
@@ -0,0 +1,17 @@
+{
+ "documentTitle": "ส่งออก - Frigate",
+ "search": "ค้นหา",
+ "noExports": "ไม่เจอการส่งออก",
+ "deleteExport": "ลบส่งออก",
+ "deleteExport.desc": "คุณแน่ใจหรอที่จะลบ {{exportName}}?",
+ "editExport": {
+ "title": "แก้ชื่อส่งออก",
+ "desc": "ใส่ชื่อใหม่สำหรับการส่งออกนี้",
+ "saveExport": "บันทึกการส่งออก"
+ },
+ "toast": {
+ "error": {
+ "renameExportFailed": "ผิดพลาดในการแก้ไขชื่อการส่งออก: {{errorMessage}}"
+ }
+ }
+}
diff --git a/web/public/locales/th/views/faceLibrary.json b/web/public/locales/th/views/faceLibrary.json
new file mode 100644
index 000000000..d16f0a2c3
--- /dev/null
+++ b/web/public/locales/th/views/faceLibrary.json
@@ -0,0 +1,38 @@
+{
+ "details": {
+ "person": "คน",
+ "subLabelScore": "คะแนน Sub Label",
+ "unknown": "ไม่รู้"
+ },
+ "steps": {
+ "faceName": "ใส่ชื่อหน้า",
+ "uploadFace": "ใส่รูปหน้า",
+ "nextSteps": "ต่อไป"
+ },
+ "selectFace": "เลือกหน้า",
+ "deleteFaceLibrary": {
+ "title": "ลบชื่อ"
+ },
+ "deleteFaceAttempts": {
+ "title": "ลบหน้า"
+ },
+ "renameFace": {
+ "title": "เปลี่ยนชื่อหน้า",
+ "desc": "ใส่ชื่อใหม่สำหรับ {{name}}"
+ },
+ "button": {
+ "deleteFaceAttempts": "ลบหน้า",
+ "addFace": "เพิ่มหน้า",
+ "renameFace": "แก้ชื่อหน้า",
+ "deleteFace": "ลบหน้า",
+ "uploadImage": "อัปโหลดรูป",
+ "reprocessFace": "คำนวนหน้าใหม่"
+ },
+ "imageEntry": {
+ "dropActive": "ลากรูปลงที่นี้"
+ },
+ "selectItem": "เลือก {{item}}",
+ "createFaceLibrary": {
+ "new": "สร้างหน้าใหม่"
+ }
+}
diff --git a/web/public/locales/th/views/live.json b/web/public/locales/th/views/live.json
new file mode 100644
index 000000000..cf5cfef7d
--- /dev/null
+++ b/web/public/locales/th/views/live.json
@@ -0,0 +1,32 @@
+{
+ "stream": {
+ "playInBackground": {
+ "label": "เล่นในพื้นหลัง"
+ }
+ },
+ "documentTitle": "สด - Frigate",
+ "lowBandwidthMode": "โหมดแบนด์วิดท์ต่ำ",
+ "twoWayTalk": {
+ "enable": "เปิดใช้งานการสนทนาสองทาง",
+ "disable": "ปิดใช้งานการสนทนาสองทาง"
+ },
+ "cameraAudio": {
+ "enable": "เปิดเสียงกล้อง",
+ "disable": "ปิดเสียงกล้อง"
+ },
+ "manualRecording": {
+ "playInBackground": {
+ "label": "เล่นในพื้นหลัง"
+ }
+ },
+ "editLayout": {
+ "exitEdit": "ออกจากการแก้ไข"
+ },
+ "effectiveRetainMode": {
+ "modes": {
+ "all": "ทั้งหมด"
+ }
+ },
+ "documentTitle.withCamera": "{{camera}} - สด - Frigate",
+ "streamingSettings": "การตั้งค่าการสตรีม"
+}
diff --git a/web/public/locales/th/views/recording.json b/web/public/locales/th/views/recording.json
new file mode 100644
index 000000000..3a27ea96e
--- /dev/null
+++ b/web/public/locales/th/views/recording.json
@@ -0,0 +1,12 @@
+{
+ "export": "ส่งออก",
+ "calendar": "ปฎิทิน",
+ "filter": "กรอง",
+ "filters": "ตัวกรอง",
+ "toast": {
+ "error": {
+ "noValidTimeSelected": "ไม่ได้เลือกช่วงเวลาที่ถูกต้อง",
+ "endTimeMustAfterStartTime": "เวลาสิ้นสุดต้องอยู่หลังเวลาเริ่มต้น"
+ }
+ }
+}
diff --git a/web/public/locales/th/views/search.json b/web/public/locales/th/views/search.json
new file mode 100644
index 000000000..c94d1c726
--- /dev/null
+++ b/web/public/locales/th/views/search.json
@@ -0,0 +1,62 @@
+{
+ "search": "ค้นหา",
+ "button": {
+ "save": "บันทึกค้นหา",
+ "delete": "ลบการบันทึกค้นหา",
+ "clear": "ล้างการค้นหา",
+ "filterInformation": "ข้อมูลตัวกรอง",
+ "filterActive": "ตัวกรองที่ใช้งาน"
+ },
+ "savedSearches": "บันทึกการค้นหา",
+ "searchFor": "ค้นหา {{inputValue}}",
+ "trackedObjectId": "ติดตามรหัส",
+ "filter": {
+ "label": {
+ "cameras": "กล้อง",
+ "labels": "หมวดหมู่",
+ "zones": "โซน",
+ "sub_labels": "หมวดหมู่ย่อย",
+ "search_type": "ค้นหาประเภท",
+ "time_range": "ช่วงเวลา",
+ "after": "หลัง",
+ "min_score": "คะแนนต่ำ",
+ "max_speed": "ความเร็วสูงสุด",
+ "has_clip": "มีคลิป",
+ "has_snapshot": "มีภาพ",
+ "before": "ก่อน",
+ "max_score": "คะแนนสูงสุด",
+ "min_speed": "ความเร็วต่ำ"
+ },
+ "searchType": {
+ "description": "ลักษณะ"
+ },
+ "toast": {
+ "error": {
+ "beforeDateBeLaterAfter": "วันที่ของก่อนต้องอยู่หลังจากวันที่ของหลัง.",
+ "afterDatebeEarlierBefore": "วันที่ 'หลัง' จะต้องมาก่อนวันที่ 'ก่อน'.",
+ "minScoreMustBeLessOrEqualMaxScore": "'คะแนนต่ำ' ต้องน้อยกว่าหรือเท่ากับ 'คะแนนสูง'.",
+ "minSpeedMustBeLessOrEqualMaxSpeed": "'ความเร็วต่ำ' จะต้องน้อยกว่าหรือเท่ากับ 'ความเร็วสูงสุด'.",
+ "maxSpeedMustBeGreaterOrEqualMinSpeed": "'ความเร็วสูงสุด' จะต้องมากกว่าหรือเท่ากับ 'ความเร็วต่ำ'.",
+ "maxScoreMustBeGreaterOrEqualMinScore": "'คะแนนสูง' ต้องมากกว่าหรือเท่ากับ 'คะแนนต่ำ'."
+ }
+ },
+ "tips": {
+ "desc": {
+ "step1": "ประเภทตัวกรองต้องตามด้วยอัญประกาศ (เช่น \"cameras:\").",
+ "exampleLabel": "ตัวอย่าง:",
+ "step4": "วันที่กรอง (before: และ after:)ใช้รูปแบบ {{DateFormat}}.",
+ "step2": "เลือกค่าจากคําแนะนําหรือพิมพ์ด้วยคุณเอง."
+ },
+ "title": "วิธีการใช้ตัวกรองข้อความ"
+ },
+ "header": {
+ "activeFilters": "ตัวกรองที่ใช้งาน"
+ }
+ },
+ "placeholder": {
+ "search": "ค้นหา…"
+ },
+ "similaritySearch": {
+ "title": "ค้นหาที่คล้ายกัน"
+ }
+}
diff --git a/web/public/locales/th/views/settings.json b/web/public/locales/th/views/settings.json
new file mode 100644
index 000000000..b85a58d4f
--- /dev/null
+++ b/web/public/locales/th/views/settings.json
@@ -0,0 +1,209 @@
+{
+ "dialog": {
+ "unsavedChanges": {
+ "title": "คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก.",
+ "desc": "คุณต้องการบันทึกการเปลี่ยนแปลงของคุณก่อนดำเนินการต่อหรือไม่?"
+ }
+ },
+ "users": {
+ "dialog": {
+ "form": {
+ "newPassword": {
+ "title": "รหัสผ่านใหม่",
+ "confirm": {
+ "placeholder": "ใส่รหัสผ่านใหม่อีกครั้ง"
+ },
+ "placeholder": "ใส่รหัสผ่านใหม่"
+ },
+ "password": {
+ "notMatch": "รหัสไม่ตรงกัน",
+ "title": "รหัสผ่าน",
+ "confirm": {
+ "title": "ยืนยันรหัสผ่าน",
+ "placeholder": "ยืนยันรหัสผ่าน"
+ },
+ "strength": {
+ "title": "ความแข็งแรงของรหัส: ",
+ "weak": "แย่",
+ "strong": "ใช้ได้",
+ "veryStrong": "แข็งแรง",
+ "medium": "กลาง"
+ },
+ "match": "รหัสตรงกัน",
+ "placeholder": "ใส่รหัสผ่าน"
+ },
+ "user": {
+ "placeholder": "ใส่ชื่อผู้ใช้",
+ "title": "ผู้ใช้"
+ },
+ "passwordIsRequired": "ต้องการรหัสผ่าน",
+ "usernameIsRequired": "ต้องการชื่อผู้ใช้"
+ },
+ "changeRole": {
+ "roleInfo": {
+ "admin": "ผู้ดูแล"
+ }
+ }
+ },
+ "toast": {
+ "success": {
+ "updatePassword": "อัปเดตรหัสผ่านเรียบร้อย",
+ "deleteUser": "ลบผู้ใช้ {{user}} เรียบร้อย",
+ "createUser": "สร้างผู้ใช้ {{user}} เรียบร้อย"
+ },
+ "error": {
+ "setPasswordFailed": "ผิดพลาดในการบันทึกรหัสผ่าน: {{errorMessage}}",
+ "deleteUserFailed": "ผิดพลาดในการลบผู้ใช้: {{errorMessage}}",
+ "createUserFailed": "ผิดพลาดในการสร้างผู้ใช้: {{errorMessage}}"
+ }
+ },
+ "table": {
+ "username": "ชื่อผู้ใช้",
+ "noUsers": "ไม่เจอผู้ใช้",
+ "password": "รหัสผ่าน",
+ "deleteUser": "ลบผู้ใช้"
+ },
+ "management": {
+ "title": "จัดการผู้ใช้"
+ },
+ "addUser": "แก้ไขผู้ใช้",
+ "title": "ผู้ใช้",
+ "updatePassword": "อัปเดตรหัสผ่าน"
+ },
+ "notification": {
+ "suspendTime": {
+ "12hours": "ระงับ 12 ชั่วโมง",
+ "5minutes": "ระงับ 5 นาที",
+ "10minutes": "ระงับ 10 นาที",
+ "1hour": "ระงับ 1 ชั่วโมง",
+ "untilRestart": "ระงับจนกว่ารีสตาร์ท",
+ "suspend": "ระงับ",
+ "24hours": "ระงับ 24 ชั่วโมง",
+ "30minutes": "ระงับ 30 นาที"
+ },
+ "cameras": {
+ "title": "กล้อง",
+ "noCameras": "ไม่มีกล้องให้ใช้งาน"
+ },
+ "email": {
+ "title": "อีเมล"
+ }
+ },
+ "documentTitle": {
+ "default": "ตั้งค่า - Frigate",
+ "authentication": "การตั้งค่าการตรวจสอบสิทธิ์ - Frigate",
+ "camera": "การตั้งค่ากล้อง - Frigate",
+ "classification": "การตั้งค่าการจำแนกประเภท - Frigate",
+ "masksAndZones": "ตัวแก้ไขแมสและโซน - Frigate",
+ "general": "การตั้งค่าทั่วไป - Frigate",
+ "frigatePlus": "การตั้งค่า Frigate+ - Frigate",
+ "notifications": "การตั้งค่าการแจ้งเตือน - Frigate"
+ },
+ "menu": {
+ "notifications": "การแจ้งเตือน",
+ "frigateplus": "Frigate+",
+ "cameras": "ตั้งค่ากล้อง",
+ "users": "ผู้ใช้",
+ "classification": "การจําแนกประเภท",
+ "masksAndZones": "แมส / โซน",
+ "ui": "UI"
+ },
+ "cameraSetting": {
+ "camera": "กล้อง",
+ "noCamera": "ไม่มีกล้อง"
+ },
+ "general": {
+ "liveDashboard": {
+ "title": "แดชบอร์ดสด",
+ "automaticLiveView": {
+ "label": "การดูสดอัตโนมัติ",
+ "desc": "สลับไปที่มุมมองสดของกล้องโดยอัตโนมัติเมื่อตรวจพบกิจกรรม. การปิดใช้งานตัวเลือกนี้จะทำให้ภาพคงที่จากกล้องบนแดชบอร์ดสดอัปเดตเพียงครั้งเดียวต่อนาที."
+ },
+ "playAlertVideos": {
+ "label": "เล่นวิดีโอการแจ้งเตือน.",
+ "desc": "ตามค่าเริ่มต้น, แจ้งเตือนล่าสุดบนแดชบอร์ดสด จะเล่นเป็นวิดีโอวนซ้ำขนาดเล็ก. ปิดใช้งานตัวเลือกนี้เพื่อแสดงเฉพาะภาพนิ่งของการแจ้งเตือนล่าสุดบนอุปกรณ์/เบราว์เซอร์นี้เท่านั้น."
+ }
+ },
+ "storedLayouts": {
+ "title": "เลย์เอาท์ที่จัดเก็บไว้",
+ "desc": "คุณสามารถลากหรือปรับขนาดเลย์เอาท์ของกล้องในกลุ่มกล้องได้. ตำแหน่งต่างๆ จะถูกเก็บไว้ในหน่วยความจำภายในของเบราว์เซอร์ของคุณ.",
+ "clearAll": "ล้างเลย์เอาต์ทั้งหมด"
+ },
+ "calendar": {
+ "title": "ปฎิทิน",
+ "firstWeekday": {
+ "label": "วันธรรมดาวันแรก",
+ "sunday": "วันอาทิตย์",
+ "monday": "วันจันทร์",
+ "desc": "วันที่เริ่มต้นสัปดาห์ของปฏิทินการรีวิว."
+ }
+ },
+ "title": "การตั้งค่าทั่วไป",
+ "cameraGroupStreaming": {
+ "title": "การตั้งค่าสตรีมกล้องแบบกลุ่ม",
+ "desc": "การตั้งค่าสตรีมมิ่งสําหรับกล้องแต่ละกลุ่มเก็บไว้ในเบราว์เซอร์ของคุณ.",
+ "clearAll": "ล้างการตั้งค่าสตรีมทั้งหมด"
+ }
+ },
+ "classification": {
+ "faceRecognition": {
+ "title": "การจดจำใบหน้า",
+ "modelSize": {
+ "small": {
+ "title": "เล็ก"
+ },
+ "large": {
+ "title": "ใหญ่"
+ }
+ }
+ },
+ "toast": {
+ "error": "ผิดพลาดในการบันทึกการกำหนดค่า: {{errorMessage}}"
+ },
+ "semanticSearch": {
+ "modelSize": {
+ "small": {
+ "title": "เล็ก"
+ },
+ "large": {
+ "title": "ใหญ่"
+ }
+ }
+ },
+ "restart_required": "จำเป็นต้องรีสตาร์ท (การตั้งค่าการจำแนกมีการเปลี่ยนแปลง)"
+ },
+ "camera": {
+ "review": {
+ "title": "รีวิว",
+ "alerts": "การแจ้งเตือน ",
+ "detections": "การเคลื่อนไหว "
+ }
+ },
+ "masksAndZones": {
+ "zones": {
+ "name": {
+ "tips": "ชื่อต้องมีความยาวอย่างน้อย 2 อักขระ และต้องไม่ใช่ชื่อกล้องหรือโซนอื่น",
+ "title": "ชื่อ",
+ "inputPlaceHolder": "ใส่ชื่อ…"
+ },
+ "add": "เพิ่มโซน",
+ "edit": "แก้โซน",
+ "point_other": "{{count}} จุด"
+ },
+ "motionMasks": {
+ "point_other": "{{count}} จุด"
+ },
+ "objectMasks": {
+ "point_other": "{{count}} จุด"
+ }
+ },
+ "frigatePlus": {
+ "title": "การตั้งค่า Frigate+",
+ "modelInfo": {
+ "cameras": "กล้อง"
+ },
+ "toast": {
+ "error": "ผิดพลาดในการบันทึกการกำหนดค่า: {{errorMessage}}"
+ }
+ }
+}
diff --git a/web/public/locales/th/views/system.json b/web/public/locales/th/views/system.json
new file mode 100644
index 000000000..9ed782172
--- /dev/null
+++ b/web/public/locales/th/views/system.json
@@ -0,0 +1,31 @@
+{
+ "general": {
+ "title": "ทั่วไป",
+ "hardwareInfo": {
+ "gpuInfo": {
+ "nvidiaSMIOutput": {
+ "driver": "ไดรเวอร์: {{driver}}",
+ "name": "ชื่อ: {{name}}"
+ }
+ }
+ }
+ },
+ "enrichments": {
+ "embeddings": {
+ "face_recognition_speed": "ความเร็วในการจดจำใบหน้า",
+ "plate_recognition_speed": "ความเร็วในการจดจำป้าย",
+ "yolov9_plate_detection_speed": "ความเร็วในการตรวจจับป้าย ของ YOLOv9",
+ "face_recognition": "การจดจำใบหน้า",
+ "text_embedding_speed": "ความเร็วในการอ่านข้อความ",
+ "yolov9_plate_detection": "การตรวจจับป้าย ของ YOLOv9"
+ }
+ },
+ "title": "ระบบ",
+ "storage": {
+ "cameraStorage": {
+ "unused": {
+ "title": "ไม่ได้ใช้"
+ }
+ }
+ }
+}