diff --git a/web/public/locales/id/audio.json b/web/public/locales/id/audio.json
index c7cb4475a3..b1ea21a628 100644
--- a/web/public/locales/id/audio.json
+++ b/web/public/locales/id/audio.json
@@ -1,98 +1,503 @@
{
- "yell": "Teriakan",
- "speech": "Percakapan",
- "babbling": "Ocehan",
- "bellow": "Di bawah",
- "whoop": "Teriakan",
- "whispering": "Bisikan",
- "snicker": "Tertawa",
+ "yell": "Berteriak",
+ "speech": "Ucapan",
+ "babbling": "Mengoceh (berekah)",
+ "bellow": "Begadang / Meraung",
+ "whoop": "Tertawa lepas (whoop)",
+ "whispering": "Berbisik",
+ "snicker": "Tertawa cekikikan",
"crying": "Menangis",
- "sigh": "Mendesah",
- "choir": "Paduan Suara",
- "yodeling": "Bernyanyi Yodel",
- "chant": "Nyanyian",
+ "sigh": "Menghela napas",
+ "choir": "Paduan suara",
+ "yodeling": "Yodel",
+ "chant": "Berzikir / Menyanyi berulang",
"child_singing": "Anak bernyanyi",
- "rapping": "Mengetuk",
- "humming": "Bersenandung",
- "groan": "Mengerang",
+ "rapping": "Rap",
+ "humming": "Berdengung",
+ "groan": "Menggerung",
"grunt": "Mendengus",
- "breathing": "Bernafas",
+ "breathing": "Bernapas",
"laughter": "Tertawa",
- "singing": "Nyanyian",
+ "singing": "Bernyanyi",
"mantra": "Mantra",
- "synthetic_singing": "Nyanyian sintesis",
- "whistling": "Siulan",
+ "synthetic_singing": "Bernyanyi buatan (sintetis)",
+ "whistling": "Mendengung (mencicit / bersiul)",
"car": "Mobil",
- "motorcycle": "Motor",
+ "motorcycle": "Sepeda motor",
"bicycle": "Sepeda",
- "bus": "Bis",
+ "bus": "Bus",
"train": "Kereta",
- "boat": "Kapal",
+ "boat": "Perahu",
"sneeze": "Bersin",
- "run": "Lari",
+ "run": "Berlari",
"footsteps": "Langkah kaki",
"chewing": "Mengunyah",
"biting": "Menggigit",
- "stomach_rumble": "Perut Keroncongan",
+ "stomach_rumble": "Suara perut bergerak",
"burping": "Sendawa",
- "hiccup": "Cegukan",
+ "hiccup": "Cegukan (hikap)",
"fart": "Kentut",
"hands": "Tangan",
- "heartbeat": "Detak Jantung",
- "applause": "Tepuk Tangan",
- "chatter": "Obrolan",
- "children_playing": "Anak-Anak Bermain",
- "animal": "Binatang",
- "pets": "Peliharaan",
+ "heartbeat": "Detak jantung",
+ "applause": "Tepuk tangan massa",
+ "chatter": "Mengobrol",
+ "children_playing": "Anak‑anak bermain",
+ "animal": "Hewan",
+ "pets": "Hewan peliharaan",
"dog": "Anjing",
- "bark": "Gonggongan",
- "howl": "Melolong",
+ "bark": "Kulit kayu",
+ "howl": "Mengaung",
"cat": "Kucing",
- "meow": "Meong",
- "livestock": "Hewan Ternak",
+ "meow": "Mengeong",
+ "livestock": "Hewan ternak",
"horse": "Kuda",
"cattle": "Sapi",
"pig": "Babi",
"goat": "Kambing",
"sheep": "Domba",
"chicken": "Ayam",
- "cluck": "Berkokok",
- "cock_a_doodle_doo": "Kukuruyuk",
+ "cluck": "Menguk / \"cluck\"",
+ "cock_a_doodle_doo": "Berkokok (\"cock‑a‑doodle‑doo\")",
"turkey": "Kalkun",
"duck": "Bebek",
- "quack": "Kwek",
+ "quack": "Menggock (\"quack\")",
"goose": "Angsa",
- "wild_animals": "Hewan Liar",
+ "wild_animals": "Hewan liar",
"bird": "Burung",
"pigeon": "Merpati",
"crow": "Gagak",
- "owl": "Burung Hantu",
- "flapping_wings": "Kepakan Sayap",
- "dogs": "Anjing",
+ "owl": "Burung hantu",
+ "flapping_wings": "Sayap berkibar",
+ "dogs": "Anjing‑anjing",
"insect": "Serangga",
- "cricket": "Jangkrik",
+ "cricket": "Kerik / Kriket",
"mosquito": "Nyamuk",
"fly": "Lalat",
- "frog": "Katak",
+ "frog": "Kodok",
"snake": "Ular",
"music": "Musik",
- "musical_instrument": "Alat Musik",
+ "musical_instrument": "Instrumen musik",
"guitar": "Gitar",
- "electric_guitar": "Gitar Elektrik",
- "acoustic_guitar": "Gitar Akustik",
- "strum": "Genjreng",
+ "electric_guitar": "Gitar listrik",
+ "acoustic_guitar": "Gitar akustik",
+ "strum": "Mengstrum",
"banjo": "Banjo",
- "snoring": "Ngorok",
+ "snoring": "Mendengkur",
"cough": "Batuk",
- "clapping": "Tepukan",
+ "clapping": "Tepuk tangan",
"camera": "Kamera",
- "wheeze": "Nafas",
- "gasp": "Tersedak",
- "sound_effect": "Efek Suara",
- "environmental_noise": "Suara Lingkungan",
- "static": "Statis",
- "white_noise": "Suara Derau",
+ "wheeze": "Mengi",
+ "gasp": "Menggigil / Tarik napas tajam",
+ "sound_effect": "Efek suara (sound effect)",
+ "environmental_noise": "Kebisingan lingkungan",
+ "static": "Suara statis",
+ "white_noise": "White noise",
"television": "Televisi",
"radio": "Radio",
- "scream": "Teriakan"
+ "scream": "Teriakan",
+ "pant": "Terengah-engah",
+ "snort": "Mendengus (melalui hidung)",
+ "throat_clearing": "Membersihkan tenggorokan",
+ "sniff": "Mengendus",
+ "shuffle": "Menyeret kaki",
+ "gargling": "Gargling",
+ "finger_snapping": "Mengklik jari",
+ "heart_murmur": "Murmur jantung",
+ "cheering": "Bersorak",
+ "crowd": "Kerumunan orang",
+ "yip": "Menggonggong pendek / ringkik",
+ "bow_wow": "Gonggongan \"bow wow\" khas",
+ "growling": "Menggeram",
+ "whimper_dog": "Rintihan anjing",
+ "purr": "Mendengkur",
+ "hiss": "Mendesis",
+ "caterwaul": "Mengeong nyaring (melolong)",
+ "clip_clop": "Suara kuda berlari (\"clip‑clop\")",
+ "neigh": "Meringkik",
+ "moo": "Mengamuk / \"Moo\"",
+ "cowbell": "Bel sapi",
+ "oink": "Menggonggong \"oink\"",
+ "bleat": "Mengebik",
+ "fowl": "Unggas",
+ "gobble": "Menggobleg",
+ "honk": "Bebek / \"honk\"",
+ "roaring_cats": "Kucing besar mengaung",
+ "roar": "Mengaung (raungan predator)",
+ "chirp": "Cicit / bernyanyi burung kecil",
+ "squawk": "Mengkokok / mendengung keras",
+ "coo": "Mengkuk \"coo\"",
+ "caw": "Menggagak / \"caw\"",
+ "hoot": "Menghoo / \"hoot\"",
+ "rats": "Tikus",
+ "mouse": "Mouse",
+ "patter": "Peluit kaki kecil",
+ "buzz": "Menggema / \"buzz\"",
+ "croak": "Kokok / \"croak\"",
+ "rattle": "Bersuara \"rattle\"",
+ "whale_vocalization": "Suara vokalisasi paus",
+ "plucked_string_instrument": "Instrumen senar dipetik",
+ "bass_guitar": "Bass gitar",
+ "steel_guitar": "Steel gitar",
+ "tapping": "Mengetuk",
+ "sitar": "Sitar",
+ "mandolin": "Mandolin",
+ "zither": "Zither",
+ "ukulele": "Ukulele",
+ "keyboard": "Keyboard",
+ "piano": "Piano",
+ "electric_piano": "Piano elektrik",
+ "organ": "Organ",
+ "electronic_organ": "Organ elektronik",
+ "hammond_organ": "Organ Hammond",
+ "synthesizer": "Synthesizer",
+ "sampler": "Sampler",
+ "harpsichord": "Harpsichord",
+ "percussion": "Percussion",
+ "drum_kit": "Kotak drum (drum kit)",
+ "drum_machine": "Mesin drum (drum machine)",
+ "drum": "Drum",
+ "snare_drum": "Snare drum",
+ "rimshot": "Rimshot",
+ "drum_roll": "Roll drum",
+ "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": "Percussion palu (mallet)",
+ "marimba": "Marimba",
+ "glockenspiel": "Glockenspiel",
+ "vibraphone": "Vibraphone",
+ "steelpan": "Steelpan",
+ "orchestra": "Orchestra",
+ "brass_instrument": "Instrumen tiup logam (brass)",
+ "french_horn": "French horn",
+ "trumpet": "Trumpet",
+ "trombone": "Trombone",
+ "bowed_string_instrument": "Instrumen senar di‑gesek (bowed string)",
+ "string_section": "Seksi biola (string section)",
+ "violin": "Biola (violin)",
+ "pizzicato": "Pizzicato",
+ "cello": "Violoncello (cello)",
+ "double_bass": "Double bass",
+ "wind_instrument": "Instrumen tiup (wind)",
+ "flute": "Flute",
+ "saxophone": "Saxophone",
+ "clarinet": "Clarinet",
+ "harp": "Harp",
+ "bell": "Bel (lonceng)",
+ "church_bell": "Lonceng gereja",
+ "jingle_bell": "Jingle bell",
+ "bicycle_bell": "Bel sepeda",
+ "tuning_fork": "Tuning fork",
+ "chime": "Chime",
+ "wind_chime": "Wind chime",
+ "harmonica": "Harmonika",
+ "accordion": "Akordian",
+ "bagpipes": "Bagpipes",
+ "didgeridoo": "Didgeridoo",
+ "theremin": "Theremin",
+ "singing_bowl": "Singing bowl",
+ "scratching": "Scratching (DJ scratching)",
+ "pop_music": "Musik pop",
+ "hip_hop_music": "Musik hip‑hop",
+ "beatboxing": "Beatboxing",
+ "rock_music": "Musik rock",
+ "heavy_metal": "Heavy metal",
+ "punk_rock": "Punk rock",
+ "grunge": "Grunge",
+ "progressive_rock": "Progressive rock",
+ "rock_and_roll": "Rock and roll",
+ "psychedelic_rock": "Psychedelic rock",
+ "rhythm_and_blues": "Rhythm and blues",
+ "soul_music": "Soul",
+ "reggae": "Reggae",
+ "country": "Country",
+ "swing_music": "Swing",
+ "bluegrass": "Bluegrass",
+ "funk": "Funk",
+ "folk_music": "Folk",
+ "middle_eastern_music": "Musik Timur Tengah",
+ "jazz": "Jazz",
+ "disco": "Disco",
+ "classical_music": "Musik klasik",
+ "opera": "Opera",
+ "electronic_music": "Musik elektronik",
+ "house_music": "House music",
+ "techno": "Tekno",
+ "dubstep": "Dubstep",
+ "drum_and_bass": "Drum and bass",
+ "electronica": "Electronica",
+ "electronic_dance_music": "Electronic dance music (EDM)",
+ "ambient_music": "Musik ambient",
+ "trance_music": "Trance",
+ "music_of_latin_america": "Musik Amerika Latin",
+ "salsa_music": "Salsa",
+ "flamenco": "Flamenco",
+ "blues": "Blues",
+ "music_for_children": "Musik anak‑anak",
+ "new-age_music": "Musik new age",
+ "vocal_music": "Musik vokal",
+ "a_capella": "A cappella",
+ "music_of_africa": "Musik Afrika",
+ "afrobeat": "Afrobeat",
+ "christian_music": "Musik krisitan / Kristen",
+ "gospel_music": "Musik gospel",
+ "music_of_asia": "Musik Asia",
+ "carnatic_music": "Carnatic music",
+ "music_of_bollywood": "Musik Bollywood",
+ "ska": "Ska",
+ "traditional_music": "Musik tradisional",
+ "independent_music": "Independent music",
+ "song": "Lagu",
+ "background_music": "Background music",
+ "theme_music": "Theme music",
+ "jingle": "Jingle (lagu iklan singkat)",
+ "soundtrack_music": "Musik soundtrack",
+ "lullaby": "Lullaby",
+ "video_game_music": "Musik video game",
+ "christmas_music": "Musik Natal",
+ "dance_music": "Musik dansa",
+ "wedding_music": "Musik pernikahan",
+ "happy_music": "Musik bahagia",
+ "sad_music": "Musik sedih",
+ "tender_music": "Musik lembut / romantis",
+ "exciting_music": "Musik mendebarkan",
+ "angry_music": "Musik marah",
+ "scary_music": "Musik menakutkan",
+ "wind": "Angin",
+ "rustling_leaves": "Daun bergesekan",
+ "wind_noise": "Suara angin",
+ "thunderstorm": "Badai petir",
+ "thunder": "Kilat / guruh (guntur)",
+ "water": "Air",
+ "rain": "Hujan",
+ "raindrop": "Tetesan hujan",
+ "rain_on_surface": "Hujan jatuh ke permukaan",
+ "stream": "Aliran sungai kecil",
+ "waterfall": "Air terjun",
+ "ocean": "Laut",
+ "waves": "Ombak",
+ "steam": "Uap",
+ "gurgling": "Menggulung / bergolak (gurgling)",
+ "fire": "Api",
+ "crackle": "Mercekik / berderak (crackle)",
+ "vehicle": "Kendaraan",
+ "sailboat": "Perahu layar",
+ "rowboat": "Perahu dayung",
+ "motorboat": "Perahu bermotor",
+ "ship": "Kapal besar",
+ "motor_vehicle": "Kendaraan bermotor",
+ "toot": "Bunyi klakson kecil",
+ "car_alarm": "Alarm mobil",
+ "power_windows": "Jendela bergerak dengan tenaga listrik",
+ "skidding": "Selipan roda",
+ "tire_squeal": "Roda tergelincir / berdecit",
+ "car_passing_by": "Mobil melintas",
+ "race_car": "Mobil balap",
+ "truck": "Truk",
+ "air_brake": "Rem udara",
+ "air_horn": "Horn udara",
+ "reversing_beeps": "Bunyi beeper mundur",
+ "ice_cream_truck": "Mobil es krim",
+ "emergency_vehicle": "Kendaraan darurat",
+ "police_car": "Mobil patroli polisi",
+ "ambulance": "Ambulans",
+ "fire_engine": "Mobil pemadam kebakaran",
+ "traffic_noise": "Kebisingan lalu lintas",
+ "rail_transport": "Transportasi rel",
+ "train_whistle": "Pelecut kereta",
+ "train_horn": "Klakson kereta api",
+ "railroad_car": "Gerigit kereta api",
+ "train_wheels_squealing": "Rel kereta berdecit",
+ "subway": "Kereta bawah tanah (subway)",
+ "aircraft": "Pesawat udara",
+ "aircraft_engine": "Mesin pesawat",
+ "jet_engine": "Mesin jet",
+ "propeller": "Propeller",
+ "helicopter": "Helikopter",
+ "fixed-wing_aircraft": "Pesawat sayap tetap",
+ "skateboard": "Papan luncur",
+ "engine": "Mesin",
+ "light_engine": "Mesin ringan",
+ "dental_drill's_drill": "Bor gigi",
+ "lawn_mower": "Mesin pemotong rumput",
+ "chainsaw": "Gergaji mesin / chainsaw",
+ "medium_engine": "Mesin menengah",
+ "heavy_engine": "Mesin berat",
+ "engine_knocking": "Mesin berdecit",
+ "engine_starting": "Mesin dihidupkan",
+ "idling": "Mesin diam tetap hidup (idling)",
+ "accelerating": "Percepatan (accelerating)",
+ "door": "Pintu",
+ "doorbell": "Bel pintu",
+ "ding-dong": "Ding‑dong (bunyi bel pintu khas)",
+ "sliding_door": "Pintu geser",
+ "slam": "Menjekat (bunyi pintu ditutup keras)",
+ "knock": "Ketukan",
+ "tap": "Mengetuk",
+ "squeak": "Berderit",
+ "cupboard_open_or_close": "Kupmar terbuka atau tertutup",
+ "drawer_open_or_close": "Laci terbuka atau tertutup",
+ "dishes": "Piring",
+ "cutlery": "Sendok garpu",
+ "chopping": "Mengiris",
+ "frying": "Menggoreng",
+ "microwave_oven": "Oven microwave",
+ "blender": "Blender",
+ "water_tap": "Kran air",
+ "sink": "Wastafel",
+ "bathtub": "Bak mandi",
+ "hair_dryer": "Pengering rambut",
+ "toilet_flush": "Siraman toilet",
+ "toothbrush": "Sikat gigi",
+ "electric_toothbrush": "Sikat gigi elektrik",
+ "vacuum_cleaner": "Vacuum cleaner",
+ "zipper": "Ritsleting",
+ "keys_jangling": "Kunci berdering",
+ "coin": "Koin",
+ "scissors": "Gunting",
+ "electric_shaver": "Alat cukur listrik",
+ "shuffling_cards": "Mengacaukan kartu",
+ "typing": "Ketikan",
+ "typewriter": "Mesin tik",
+ "computer_keyboard": "Keyboard komputer",
+ "writing": "Menulis",
+ "alarm": "Alarm",
+ "telephone": "Telepon",
+ "telephone_bell_ringing": "Bel telepon berdering",
+ "ringtone": "Nada dering",
+ "telephone_dialing": "Menelepon dengan dial",
+ "dial_tone": "Nada tunggu (dial tone)",
+ "busy_signal": "Suara sibuk",
+ "alarm_clock": "Alarm jam",
+ "siren": "Sirine",
+ "civil_defense_siren": "Sirine perlindungan sipil",
+ "buzzer": "Buzzer",
+ "smoke_detector": "Detektor asap",
+ "fire_alarm": "Alarm kebakaran",
+ "foghorn": "Foghorn (bunyi peluit kabut laut)",
+ "whistle": "Peluit",
+ "steam_whistle": "Peluit uap",
+ "mechanisms": "Mekanisme",
+ "ratchet": "Ratchet",
+ "clock": "Jam",
+ "tick": "Detak (tick)",
+ "tick-tock": "Tick‑tock",
+ "gears": "Roda gigi (gears)",
+ "pulleys": "Katrol",
+ "sewing_machine": "Mesin jahit",
+ "mechanical_fan": "Kipas baling‑baling mekanik",
+ "air_conditioning": "Pendingin ruangan / AC",
+ "cash_register": "Mesin kasir",
+ "printer": "Printer",
+ "single-lens_reflex_camera": "Kamera single‑lens reflex",
+ "tools": "Perkakas",
+ "hammer": "Palu",
+ "jackhammer": "Jackhammer",
+ "sawing": "Menggergaji",
+ "filing": "Mengasah",
+ "sanding": "Mengampelas",
+ "power_tool": "Power tool (perkakas bermotor)",
+ "drill": "Bor",
+ "explosion": "Ledakan",
+ "gunshot": "Tembakan senjata api",
+ "machine_gun": "Senapan mesin",
+ "fusillade": "Fusillade (banyak tembakan sekaligus)",
+ "artillery_fire": "Tembakan artileri",
+ "cap_gun": "Senapan mainan (cap gun)",
+ "fireworks": "Kembang api",
+ "firecracker": "Petasan kembang api",
+ "burst": "Ledakan pecah (burst)",
+ "eruption": "Letusan (eruption)",
+ "boom": "Boom (bunyi ledakan berat)",
+ "wood": "Kayu",
+ "chop": "Menebang (chop)",
+ "splinter": "Bercerai (splinter)",
+ "crack": "Retak / pecah (crack)",
+ "glass": "Kaca",
+ "chink": "Bunyi kaca berdenting (chink)",
+ "shatter": "Hancur / pecah (shatter)",
+ "silence": "Diam / tidak ada suara (silence)",
+ "pink_noise": "Pink noise",
+ "field_recording": "Rekaman lapangan (field recording)",
+ "sodeling": "Menangis tertahan",
+ "chird": "Derit / suara aneh",
+ "change_ringing": "Lantunan lonceng bergantian (change ringing)",
+ "shofar": "Shofar",
+ "liquid": "Cairan",
+ "splash": "Cipratan (splash)",
+ "slosh": "Slosh (suara cairan bergoyang)",
+ "squish": "Squish (bunyi renyah basah)",
+ "drip": "Tetes (drip)",
+ "pour": "Tuang (pour)",
+ "trickle": "Menetes (trickle)",
+ "gush": "Mengalir deras (gush)",
+ "fill": "Mengisi (fill)",
+ "spray": "Semprot (spray)",
+ "pump": "Pompa",
+ "stir": "Aduk (stir)",
+ "boiling": "Mendidih",
+ "sonar": "Sonar",
+ "arrow": "Panah",
+ "whoosh": "Whoosh (bunyi melesat cepat)",
+ "thump": "Thump (bantingan)",
+ "thunk": "Thunk (bunyi tebal tumpul)",
+ "electronic_tuner": "Tuner elektronik",
+ "effects_unit": "Effects unit (efek audio)",
+ "chorus_effect": "Efek chorus",
+ "basketball_bounce": "Pantulan bola basket",
+ "bang": "Benturan keras (bang)",
+ "slap": "Plak (pukulan telapak)",
+ "whack": "Whack (pukulan keras)",
+ "smash": "Smash (hancurkan keras)",
+ "breaking": "Memecahkan",
+ "bouncing": "Memantul",
+ "whip": "Cambuk",
+ "flap": "Flap (sayap / lembaran berkibar)",
+ "scratch": "Gores (scratch)",
+ "scrape": "Gesekan kasar (scrape)",
+ "rub": "Menggosok (rub)",
+ "roll": "Gulung (roll)",
+ "crushing": "Menghancurkan (crushing)",
+ "crumpling": "Menggumpalkan (crumpling)",
+ "tearing": "Merosak (tearing)",
+ "beep": "Beep",
+ "ping": "Ping",
+ "ding": "Ding",
+ "clang": "Clang",
+ "squeal": "Squeal (mengerang)",
+ "creak": "Creak (berderit pelan)",
+ "rustle": "Rustle (menggerut)",
+ "whir": "Whir (menderu putaran cepat)",
+ "clatter": "Kerincing / benturan berantai (clatter)",
+ "sizzle": "Sizzle (menggoreng / bersiul)",
+ "clicking": "Clicking (bunyi kunci)",
+ "clickety_clack": "Clickety clack (bunyi kaki atau rel)",
+ "rumble": "Rumble (gempuran / gemuruh)",
+ "plop": "Plop (bunyi jatuh lembut ke air)",
+ "hum": "Hum (mendengung)",
+ "zing": "Zing (bunyi gesek tipis cepat)",
+ "boing": "Boing (bunyi pegas)",
+ "crunch": "Crunch (remas keras)",
+ "sine_wave": "Gelombang sinus (sine wave)",
+ "harmonic": "Harmonik",
+ "chirp_tone": "Tone chirp",
+ "pulse": "Pulse (detak / pulsa)",
+ "inside": "Di dalam ruangan",
+ "outside": "Di luar ruangan",
+ "reverberation": "Gema ruang (reverberation)",
+ "echo": "Gema (echo)",
+ "noise": "Kebisingan",
+ "mains_hum": "Mains hum (dengungan listrik arus utama)",
+ "distortion": "Distorsi",
+ "sidetone": "Sidetone (suara sendiri saat menelepon)",
+ "cacophony": "Kecemasan suara (cacophony)",
+ "throbbing": "Berdebar / gemuruh (throbbing)",
+ "vibration": "Vibrasi"
}
diff --git a/web/public/locales/id/common.json b/web/public/locales/id/common.json
index c5eb6634aa..455b3f4bf4 100644
--- a/web/public/locales/id/common.json
+++ b/web/public/locales/id/common.json
@@ -1,17 +1,17 @@
{
"time": {
- "untilForRestart": "Hingga Frigate memulai ulang.",
- "untilRestart": "Sampai memulai ulang",
- "ago": "{{timeAgo}} Lalu",
- "justNow": "Sekarang",
+ "untilForRestart": "Sampai Frigate dimulai ulang.",
+ "untilRestart": "Sampai dimulai ulang",
+ "ago": "{{timeAgo}} yang lalu",
+ "justNow": "Baru saja",
"today": "Hari ini",
"yesterday": "Kemarin",
- "untilForTime": "Sampai",
+ "untilForTime": "Sampai {{time}}",
"last7": "7 hari terakhir",
"last14": "14 hari terakhir",
"last30": "30 hari terakhir",
"thisWeek": "Minggu Ini",
- "never": "Tidak Pernah",
+ "never": "Tidak pernah",
"lastWeek": "Minggu Lalu",
"thisMonth": "Bulan Ini",
"lastMonth": "Bulan Lalu",
@@ -21,11 +21,296 @@
"1hour": "1 jam",
"12hours": "12 jam",
"24hours": "24 jam",
- "pm": "pm",
- "am": "am",
- "yr": "{{time}} tahun",
+ "pm": "PM",
+ "am": "AM",
+ "yr": "{{time}} th",
"year_other": "{{time}} tahun",
- "mo": "{{time}} bulan"
+ "mo": "{{time}} bln",
+ "month_other": "{{time}} bulan",
+ "d": "{{time}} hr",
+ "day_other": "{{time}} hari",
+ "h": "{{time}} jam",
+ "hour_other": "{{time}} jam",
+ "m": "{{time}} mnt",
+ "minute_other": "{{time}} menit",
+ "s": "{{time}} dtk",
+ "second_other": "{{time}} detik",
+ "formattedTimestamp": {
+ "12hour": "MMM d, h:mm:ss aaa",
+ "24hour": "MMM d, HH:mm:ss"
+ },
+ "formattedTimestamp2": {
+ "12hour": "MM/dd h:mm:ssa",
+ "24hour": "d MMM HH:mm:ss"
+ },
+ "formattedTimestampHourMinute": {
+ "12hour": "h:mm aaa",
+ "24hour": "HH:mm"
+ },
+ "formattedTimestampHourMinuteSecond": {
+ "12hour": "h:mm:ss aaa",
+ "24hour": "HH:mm:ss"
+ },
+ "formattedTimestampMonthDayHourMinute": {
+ "12hour": "MMM d, h:mm aaa",
+ "24hour": "MMM d, HH:mm"
+ },
+ "formattedTimestampMonthDayYear": {
+ "12hour": "MMM d, yyyy",
+ "24hour": "MMM d, yyyy"
+ },
+ "formattedTimestampMonthDayYearHourMinute": {
+ "12hour": "MMM d yyyy, h:mm aaa",
+ "24hour": "MMM d yyyy, HH:mm"
+ },
+ "formattedTimestampMonthDay": "MMM d",
+ "formattedTimestampFilename": {
+ "12hour": "MM-dd-yy-h-mm-ss-a",
+ "24hour": "MM-dd-yy-HH-mm-ss"
+ },
+ "inProgress": "Sedang berlangsung",
+ "invalidStartTime": "Waktu mulai tidak valid",
+ "invalidEndTime": "Waktu selesai tidak valid"
},
- "readTheDocumentation": "Baca dokumentasi"
+ "readTheDocumentation": "Baca dokumentasi",
+ "menu": {
+ "system": "Sistem",
+ "profiles": "Profil",
+ "systemMetrics": "Metrik sistem",
+ "configuration": "Konfigurasi",
+ "systemLogs": "Log sistem",
+ "settings": "Pengaturan",
+ "configurationEditor": "Editor Konfigurasi",
+ "languages": "Bahasa",
+ "language": {
+ "en": "English (Inggris)",
+ "es": "Español (Spanyol)",
+ "zhCN": "简体中文 (Tionghoa Sederhana)",
+ "hi": "हिन्दी (Hindi)",
+ "fr": "Français (Prancis)",
+ "ar": "العربية (Arab)",
+ "pt": "Português (Portugis)",
+ "ptBR": "Português brasileiro (Portugis Brasil)",
+ "ru": "Русский (Rusia)",
+ "de": "Deutsch (Jerman)",
+ "ja": "日本語 (Jepang)",
+ "tr": "Türkçe (Turki)",
+ "it": "Italiano (Italia)",
+ "nl": "Nederlands (Belanda)",
+ "sv": "Svenska (Swedia)",
+ "cs": "Čeština (Ceko)",
+ "nb": "Norsk Bokmål (Norwegia Bokmål)",
+ "ko": "한국어 (Korea)",
+ "vi": "Tiếng Việt (Vietnam)",
+ "fa": "فارسی (Persia)",
+ "pl": "Polski (Polandia)",
+ "uk": "Українська (Ukraina)",
+ "he": "עברית (Ibrani)",
+ "el": "Ελληνικά (Yunani)",
+ "ro": "Română (Rumania)",
+ "hu": "Magyar (Hungaria)",
+ "fi": "Suomi (Finlandia)",
+ "da": "Dansk (Denmark)",
+ "sk": "Slovenčina (Slovakia)",
+ "yue": "粵語 (Kanton)",
+ "th": "ไทย (Thai)",
+ "ca": "Català (Katalan)",
+ "hr": "Hrvatski (Kroasia)",
+ "bs": "Bosanski (Bosnia)",
+ "sr": "Српски (Serbia)",
+ "sl": "Slovenščina (Slovenia)",
+ "lt": "Lietuvių (Lituania)",
+ "bg": "Български (Bulgaria)",
+ "gl": "Galego (Galisia)",
+ "id": "Bahasa Indonesia (Indonesia)",
+ "ur": "اردو (Urdu)",
+ "withSystem": {
+ "label": "Gunakan pengaturan sistem untuk bahasa"
+ }
+ },
+ "appearance": "Tampilan",
+ "darkMode": {
+ "label": "Mode Gelap",
+ "light": "Terang",
+ "dark": "Gelap",
+ "withSystem": {
+ "label": "Gunakan pengaturan sistem untuk mode terang atau gelap"
+ }
+ },
+ "withSystem": "Sistem",
+ "theme": {
+ "label": "Tema",
+ "blue": "Biru",
+ "green": "Hijau",
+ "nord": "Nord",
+ "red": "Merah",
+ "highcontrast": "Kontras Tinggi",
+ "default": "Default"
+ },
+ "help": "Bantuan",
+ "documentation": {
+ "title": "Dokumentasi",
+ "label": "Dokumentasi Frigate"
+ },
+ "restart": "Mulai Ulang Frigate",
+ "live": {
+ "title": "Live",
+ "allCameras": "Semua Kamera",
+ "cameras": {
+ "title": "Kamera",
+ "count_other": "{{count}} Kamera"
+ }
+ },
+ "review": "Tinjauan",
+ "explore": "Jelajah",
+ "export": "Ekspor",
+ "actions": "Tindakan",
+ "uiPlayground": "UI Playground",
+ "features": "Fitur",
+ "faceLibrary": "Pustaka Wajah",
+ "classification": "Klasifikasi",
+ "chat": "Chat",
+ "user": {
+ "title": "Pengguna",
+ "account": "Akun",
+ "current": "Pengguna Saat Ini: {{user}}",
+ "anonymous": "anonim",
+ "logout": "Keluar",
+ "setPassword": "Atur Kata Sandi"
+ }
+ },
+ "unit": {
+ "speed": {
+ "mph": "mph",
+ "kph": "kph"
+ },
+ "length": {
+ "feet": "kaki",
+ "meters": "meter"
+ },
+ "data": {
+ "kbps": "kB/dtk",
+ "mbps": "MB/dtk",
+ "gbps": "GB/dtk",
+ "kbph": "kB/jam",
+ "mbph": "MB/jam",
+ "gbph": "GB/jam"
+ }
+ },
+ "label": {
+ "back": "Kembali",
+ "hide": "Sembunyikan {{item}}",
+ "show": "Tampilkan {{item}}",
+ "ID": "ID",
+ "none": "Tidak ada",
+ "all": "Semua",
+ "other": "Lainnya"
+ },
+ "list": {
+ "two": "{{0}} dan {{1}}",
+ "many": "{{items}}, dan {{last}}",
+ "separatorWithSpace": ", "
+ },
+ "field": {
+ "optional": "Opsional",
+ "internalID": "ID Internal yang digunakan Frigate dalam konfigurasi dan basis data"
+ },
+ "button": {
+ "add": "Tambah",
+ "apply": "Terapkan",
+ "applying": "Menerapkan…",
+ "reset": "Atur Ulang",
+ "undo": "Urungkan",
+ "done": "Selesai",
+ "enabled": "Diaktifkan",
+ "enable": "Aktifkan",
+ "disabled": "Dinonaktifkan",
+ "disable": "Nonaktifkan",
+ "save": "Simpan",
+ "saving": "Menyimpan…",
+ "cancel": "Batal",
+ "close": "Tutup",
+ "copy": "Salin",
+ "copiedToClipboard": "Disalin ke papan klip",
+ "back": "Kembali",
+ "history": "Riwayat",
+ "fullscreen": "Layar Penuh",
+ "exitFullscreen": "Keluar dari Layar Penuh",
+ "pictureInPicture": "Gambar dalam Gambar",
+ "twoWayTalk": "Audio Dua Arah",
+ "cameraAudio": "Audio Kamera",
+ "on": "AKTIF",
+ "off": "NONAKTIF",
+ "edit": "Edit",
+ "copyCoordinates": "Salin koordinat",
+ "delete": "Hapus",
+ "yes": "Ya",
+ "no": "Tidak",
+ "download": "Unduh",
+ "info": "Info",
+ "suspended": "Ditangguhkan",
+ "unsuspended": "Batalkan penangguhan",
+ "play": "Putar",
+ "unselect": "Batalkan pilihan",
+ "export": "Ekspor",
+ "deleteNow": "Hapus Sekarang",
+ "next": "Berikutnya",
+ "continue": "Lanjutkan",
+ "modified": "Diubah",
+ "overridden": "Ditimpa",
+ "resetToGlobal": "Atur Ulang ke Global",
+ "resetToDefault": "Atur Ulang ke Default",
+ "saveAll": "Simpan Semua",
+ "savingAll": "Menyimpan Semua…",
+ "undoAll": "Urungkan Semua",
+ "retry": "Coba Lagi"
+ },
+ "toast": {
+ "copyUrlToClipboard": "URL disalin ke papan klip.",
+ "save": {
+ "title": "Simpan",
+ "error": {
+ "title": "Gagal menyimpan perubahan konfigurasi: {{errorMessage}}",
+ "noMessage": "Gagal menyimpan perubahan konfigurasi"
+ },
+ "success": "Berhasil menyimpan perubahan konfigurasi."
+ }
+ },
+ "role": {
+ "title": "Peran",
+ "admin": "Admin",
+ "viewer": "Penampil",
+ "desc": "Admin memiliki akses penuh ke semua fitur di UI Frigate. Penampil terbatas hanya untuk melihat kamera, item tinjauan, dan rekaman historis di UI."
+ },
+ "pagination": {
+ "label": "paginasi",
+ "previous": {
+ "title": "Sebelumnya",
+ "label": "Buka halaman sebelumnya"
+ },
+ "next": {
+ "title": "Berikutnya",
+ "label": "Buka halaman berikutnya"
+ },
+ "more": "Halaman lainnya"
+ },
+ "accessDenied": {
+ "documentTitle": "Akses Ditolak - Frigate",
+ "title": "Akses Ditolak",
+ "desc": "Anda tidak memiliki izin untuk melihat halaman ini."
+ },
+ "notFound": {
+ "documentTitle": "Tidak Ditemukan - Frigate",
+ "title": "404",
+ "desc": "Halaman tidak ditemukan"
+ },
+ "selectItem": "Pilih {{item}}",
+ "information": {
+ "pixels": "{{area}}px"
+ },
+ "no_items": "Tidak ada item",
+ "validation_errors": "Kesalahan Validasi",
+ "credentialField": {
+ "savedPlaceholder": "Tersimpan — biarkan kosong untuk mempertahankan yang saat ini"
+ }
}
diff --git a/web/public/locales/id/config/cameras.json b/web/public/locales/id/config/cameras.json
index 9151d7d340..3b80196174 100644
--- a/web/public/locales/id/config/cameras.json
+++ b/web/public/locales/id/config/cameras.json
@@ -1,3 +1,62 @@
{
- "label": "Pengaturan Kamera"
+ "label": "Pengaturan Kamera",
+ "name": {
+ "label": "Nama Kamera",
+ "description": "Nama Kamera diwajibkan"
+ },
+ "friendly_name": {
+ "label": "Nama Singkat",
+ "description": "Nama Singkat kamera digunakan pada tampilan UI Frigate"
+ },
+ "audio": {
+ "label": "Deteksi Suara",
+ "description": "Pengaturan untuk Deteksi Kejadian berdasarkan Suara pada kamera ini.",
+ "enabled": {
+ "label": "Nyalakan Deteksi Suara",
+ "description": "Nyalakan atau matikan deteksi kejadian suara pada kamera ini."
+ },
+ "filters": {
+ "threshold": {
+ "label": "Keyakinan-Suara Minimum"
+ }
+ },
+ "min_volume": {
+ "label": "Volume-Suara Minimum"
+ }
+ },
+ "audio_transcription": {
+ "label": "Transkripsi Suara",
+ "enabled": {
+ "label": "Nyalakan Transkripsi"
+ },
+ "live_enabled": {
+ "label": "Transkripsi Langsung (Live)"
+ }
+ },
+ "detect": {
+ "label": "Deteksi Objek",
+ "enabled": {
+ "label": "Nyalakan Deteksi Objek"
+ },
+ "stationary": {
+ "classifier": {
+ "label": "Nyalakan Klasifikasi-Visual",
+ "description": "Menggunakan pengklasifikasi visual untuk membedakan objek-objek diam (benar-benar tidak bergerak), meskipun bounding-box kurang stabil atau bergetar (jitter)."
+ }
+ },
+ "fps": {
+ "label": "Kecepatan (FPS) Deteksi",
+ "description": "Kecepatan yang ditargetkan untuk menjalankan Deteksi Objek, dalam satuan frame per second (FPS); nilai lebih rendah mengurangi intensitas proses dan dapat meringangkan beban kerja CPU. Nilai 5 direkomendasikan, sedangakan nilai 10 dianggap sangat tinggi dan hanya digunakan untuk pelacakan (tracking) benda yang bergerak dengan benar-benar cepat."
+ }
+ },
+ "enabled": {
+ "label": "Dinyalakan",
+ "description": "Dinyalakan (Enabled)"
+ },
+ "birdseye": {
+ "enabled": {
+ "description": "Nyalakan atau matikan fitur Penglihatan Atas (Birdseye View).",
+ "label": "Nyalakan Birdseye"
+ }
+ }
}
diff --git a/web/public/locales/id/config/global.json b/web/public/locales/id/config/global.json
index 345b593f5c..9b8409655f 100644
--- a/web/public/locales/id/config/global.json
+++ b/web/public/locales/id/config/global.json
@@ -1,5 +1,47 @@
{
"version": {
"label": "Versi konfigurasi"
+ },
+ "audio": {
+ "label": "Deteksi Suara",
+ "enabled": {
+ "label": "Nyalakan Deteksi Suara"
+ },
+ "filters": {
+ "threshold": {
+ "label": "Keyakinan-Suara Minimum"
+ }
+ },
+ "min_volume": {
+ "label": "Volume-Suara Minimum"
+ }
+ },
+ "audio_transcription": {
+ "label": "Transkripsi Suara",
+ "live_enabled": {
+ "label": "Transkripsi Langsung (Live)"
+ }
+ },
+ "detect": {
+ "label": "Deteksi Objek",
+ "enabled": {
+ "label": "Nyalakan Deteksi Objek"
+ },
+ "stationary": {
+ "classifier": {
+ "label": "Nyalakan Klasifikasi-Visual",
+ "description": "Menggunakan pengklasifikasi visual untuk membedakan objek-objek diam (benar-benar tidak bergerak), meskipun bounding-box kurang stabil atau bergetar (jitter)."
+ }
+ },
+ "fps": {
+ "label": "Kecepatan (FPS) Deteksi",
+ "description": "Kecepatan yang ditargetkan untuk menjalankan Deteksi Objek, dalam satuan frame per second (FPS); nilai lebih rendah mengurangi intensitas proses dan dapat meringangkan beban kerja CPU. Nilai 5 direkomendasikan, sedangakan nilai 10 dianggap sangat tinggi dan hanya digunakan untuk pelacakan (tracking) benda yang bergerak dengan benar-benar cepat."
+ }
+ },
+ "birdseye": {
+ "enabled": {
+ "description": "Nyalakan atau matikan fitur Penglihatan Atas (Birdseye View).",
+ "label": "Nyalakan Birdseye"
+ }
}
}
diff --git a/web/public/locales/id/objects.json b/web/public/locales/id/objects.json
index e56f051d01..82f56b05c8 100644
--- a/web/public/locales/id/objects.json
+++ b/web/public/locales/id/objects.json
@@ -2,30 +2,128 @@
"person": "Orang",
"bicycle": "Sepeda",
"car": "Mobil",
- "motorcycle": "Motor",
+ "motorcycle": "Sepeda motor",
"airplane": "Pesawat",
- "bus": "Bis",
+ "bus": "Bus",
"train": "Kereta",
- "boat": "Kapal",
- "traffic_light": "Lampu Lalu Lintas",
- "fire_hydrant": "Hidran Kebakaran",
- "animal": "Binatang",
+ "boat": "Perahu",
+ "traffic_light": "Lampu lalu lintas",
+ "fire_hydrant": "Hidran kebakaran",
+ "animal": "Hewan",
"dog": "Anjing",
- "bark": "Gonggongan",
+ "bark": "Kulit kayu",
"cat": "Kucing",
"horse": "Kuda",
"goat": "Kambing",
"sheep": "Domba",
"bird": "Burung",
- "street_sign": "Rambu Jalan",
- "stop_sign": "Tanda Stop",
- "parking_meter": "Parkir Meter",
- "bench": "Kursi",
+ "street_sign": "Rambu jalan",
+ "stop_sign": "Rambu berhenti",
+ "parking_meter": "Meter parkir",
+ "bench": "Bangku",
"cow": "Sapi",
"elephant": "Gajah",
"bear": "Beruang",
"zebra": "Zebra",
"giraffe": "Jerapah",
"hat": "Topi",
- "backpack": "Tas"
+ "backpack": "Ransel",
+ "mouse": "Mouse",
+ "keyboard": "Keyboard",
+ "vehicle": "Kendaraan",
+ "skateboard": "Papan luncur",
+ "door": "Pintu",
+ "blender": "Blender",
+ "sink": "Wastafel",
+ "hair_dryer": "Pengering rambut",
+ "toothbrush": "Sikat gigi",
+ "scissors": "Gunting",
+ "clock": "Jam",
+ "umbrella": "Payung",
+ "shoe": "Sepatu",
+ "eye_glasses": "Kacamata",
+ "handbag": "Tas tangan",
+ "tie": "Dasi",
+ "suitcase": "Koper",
+ "frisbee": "Frisbee",
+ "skis": "Ski",
+ "snowboard": "Papan seluncur salju",
+ "sports_ball": "Bola olahraga",
+ "kite": "Layang-layang",
+ "baseball_bat": "Tongkat bisbol",
+ "baseball_glove": "Sarung tangan bisbol",
+ "surfboard": "Papan selancar",
+ "tennis_racket": "Raket tenis",
+ "bottle": "Botol",
+ "plate": "Piring",
+ "wine_glass": "Gelas anggur",
+ "cup": "Cangkir",
+ "fork": "Garpu",
+ "knife": "Pisau",
+ "spoon": "Sendok",
+ "bowl": "Mangkuk",
+ "banana": "Pisang",
+ "apple": "Apel",
+ "sandwich": "Sandwich",
+ "orange": "Jeruk",
+ "broccoli": "Brokoli",
+ "carrot": "Wortel",
+ "hot_dog": "Hot dog",
+ "pizza": "Pizza",
+ "donut": "Donat",
+ "cake": "Kue",
+ "chair": "Kursi",
+ "couch": "Sofa",
+ "potted_plant": "Tanaman dalam pot",
+ "bed": "Tempat tidur",
+ "mirror": "Cermin",
+ "dining_table": "Meja makan",
+ "window": "Jendela",
+ "desk": "Meja tulis",
+ "toilet": "Toilet",
+ "tv": "TV",
+ "laptop": "Laptop",
+ "remote": "Remote",
+ "cell_phone": "Ponsel",
+ "microwave": "Microwave",
+ "oven": "Oven",
+ "toaster": "Pemanggang roti",
+ "refrigerator": "Kulkas",
+ "book": "Buku",
+ "vase": "Vas",
+ "teddy_bear": "Boneka beruang",
+ "hair_brush": "Sikat rambut",
+ "squirrel": "Tupai",
+ "deer": "Rusa",
+ "fox": "Rubah",
+ "rabbit": "Kelinci",
+ "raccoon": "Rakuns",
+ "robot_lawnmower": "Mesin pemotong rumput robot",
+ "waste_bin": "Tempat sampah",
+ "on_demand": "Sesuai permintaan",
+ "face": "Wajah",
+ "license_plate": "Pelat nomor",
+ "package": "Paket",
+ "bbq_grill": "Panggangan BBQ",
+ "amazon": "Amazon",
+ "usps": "USPS",
+ "ups": "UPS",
+ "fedex": "FedEx",
+ "dhl": "DHL",
+ "an_post": "An Post",
+ "purolator": "Purolator",
+ "postnl": "PostNL",
+ "nzpost": "NZPost",
+ "postnord": "PostNord",
+ "gls": "GLS",
+ "dpd": "DPD",
+ "canada_post": "Canada Post",
+ "royal_mail": "Royal Mail",
+ "school_bus": "Bus sekolah",
+ "skunk": "Sigung",
+ "kangaroo": "Kanguru",
+ "baby": "Bayi",
+ "baby_stroller": "Kereta dorong bayi",
+ "rickshaw": "Becak",
+ "rodent": "Hewan pengerat"
}
diff --git a/web/public/locales/id/views/events.json b/web/public/locales/id/views/events.json
index 19a85885f5..bb78ea70aa 100644
--- a/web/public/locales/id/views/events.json
+++ b/web/public/locales/id/views/events.json
@@ -16,7 +16,9 @@
}
},
"timeline.aria": "Pilih timeline",
- "timeline": "Linimasa",
+ "timeline": {
+ "label": "Linimasa"
+ },
"zoomIn": "Perbesar",
"zoomOut": "Perkecil",
"events": {
@@ -43,7 +45,9 @@
},
"documentTitle": "Tinjauan - Frigate",
"recordings": {
- "documentTitle": "Rekaman - Frigate"
+ "documentTitle": "Rekaman - Frigate",
+ "invalidSharedLink": "Tidak dapat membuka tautan rekaman bertanda waktu karena kesalahan penguraian.",
+ "invalidSharedCamera": "Tidak dapat membuka tautan rekaman bertanda waktu karena kamera tidak dikenal atau tidak berwenang."
},
"calendarFilter": {
"last24Hours": "24 Jam Terakhir"
@@ -54,10 +58,37 @@
"button": "Item Batu Untuk Ditinjau",
"label": "Lihat item ulasan baru"
},
- "selected_one": "{{count}} terpilih",
- "selected_other": "{{count}} terpilih",
+ "selected_one": "{{count}} dipilih",
+ "selected_other": "{{count}} dipilih",
"camera": "Kamera",
"detected": "terdeteksi",
"suspiciousActivity": "Aktivitas Mencurigakan",
- "threateningActivity": "Aktivitas yang Mengancam"
+ "threateningActivity": "Aktivitas yang Mengancam",
+ "select_all": "Semua",
+ "normalActivity": "Normal",
+ "needsReview": "Perlu ditinjau",
+ "securityConcern": "Kendala keamanan",
+ "motionSearch": {
+ "menuItem": "Pencarian gerakan",
+ "openMenu": "Opsi kamera"
+ },
+ "motionPreviews": {
+ "menuItem": "Lihat pratinjau gerakan",
+ "title": "Pratinjau gerakan: {{camera}}",
+ "mobileSettingsTitle": "Setelan Pratinjau Gerakan",
+ "mobileSettingsDesc": "Sesuaikan kecepatan pemutaran dan peredupan, serta pilih tanggal untuk meninjau klip hanya gerakan.",
+ "dim": "Redup",
+ "dimAria": "Sesuaikan intensitas peredupan",
+ "dimDesc": "Tingkatkan peredupan untuk meningkatkan visibilitas area gerakan.",
+ "speed": "Kecepatan",
+ "speedAria": "Pilih kecepatan pemutaran pratinjau",
+ "speedDesc": "Pilih seberapa cepat klip pratinjau diputar.",
+ "back": "Kembali",
+ "empty": "Tidak ada pratinjau tersedia",
+ "noPreview": "Pratinjau tidak tersedia",
+ "seekAria": "Pindahkan {{camera}} pemain ke {{time}}",
+ "filter": "Filter",
+ "filterDesc": "Pilih area untuk hanya menampilkan klip dengan gerakan di wilayah tersebut.",
+ "filterClear": "Hapus"
+ }
}
diff --git a/web/public/locales/id/views/explore.json b/web/public/locales/id/views/explore.json
index b93d4bf617..726548db3b 100644
--- a/web/public/locales/id/views/explore.json
+++ b/web/public/locales/id/views/explore.json
@@ -2,45 +2,262 @@
"documentTitle": "Jelajahi - Frigate",
"generativeAI": "AI Generatif",
"exploreIsUnavailable": {
- "title": "Penelusuran tidak tersedia",
+ "title": "Jelajah Tidak Tersedia",
"embeddingsReindexing": {
- "context": "Jelajahi dapat digunakan setelah embedding objek yang dilacak selesai di-reindex.",
+ "context": "Jelajah dapat digunakan setelah embedding objek terlacak selesai diindeks ulang.",
"startingUp": "Sedang memulai…",
"estimatedTime": "Perkiraan waktu tersisa:",
- "finishingShortly": "Selesai sesaat lagi",
+ "finishingShortly": "Segera selesai",
"step": {
- "thumbnailsEmbedded": "Keluku dilampirkan ",
- "descriptionsEmbedded": "Deskripsi terlampir: ",
- "trackedObjectsProcessed": "Objek yang dilacak diproses: "
+ "thumbnailsEmbedded": "Thumbnail yang disematkan: ",
+ "descriptionsEmbedded": "Deskripsi yang disematkan: ",
+ "trackedObjectsProcessed": "Objek terlacak yang diproses: "
}
},
"downloadingModels": {
- "context": "Frigate sedang mengunduh model embedding yang diperlukan untuk mendukung fitur Pencarian Semantik. Proses ini mungkin memakan waktu beberapa menit tergantung pada kecepatan koneksi jaringan Anda.",
+ "context": "Frigate sedang mengunduh model embedding yang diperlukan untuk mendukung fitur Pencarian Semantik. Ini mungkin memerlukan beberapa menit tergantung pada kecepatan koneksi jaringan Anda.",
"setup": {
- "visionModel": "Model vision",
- "visionModelFeatureExtractor": "Ekstraktor fitur model visi",
+ "visionModel": "Model visi",
+ "visionModelFeatureExtractor": "Pengekstrak fitur model visi",
"textModel": "Model teks",
- "textTokenizer": "Teks tokenizer"
+ "textTokenizer": "Tokenizer teks"
},
"tips": {
- "context": "Anda mungkin ingin mengindeks ulang embeddings dari objek yang Anda lacak setelah model-model tersebut diunduh."
+ "context": "Anda mungkin ingin mengindeks ulang embedding objek terlacak Anda setelah model selesai diunduh."
},
- "error": "Terjadi eror. Periksa log Frigate."
+ "error": "Terjadi kesalahan. Periksa log Frigate."
}
},
"details": {
- "timestamp": "Stempel waktu"
+ "timestamp": "Cap waktu",
+ "item": {
+ "title": "Detail Item Tinjauan",
+ "desc": "Detail item tinjauan",
+ "button": {
+ "share": "Bagikan item tinjauan ini",
+ "viewInExplore": "Lihat di Jelajah"
+ },
+ "tips": {
+ "mismatch_other": "{{count}} objek yang tidak tersedia terdeteksi dan disertakan dalam item tinjauan ini. Objek-objek tersebut tidak memenuhi syarat sebagai peringatan atau deteksi, atau sudah dibersihkan/dihapus.",
+ "hasMissingObjects": "Sesuaikan konfigurasi Anda jika Anda ingin Frigate menyimpan objek terlacak untuk label berikut: {{objects}}"
+ },
+ "toast": {
+ "success": {
+ "regenerate": "Deskripsi baru telah diminta dari {{provider}}. Tergantung pada kecepatan penyedia Anda, deskripsi baru mungkin memerlukan waktu untuk dibuat ulang.",
+ "updatedSublabel": "Berhasil memperbarui sublabel.",
+ "updatedLPR": "Berhasil memperbarui pelat nomor.",
+ "updatedAttributes": "Berhasil memperbarui atribut.",
+ "audioTranscription": "Berhasil meminta transkripsi audio. Tergantung pada kecepatan server Frigate Anda, transkripsi mungkin memerlukan waktu untuk selesai."
+ },
+ "error": {
+ "regenerate": "Gagal memanggil {{provider}} untuk deskripsi baru: {{errorMessage}}",
+ "updatedSublabelFailed": "Gagal memperbarui sublabel: {{errorMessage}}",
+ "updatedLPRFailed": "Gagal memperbarui pelat nomor: {{errorMessage}}",
+ "updatedAttributesFailed": "Gagal memperbarui atribut: {{errorMessage}}",
+ "audioTranscription": "Gagal meminta transkripsi audio: {{errorMessage}}"
+ }
+ }
+ },
+ "label": "Label",
+ "editSubLabel": {
+ "title": "Edit sublabel",
+ "desc": "Masukkan sublabel baru untuk {{label}} ini",
+ "descNoLabel": "Masukkan sublabel baru untuk objek terlacak ini"
+ },
+ "editLPR": {
+ "title": "Edit pelat nomor",
+ "desc": "Masukkan nilai pelat nomor baru untuk {{label}} ini",
+ "descNoLabel": "Masukkan nilai pelat nomor baru untuk objek terlacak ini"
+ },
+ "editAttributes": {
+ "title": "Edit atribut",
+ "desc": "Pilih atribut klasifikasi untuk {{label}} ini"
+ },
+ "snapshotScore": {
+ "label": "Skor Snapshot"
+ },
+ "topScore": {
+ "label": "Skor Tertinggi",
+ "info": "Skor tertinggi adalah skor median tertinggi untuk objek terlacak, jadi ini mungkin berbeda dari skor yang ditampilkan pada thumbnail hasil pencarian."
+ },
+ "score": {
+ "label": "Skor"
+ },
+ "recognizedLicensePlate": "Pelat Nomor yang Diakui",
+ "attributes": "Atribut Klasifikasi",
+ "estimatedSpeed": "Perkiraan Kecepatan",
+ "objects": "Objek",
+ "camera": "Kamera",
+ "zones": "Zona",
+ "button": {
+ "findSimilar": "Cari yang Serupa",
+ "regenerate": {
+ "title": "Buat Ulang",
+ "label": "Buat ulang deskripsi objek terlacak"
+ }
+ },
+ "description": {
+ "label": "Deskripsi",
+ "placeholder": "Deskripsi objek terlacak",
+ "aiTips": "Frigate tidak akan meminta deskripsi dari penyedia AI Generatif Anda sampai siklus hidup objek terlacak berakhir."
+ },
+ "expandRegenerationMenu": "Perluas menu pembuatan ulang",
+ "regenerateFromSnapshot": "Buat Ulang dari Snapshot",
+ "regenerateFromThumbnails": "Buat Ulang dari Thumbnail",
+ "tips": {
+ "descriptionSaved": "Berhasil menyimpan deskripsi",
+ "saveDescriptionFailed": "Gagal memperbarui deskripsi: {{errorMessage}}"
+ },
+ "title": {
+ "label": "Judul"
+ },
+ "scoreInfo": "Informasi Skor"
},
- "exploreMore": "Eksplor lebih jauh objek-objek {{label}}",
+ "exploreMore": "Jelajahi lebih banyak objek {{label}}",
"trackedObjectDetails": "Detail Objek Terlacak",
"type": {
"details": "detail",
- "snapshot": "tangkapan layar",
+ "snapshot": "snapshot",
"thumbnail": "thumbnail",
"video": "video",
"tracking_details": "detail pelacakan"
},
"trackingDetails": {
- "title": "Detail Pelacakan"
+ "title": "Detail Pelacakan",
+ "noImageFound": "Tidak ada gambar yang ditemukan untuk cap waktu ini.",
+ "createObjectMask": "Buat Masker Objek",
+ "adjustAnnotationSettings": "Sesuaikan pengaturan anotasi",
+ "scrollViewTips": "Klik untuk melihat momen-momen penting dalam siklus hidup objek ini.",
+ "autoTrackingTips": "Posisi kotak pembatas tidak akan akurat untuk kamera dengan pelacakan otomatis.",
+ "count": "{{first}} dari {{second}}",
+ "trackedPoint": "Titik Terlacak",
+ "lifecycleItemDesc": {
+ "visible": "{{label}} terdeteksi",
+ "entered_zone": "{{label}} memasuki {{zones}}",
+ "active": "{{label}} menjadi aktif",
+ "stationary": "{{label}} menjadi diam",
+ "attribute": {
+ "faceOrLicense_plate": "{{attribute}} terdeteksi untuk {{label}}",
+ "other": "{{label}} dikenali sebagai {{attribute}}"
+ },
+ "gone": "{{label}} pergi",
+ "heard": "{{label}} terdengar",
+ "external": "{{label}} terdeteksi",
+ "header": {
+ "zones": "Zona",
+ "ratio": "Rasio",
+ "area": "Area",
+ "score": "Skor",
+ "computedScore": "Skor Terhitung",
+ "topScore": "Skor Tertinggi",
+ "toggleAdvancedScores": "Alihkan skor lanjutan"
+ }
+ },
+ "annotationSettings": {
+ "title": "Pengaturan Anotasi",
+ "showAllZones": {
+ "title": "Tampilkan Semua Zona",
+ "desc": "Selalu tampilkan zona pada frame tempat objek telah memasuki suatu zona."
+ },
+ "offset": {
+ "label": "Offset Anotasi",
+ "desc": "Data ini berasal dari feed deteksi kamera Anda tetapi ditumpangkan pada gambar dari feed rekaman. Sangat mungkin kedua stream tersebut tidak sinkron sepenuhnya. Akibatnya, kotak pembatas dan rekaman tidak akan sejajar dengan sempurna. Anda dapat menggunakan pengaturan ini untuk menggeser anotasi maju atau mundur dalam waktu agar lebih selaras dengan rekaman video.",
+ "millisecondsToOffset": "Milidetik untuk menggeser anotasi deteksi. Default: 0",
+ "tips": "Turunkan nilainya jika pemutaran video berada di depan kotak dan titik jalur, dan naikkan nilainya jika pemutaran video berada di belakangnya. Nilai ini bisa negatif.",
+ "toast": {
+ "success": "Offset anotasi untuk {{camera}} telah disimpan ke file konfigurasi."
+ }
+ }
+ },
+ "carousel": {
+ "previous": "Slide sebelumnya",
+ "next": "Slide berikutnya"
+ }
+ },
+ "itemMenu": {
+ "downloadVideo": {
+ "label": "Unduh video",
+ "aria": "Unduh video"
+ },
+ "downloadSnapshot": {
+ "label": "Unduh snapshot",
+ "aria": "Unduh snapshot"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Unduh snapshot bersih",
+ "aria": "Unduh snapshot bersih"
+ },
+ "viewTrackingDetails": {
+ "label": "Lihat detail pelacakan",
+ "aria": "Tampilkan detail pelacakan"
+ },
+ "findSimilar": {
+ "label": "Cari yang serupa",
+ "aria": "Cari objek terlacak yang serupa"
+ },
+ "addTrigger": {
+ "label": "Tambahkan pemicu",
+ "aria": "Tambahkan pemicu untuk objek terlacak ini"
+ },
+ "audioTranscription": {
+ "label": "Transkripsikan",
+ "aria": "Minta transkripsi audio"
+ },
+ "submitToPlus": {
+ "label": "Kirim ke Frigate+",
+ "aria": "Kirim ke Frigate Plus"
+ },
+ "viewInHistory": {
+ "label": "Lihat di Riwayat",
+ "aria": "Lihat di Riwayat"
+ },
+ "deleteTrackedObject": {
+ "label": "Hapus objek terlacak ini"
+ },
+ "showObjectDetails": {
+ "label": "Tampilkan jalur objek"
+ },
+ "hideObjectDetails": {
+ "label": "Sembunyikan jalur objek"
+ },
+ "debugReplay": {
+ "label": "Pemutaran Ulang Debug",
+ "aria": "Lihat objek terlacak ini dalam tampilan pemutaran ulang debug"
+ },
+ "more": {
+ "aria": "Lainnya"
+ }
+ },
+ "dialog": {
+ "confirmDelete": {
+ "title": "Konfirmasi Hapus",
+ "desc": "Menghapus objek terlacak ini akan menghapus snapshot, embedding yang tersimpan, dan entri detail pelacakan terkait. Rekaman video dari objek terlacak ini di tampilan Riwayat TIDAK akan dihapus.
Anda yakin ingin melanjutkan?"
+ },
+ "toast": {
+ "error": "Kesalahan saat menghapus objek terlacak ini: {{errorMessage}}"
+ }
+ },
+ "noTrackedObjects": "Tidak Ada Objek Terlacak Ditemukan",
+ "fetchingTrackedObjectsFailed": "Kesalahan saat mengambil objek terlacak: {{errorMessage}}",
+ "trackedObjectsCount_other": "{{count}} objek terlacak ",
+ "searchResult": {
+ "tooltip": "Cocok dengan {{type}} pada {{confidence}}%",
+ "previousTrackedObject": "Objek terlacak sebelumnya",
+ "nextTrackedObject": "Objek terlacak berikutnya",
+ "deleteTrackedObject": {
+ "toast": {
+ "success": "Objek terlacak berhasil dihapus.",
+ "error": "Gagal menghapus objek terlacak: {{errorMessage}}"
+ }
+ }
+ },
+ "aiAnalysis": {
+ "title": "Analisis AI"
+ },
+ "concerns": {
+ "label": "Kekhawatiran"
+ },
+ "objectLifecycle": {
+ "noImageFound": "Tidak ada gambar yang ditemukan untuk objek terlacak ini."
}
}
diff --git a/web/public/locales/id/views/exports.json b/web/public/locales/id/views/exports.json
index 79775d60bf..bee59ce903 100644
--- a/web/public/locales/id/views/exports.json
+++ b/web/public/locales/id/views/exports.json
@@ -1,23 +1,128 @@
{
- "documentTitle": "Expor - Frigate",
- "search": "Cari",
- "noExports": "Ekspor tidak ditemukan",
- "deleteExport": "Hapus Ekspor",
- "deleteExport.desc": "Apakah Anda yakin ingin menghapus {{exportName}}?",
+ "documentTitle": "Ekspor - Frigate",
+ "search": "Pencarian",
+ "noExports": "Tidak ada ekspor ditemukan",
+ "deleteExport": {
+ "label": "Hapus Ekspor"
+ },
+ "deleteExport.desc": "Anda yakin ingin menghapus {{exportName}}?",
"editExport": {
- "title": "Ubah nama ekspor",
+ "title": "Ubah Nama Ekspor",
"desc": "Masukkan nama baru untuk ekspor ini.",
"saveExport": "Simpan Ekspor"
},
"toast": {
"error": {
- "renameExportFailed": "Gagal mengganti nama ekspor: {{errorMessage}}"
+ "renameExportFailed": "Gagal mengubah nama ekspor: {{errorMessage}}",
+ "assignCaseFailed": "Gagal memperbarui penetapan kasus: {{errorMessage}}",
+ "caseSaveFailed": "Gagal menyimpan kasus: {{errorMessage}}",
+ "caseDeleteFailed": "Gagal menghapus kasus: {{errorMessage}}"
}
},
"tooltip": {
- "shareExport": "Bagikan Ekspor",
- "downloadVideo": "Unduh Video",
+ "shareExport": "Bagikan ekspor",
+ "downloadVideo": "Unduh video",
"editName": "Ubah nama",
- "deleteExport": "Hapus ekspor"
+ "deleteExport": "Hapus ekspor",
+ "assignToCase": "Tambahkan ke kasus",
+ "removeFromCase": "Hapus dari kasus"
+ },
+ "headings": {
+ "cases": "Kasus",
+ "uncategorizedExports": "Ekspor Tanpa Kategori"
+ },
+ "toolbar": {
+ "newCase": "Kasus Baru",
+ "addExport": "Tambahkan Ekspor",
+ "editCase": "Edit Kasus",
+ "deleteCase": "Hapus Kasus"
+ },
+ "deleteCase": {
+ "label": "Hapus Kasus",
+ "desc": "Anda yakin ingin menghapus {{caseName}}?",
+ "descKeepExports": "Ekspor akan tetap tersedia sebagai ekspor tanpa kategori.",
+ "descDeleteExports": "Semua ekspor dalam kasus ini akan dihapus secara permanen.",
+ "deleteExports": "Hapus juga ekspor"
+ },
+ "caseDialog": {
+ "title": "Tambahkan ke kasus",
+ "description": "Pilih kasus yang sudah ada atau buat yang baru.",
+ "selectLabel": "Kasus",
+ "newCaseOption": "Buat kasus baru",
+ "nameLabel": "Nama kasus",
+ "descriptionLabel": "Deskripsi"
+ },
+ "caseCard": {
+ "emptyCase": "Belum ada ekspor"
+ },
+ "jobCard": {
+ "defaultName": "Ekspor {{camera}}",
+ "queued": "Dalam antrean",
+ "running": "Sedang berjalan",
+ "preparing": "Menyiapkan",
+ "copying": "Menyalin",
+ "encoding": "Menyandi",
+ "encodingRetry": "Menyandi (coba lagi)",
+ "finalizing": "Menyelesaikan"
+ },
+ "caseView": {
+ "noDescription": "Tidak ada deskripsi",
+ "createdAt": "Dibuat {{value}}",
+ "exportCount_one": "1 ekspor",
+ "exportCount_other": "{{count}} ekspor",
+ "cameraCount_one": "1 kamera",
+ "cameraCount_other": "{{count}} kamera",
+ "showMore": "Tampilkan lebih banyak",
+ "showLess": "Tampilkan lebih sedikit",
+ "emptyTitle": "Kasus ini kosong",
+ "emptyDescription": "Tambahkan ekspor tanpa kategori yang sudah ada agar kasus tetap terorganisasi.",
+ "emptyDescriptionNoExports": "Belum ada ekspor tanpa kategori yang tersedia untuk ditambahkan."
+ },
+ "caseEditor": {
+ "createTitle": "Buat Kasus",
+ "editTitle": "Edit Kasus",
+ "namePlaceholder": "Nama kasus",
+ "descriptionPlaceholder": "Tambahkan catatan atau konteks untuk kasus ini"
+ },
+ "addExportDialog": {
+ "title": "Tambahkan Ekspor ke {{caseName}}",
+ "searchPlaceholder": "Cari ekspor tanpa kategori",
+ "empty": "Tidak ada ekspor tanpa kategori yang cocok dengan pencarian ini.",
+ "addButton_one": "Tambahkan 1 Ekspor",
+ "addButton_other": "Tambahkan {{count}} Ekspor",
+ "adding": "Menambahkan..."
+ },
+ "selected_one": "{{count}} dipilih",
+ "selected_other": "{{count}} dipilih",
+ "bulkActions": {
+ "addToCase": "Tambahkan ke Kasus",
+ "moveToCase": "Pindahkan ke Kasus",
+ "removeFromCase": "Hapus dari Kasus",
+ "delete": "Hapus",
+ "deleteNow": "Hapus Sekarang"
+ },
+ "bulkDelete": {
+ "title": "Hapus Ekspor",
+ "desc_one": "Anda yakin ingin menghapus {{count}} ekspor?",
+ "desc_other": "Anda yakin ingin menghapus {{count}} ekspor?"
+ },
+ "bulkRemoveFromCase": {
+ "title": "Hapus dari Kasus",
+ "desc_one": "Hapus {{count}} ekspor dari kasus ini?",
+ "desc_other": "Hapus {{count}} ekspor dari kasus ini?",
+ "descKeepExports": "Ekspor akan dipindahkan ke tanpa kategori.",
+ "descDeleteExports": "Ekspor akan dihapus secara permanen.",
+ "deleteExports": "Hapus ekspor saja"
+ },
+ "bulkToast": {
+ "success": {
+ "delete": "Berhasil menghapus ekspor",
+ "reassign": "Berhasil memperbarui penetapan kasus",
+ "remove": "Berhasil menghapus ekspor dari kasus"
+ },
+ "error": {
+ "deleteFailed": "Gagal menghapus ekspor: {{errorMessage}}",
+ "reassignFailed": "Gagal memperbarui penetapan kasus: {{errorMessage}}"
+ }
}
}
diff --git a/web/public/locales/id/views/faceLibrary.json b/web/public/locales/id/views/faceLibrary.json
index 70b2a419a6..ec0c700d6f 100644
--- a/web/public/locales/id/views/faceLibrary.json
+++ b/web/public/locales/id/views/faceLibrary.json
@@ -9,7 +9,7 @@
"subLabelScore": "Skor Sub Label",
"face": "Detail Wajah",
"scoreInfo": "Skor sub label adalah nilai gabungan dari tingkat keyakinan sistem dalam mengenali wajah. Nilai ini bisa berbeda dengan skor yang terlihat pada gambar cuplikan.",
- "timestamp": "Stempel waktu",
+ "timestamp": "Cap waktu",
"unknown": "Tidak diketahui",
"faceDesc": "Detail objek terlacak yang menghasilkan wajah ini"
},
diff --git a/web/public/locales/id/views/live.json b/web/public/locales/id/views/live.json
index 36202b238c..416d688964 100644
--- a/web/public/locales/id/views/live.json
+++ b/web/public/locales/id/views/live.json
@@ -1,56 +1,57 @@
{
- "documentTitle.withCamera": "{{camera}} - Langsung - Frigate",
+ "documentTitle.withCamera": "{{camera}} - Live - Frigate",
"documentTitle": {
- "default": "Siaran Langsung - Frigate"
+ "default": "Live - Frigate"
},
- "lowBandwidthMode": "Mode Bandwith-Rendah",
+ "lowBandwidthMode": "Mode bandwidth rendah",
"twoWayTalk": {
- "enable": "Nyalakan Komunikasi dua arah",
- "disable": "Nonaktifkan Komunikasi Dua Arah"
+ "enable": "Aktifkan Audio Dua Arah",
+ "disable": "Nonaktifkan Audio Dua Arah"
},
"cameraAudio": {
- "enable": "Nyalakan Audio Kamera",
- "disable": "Matikan Audio Kamera"
+ "enable": "Aktifkan Audio Kamera",
+ "disable": "Nonaktifkan Audio Kamera"
},
"ptz": {
"move": {
"clickMove": {
- "label": "Klik kotak ini untuk menengahkan kamera",
- "enable": "Aktifkan klik untuk bergerak",
- "disable": "Non-aktifkan klik untuk bergerak"
+ "label": "Klik pada frame untuk memusatkan kamera",
+ "enable": "Aktifkan klik untuk memindahkan",
+ "disable": "Nonaktifkan klik untuk memindahkan",
+ "enableWithZoom": "Aktifkan klik untuk memindahkan / seret untuk memperbesar"
},
"left": {
- "label": "Geser kamera PTZ ke kiri"
+ "label": "Gerakkan kamera PTZ ke kiri"
},
"up": {
- "label": "Geser kamera PTZ keatas"
+ "label": "Gerakkan kamera PTZ ke atas"
},
"down": {
- "label": "Geser kamera PTZ kebawah"
+ "label": "Gerakkan kamera PTZ ke bawah"
},
"right": {
- "label": "Geser kamera PTZ ke kanan"
+ "label": "Gerakkan kamera PTZ ke kanan"
}
},
"zoom": {
"in": {
- "label": "Perbesar kamera PTZ"
+ "label": "Perbesar zoom kamera PTZ"
},
"out": {
- "label": "Perkecil kamera PTZ"
+ "label": "Perkecil zoom kamera PTZ"
}
},
"focus": {
"in": {
- "label": "Fokus kamera PTZ kedalam"
+ "label": "Fokuskan kamera PTZ ke dalam"
},
"out": {
- "label": "Fokus kamera PTZ keluar"
+ "label": "Fokuskan kamera PTZ ke luar"
}
},
"frame": {
"center": {
- "label": "Klik pada frame untuk menengahkan kamera PTZ"
+ "label": "Klik pada frame untuk memusatkan kamera PTZ"
}
},
"presets": "Preset kamera PTZ"
@@ -61,10 +62,139 @@
},
"muteCameras": {
"enable": "Bisukan Semua Kamera",
- "disable": "Bunyikan Semua Kamera"
+ "disable": "Suarakan Semua Kamera"
},
"detect": {
- "enable": "Aktifkan Pendeteksi",
- "disable": "Nonaktifkan Pendeteksi"
+ "enable": "Aktifkan Deteksi",
+ "disable": "Nonaktifkan Deteksi"
+ },
+ "recording": {
+ "enable": "Aktifkan Perekaman",
+ "disable": "Nonaktifkan Perekaman",
+ "disabledInConfig": "Perekaman harus terlebih dahulu diaktifkan di Pengaturan untuk kamera ini."
+ },
+ "snapshots": {
+ "enable": "Aktifkan Snapshot",
+ "disable": "Nonaktifkan Snapshot"
+ },
+ "snapshot": {
+ "takeSnapshot": "Unduh snapshot instan",
+ "noVideoSource": "Tidak ada sumber video yang tersedia untuk snapshot.",
+ "captureFailed": "Gagal mengambil snapshot.",
+ "downloadStarted": "Pengunduhan snapshot dimulai."
+ },
+ "audioDetect": {
+ "enable": "Aktifkan Deteksi Audio",
+ "disable": "Nonaktifkan Deteksi Audio"
+ },
+ "transcription": {
+ "enable": "Aktifkan Transkripsi Audio Langsung",
+ "disable": "Nonaktifkan Transkripsi Audio Langsung"
+ },
+ "autotracking": {
+ "enable": "Aktifkan Pelacakan Otomatis",
+ "disable": "Nonaktifkan Pelacakan Otomatis"
+ },
+ "streamStats": {
+ "enable": "Tampilkan Statistik Stream",
+ "disable": "Sembunyikan Statistik Stream"
+ },
+ "manualRecording": {
+ "title": "Sesuai Permintaan",
+ "tips": "Unduh snapshot instan atau mulai event manual berdasarkan pengaturan retensi rekaman kamera ini.",
+ "playInBackground": {
+ "label": "Putar di latar belakang",
+ "desc": "Aktifkan opsi ini untuk melanjutkan streaming saat pemutar disembunyikan."
+ },
+ "showStats": {
+ "label": "Tampilkan Statistik",
+ "desc": "Aktifkan opsi ini untuk menampilkan statistik stream sebagai overlay pada umpan kamera."
+ },
+ "debugView": "Tampilan Debug",
+ "start": "Mulai perekaman sesuai permintaan",
+ "started": "Perekaman manual sesuai permintaan dimulai.",
+ "failedToStart": "Gagal memulai perekaman manual sesuai permintaan.",
+ "recordDisabledTips": "Karena perekaman dinonaktifkan atau dibatasi dalam konfigurasi untuk kamera ini, hanya snapshot yang akan disimpan.",
+ "end": "Akhiri perekaman sesuai permintaan",
+ "ended": "Perekaman manual sesuai permintaan diakhiri.",
+ "failedToEnd": "Gagal mengakhiri perekaman manual sesuai permintaan."
+ },
+ "streamingSettings": "Pengaturan Streaming",
+ "notifications": "Notifikasi",
+ "audio": "Audio",
+ "suspend": {
+ "forTime": "Tangguhkan selama: "
+ },
+ "stream": {
+ "title": "Stream",
+ "audio": {
+ "tips": {
+ "title": "Audio harus dikeluarkan oleh kamera Anda dan dikonfigurasi di go2rtc untuk stream ini."
+ },
+ "available": "Audio tersedia untuk stream ini",
+ "unavailable": "Audio tidak tersedia untuk stream ini"
+ },
+ "debug": {
+ "picker": "Pemilihan stream tidak tersedia dalam mode debug. Tampilan debug selalu menggunakan stream yang ditetapkan ke peran detect."
+ },
+ "twoWayTalk": {
+ "tips": "Perangkat Anda harus mendukung fitur ini dan WebRTC harus dikonfigurasi untuk audio dua arah.",
+ "available": "Audio dua arah tersedia untuk stream ini",
+ "unavailable": "Audio dua arah tidak tersedia untuk stream ini"
+ },
+ "lowBandwidth": {
+ "tips": "Tampilan live berada dalam mode bandwidth rendah karena buffering atau kesalahan stream.",
+ "resetStream": "Atur ulang stream"
+ },
+ "playInBackground": {
+ "label": "Putar di latar belakang",
+ "tips": "Aktifkan opsi ini untuk melanjutkan streaming saat pemutar disembunyikan."
+ }
+ },
+ "cameraSettings": {
+ "title": "Pengaturan {{camera}}",
+ "cameraEnabled": "Kamera Diaktifkan",
+ "objectDetection": "Deteksi Objek",
+ "recording": "Perekaman",
+ "snapshots": "Snapshot",
+ "audioDetection": "Deteksi Audio",
+ "transcription": "Transkripsi Audio",
+ "autotracking": "Pelacakan Otomatis"
+ },
+ "history": {
+ "label": "Tampilkan rekaman historis"
+ },
+ "effectiveRetainMode": {
+ "modes": {
+ "all": "Semua",
+ "motion": "Gerakan",
+ "active_objects": "Objek Aktif"
+ }
+ },
+ "editLayout": {
+ "label": "Edit Tata Letak",
+ "group": {
+ "label": "Edit Grup Kamera"
+ },
+ "exitEdit": "Keluar dari Mode Edit"
+ },
+ "noCameras": {
+ "title": "Tidak Ada Kamera yang Dikonfigurasi",
+ "description": "Mulai dengan menghubungkan kamera ke Frigate.",
+ "buttonText": "Tambahkan Kamera",
+ "restricted": {
+ "title": "Tidak Ada Kamera yang Tersedia",
+ "description": "Anda tidak memiliki izin untuk melihat kamera apa pun di grup ini."
+ },
+ "default": {
+ "title": "Tidak Ada Kamera yang Dikonfigurasi",
+ "description": "Mulai dengan menghubungkan kamera ke Frigate.",
+ "buttonText": "Tambahkan Kamera"
+ },
+ "group": {
+ "title": "Tidak Ada Kamera dalam Grup",
+ "description": "Grup kamera ini tidak memiliki kamera yang ditetapkan atau diaktifkan.",
+ "buttonText": "Kelola Grup"
+ }
}
}
diff --git a/web/public/locales/id/views/motionSearch.json b/web/public/locales/id/views/motionSearch.json
index 0967ef424b..3a098d03ee 100644
--- a/web/public/locales/id/views/motionSearch.json
+++ b/web/public/locales/id/views/motionSearch.json
@@ -1 +1,73 @@
-{}
+{
+ "documentTitle": "Pencarian Gerakan - Frigate",
+ "title": "Pencarian Gerakan",
+ "description": "Gambar poligon untuk menentukan wilayah yang diminati, lalu tentukan rentang waktu untuk mencari perubahan gerakan di dalam wilayah tersebut.",
+ "selectCamera": "Pencarian Gerakan sedang dimuat",
+ "startSearch": "Mulai Pencarian",
+ "searchStarted": "Pencarian dimulai",
+ "searchCancelled": "Pencarian dibatalkan",
+ "cancelSearch": "Batal",
+ "searching": "Pencarian sedang berlangsung.",
+ "searchComplete": "Pencarian selesai",
+ "noResultsYet": "Jalankan pencarian untuk menemukan perubahan gerakan di wilayah yang dipilih",
+ "noChangesFound": "Tidak ada perubahan piksel yang terdeteksi di wilayah yang dipilih",
+ "changesFound_other": "Ditemukan {{count}} perubahan gerakan",
+ "framesProcessed": "{{count}} frame diproses",
+ "jumpToTime": "Lompat ke waktu ini",
+ "results": "Hasil",
+ "showSegmentHeatmap": "Peta panas",
+ "newSearch": "Pencarian Baru",
+ "clearResults": "Hapus Hasil",
+ "clearROI": "Hapus poligon",
+ "polygonControls": {
+ "points_other": "{{count}} titik",
+ "undo": "Urungkan titik terakhir",
+ "reset": "Atur ulang poligon"
+ },
+ "motionHeatmapLabel": "Peta Panas Gerakan",
+ "dialog": {
+ "title": "Pencarian Gerakan",
+ "cameraLabel": "Kamera",
+ "previewAlt": "Pratinjau kamera untuk {{camera}}"
+ },
+ "timeRange": {
+ "title": "Rentang Pencarian",
+ "start": "Waktu mulai",
+ "end": "Waktu selesai"
+ },
+ "settings": {
+ "title": "Pengaturan Pencarian",
+ "parallelMode": "Mode paralel",
+ "parallelModeDesc": "Pindai beberapa segmen rekaman secara bersamaan (lebih cepat, tetapi penggunaan CPU jauh lebih tinggi)",
+ "threshold": "Ambang Sensitivitas",
+ "thresholdDesc": "Nilai yang lebih rendah mendeteksi perubahan yang lebih kecil (1-255)",
+ "minArea": "Luas Perubahan Minimum",
+ "minAreaDesc": "Persentase minimum dari wilayah yang diminati yang harus berubah agar dianggap signifikan",
+ "frameSkip": "Lewati Frame",
+ "frameSkipDesc": "Proses setiap frame ke-N. Atur ini ke frame rate kamera Anda untuk memproses satu frame per detik (misalnya 5 untuk kamera 5 FPS, 30 untuk kamera 30 FPS). Nilai yang lebih tinggi akan lebih cepat, tetapi bisa melewatkan kejadian gerakan singkat.",
+ "maxResults": "Jumlah Hasil Maksimum",
+ "maxResultsDesc": "Berhenti setelah sebanyak ini cap waktu yang cocok"
+ },
+ "errors": {
+ "noCamera": "Silakan pilih kamera",
+ "noROI": "Silakan gambar wilayah yang diminati",
+ "noTimeRange": "Silakan pilih rentang waktu",
+ "invalidTimeRange": "Waktu selesai harus setelah waktu mulai",
+ "searchFailed": "Pencarian gagal: {{message}}",
+ "polygonTooSmall": "Poligon harus memiliki setidaknya 3 titik",
+ "unknown": "Kesalahan tidak diketahui"
+ },
+ "changePercentage": "{{percentage}}% berubah",
+ "metrics": {
+ "title": "Metrik Pencarian",
+ "segmentsScanned": "Segmen dipindai",
+ "segmentsProcessed": "Diproses",
+ "segmentsSkippedInactive": "Dilewati (tidak ada aktivitas)",
+ "segmentsSkippedHeatmap": "Dilewati (tidak ada tumpang tindih ROI)",
+ "fallbackFullRange": "Pemindaian rentang penuh cadangan",
+ "framesDecoded": "Frame didekode",
+ "wallTime": "Waktu pencarian",
+ "segmentErrors": "Kesalahan segmen",
+ "seconds": "{{seconds}} dtk"
+ }
+}
diff --git a/web/public/locales/id/views/replay.json b/web/public/locales/id/views/replay.json
index 0967ef424b..d47dbd0c90 100644
--- a/web/public/locales/id/views/replay.json
+++ b/web/public/locales/id/views/replay.json
@@ -1 +1,59 @@
-{}
+{
+ "title": "Pemutaran Ulang Debug",
+ "description": "Putar ulang rekaman kamera untuk debugging. Daftar objek menampilkan ringkasan objek terdeteksi yang tertunda waktu, dan tab Pesan menampilkan aliran pesan internal Frigate dari rekaman pemutaran ulang.",
+ "websocket_messages": "Pesan",
+ "dialog": {
+ "title": "Mulai Pemutaran Ulang Debug",
+ "description": "Buat kamera pemutaran ulang sementara yang memutar berulang rekaman historis untuk men-debug masalah deteksi dan pelacakan objek. Kamera pemutaran ulang akan memiliki konfigurasi deteksi yang sama dengan kamera sumber. Pilih rentang waktu untuk memulai.",
+ "camera": "Kamera Sumber",
+ "timeRange": "Rentang Waktu",
+ "preset": {
+ "1m": "1 Menit Terakhir",
+ "5m": "5 Menit Terakhir",
+ "timeline": "Dari Linimasa",
+ "custom": "Kustom"
+ },
+ "startButton": "Mulai Pemutaran Ulang",
+ "selectFromTimeline": "Pilih",
+ "starting": "Memulai pemutaran ulang...",
+ "startLabel": "Mulai",
+ "endLabel": "Selesai",
+ "toast": {
+ "error": "Gagal memulai pemutaran ulang debug: {{error}}",
+ "alreadyActive": "Sesi pemutaran ulang sudah aktif",
+ "stopError": "Gagal menghentikan pemutaran ulang debug: {{error}}",
+ "goToReplay": "Buka Pemutaran Ulang"
+ }
+ },
+ "page": {
+ "noSession": "Tidak Ada Sesi Pemutaran Ulang Debug Aktif",
+ "noSessionDesc": "Mulai Pemutaran Ulang Debug dari tampilan Riwayat dengan mengeklik tombol Aksi di bilah alat dan memilih Pemutaran Ulang Debug.",
+ "goToRecordings": "Buka Riwayat",
+ "preparingClip": "Menyiapkan klip…",
+ "preparingClipDesc": "Frigate sedang menggabungkan rekaman untuk rentang waktu yang dipilih. Ini dapat memakan waktu satu menit untuk rentang yang lebih panjang.",
+ "startingCamera": "Memulai Pemutaran Ulang Debug…",
+ "startError": {
+ "title": "Gagal memulai Pemutaran Ulang Debug",
+ "back": "Kembali ke Riwayat"
+ },
+ "sourceCamera": "Kamera Sumber",
+ "replayCamera": "Kamera Pemutaran Ulang",
+ "initializingReplay": "Menginisialisasi Pemutaran Ulang Debug...",
+ "stoppingReplay": "Menghentikan Pemutaran Ulang Debug...",
+ "stopReplay": "Hentikan Pemutaran Ulang",
+ "confirmStop": {
+ "title": "Hentikan Pemutaran Ulang Debug?",
+ "description": "Ini akan menghentikan sesi dan membersihkan semua data sementara. Anda yakin?",
+ "confirm": "Hentikan Pemutaran Ulang",
+ "cancel": "Batal"
+ },
+ "activity": "Aktivitas",
+ "objects": "Daftar Objek",
+ "audioDetections": "Deteksi Audio",
+ "noActivity": "Tidak ada aktivitas terdeteksi",
+ "activeTracking": "Pelacakan aktif",
+ "noActiveTracking": "Tidak ada pelacakan aktif",
+ "configuration": "Konfigurasi",
+ "configurationDesc": "Sesuaikan secara halus pengaturan deteksi gerakan dan pelacakan objek untuk kamera Pemutaran Ulang Debug. Tidak ada perubahan yang disimpan ke file konfigurasi Frigate Anda."
+ }
+}
diff --git a/web/public/locales/id/views/search.json b/web/public/locales/id/views/search.json
index 724b2b2d6c..9a4aa09baa 100644
--- a/web/public/locales/id/views/search.json
+++ b/web/public/locales/id/views/search.json
@@ -1,36 +1,73 @@
{
- "search": "Cari",
- "savedSearches": "Simpan Pencarian",
+ "search": "Pencarian",
+ "savedSearches": "Pencarian Tersimpan",
"searchFor": "Cari untuk {{inputValue}}",
"button": {
- "clear": "Bersihkan pencarian",
- "save": "Simpan Pencarian",
+ "clear": "Hapus pencarian",
+ "save": "Simpan pencarian",
"delete": "Hapus pencarian yang disimpan",
- "filterInformation": "Saring Informasi",
+ "filterInformation": "Informasi filter",
"filterActive": "Filter aktif"
},
- "trackedObjectId": "Tracked Object ID",
+ "trackedObjectId": "ID Objek yang Dilacak",
"filter": {
"label": {
"cameras": "Kamera",
"labels": "Label",
"zones": "Zona",
- "sub_labels": "Sublabel",
+ "sub_labels": "Sub Label",
"attributes": "Atribut",
- "search_type": "Tipe pencarian",
+ "search_type": "Jenis Pencarian",
"time_range": "Rentang Waktu",
"before": "Sebelum",
"after": "Sesudah",
- "min_score": "Minimal Skor",
- "max_score": "Maks Skor",
- "min_speed": "Kecepatan Min",
- "max_speed": "Kecepatan Maks",
- "recognized_license_plate": "Plat Kendaraan Dikenali",
- "has_clip": "Memiliki Klip",
- "has_snapshot": "Memiliki tangkapan layar"
+ "min_score": "Skor Minimum",
+ "max_score": "Skor Maksimum",
+ "min_speed": "Kecepatan Minimum",
+ "max_speed": "Kecepatan Maksimum",
+ "recognized_license_plate": "Pelat Nomor yang Diakui",
+ "has_clip": "Memiliki Video Klip",
+ "has_snapshot": "Memiliki Snapshot"
},
"searchType": {
- "thumbnail": "Tumbnail"
+ "thumbnail": "Gambar Mini",
+ "description": "Deskripsi"
+ },
+ "toast": {
+ "error": {
+ "beforeDateBeLaterAfter": "Tanggal 'before' harus lebih akhir daripada tanggal 'after'.",
+ "afterDatebeEarlierBefore": "Tanggal 'after' harus lebih awal daripada tanggal 'before'.",
+ "minScoreMustBeLessOrEqualMaxScore": "'min_score' harus lebih kecil dari atau sama dengan 'max_score'.",
+ "maxScoreMustBeGreaterOrEqualMinScore": "'max_score' harus lebih besar dari atau sama dengan 'min_score'.",
+ "minSpeedMustBeLessOrEqualMaxSpeed": "'min_speed' harus lebih kecil dari atau sama dengan 'max_speed'.",
+ "maxSpeedMustBeGreaterOrEqualMinSpeed": "'max_speed' harus lebih besar dari atau sama dengan 'min_speed'."
+ }
+ },
+ "tips": {
+ "title": "Cara menggunakan filter teks",
+ "desc": {
+ "text": "Filter membantu Anda mempersempit hasil pencarian. Berikut cara menggunakannya di kolom input:",
+ "step1": "Ketik nama kunci filter diikuti tanda titik dua (misalnya, \"cameras:\").",
+ "step2": "Pilih nilai dari saran atau ketik nilai Anda sendiri.",
+ "step3": "Gunakan beberapa filter dengan menambahkannya satu per satu dengan spasi di antaranya.",
+ "step4": "Filter tanggal (before: dan after:) menggunakan format {{DateFormat}}.",
+ "step5": "Filter rentang waktu menggunakan format {{exampleTime}}.",
+ "step6": "Hapus filter dengan mengklik tanda 'x' di sebelahnya.",
+ "exampleLabel": "Contoh:"
+ }
+ },
+ "header": {
+ "currentFilterType": "Nilai Filter",
+ "noFilters": "Filter",
+ "activeFilters": "Filter Aktif"
}
+ },
+ "similaritySearch": {
+ "title": "Pencarian Kemiripan",
+ "active": "Pencarian kemiripan aktif",
+ "clear": "Hapus pencarian kemiripan"
+ },
+ "placeholder": {
+ "search": "Pencarian…"
}
}
diff --git a/web/public/locales/id/views/settings.json b/web/public/locales/id/views/settings.json
index 831d9bb684..d738cdd080 100644
--- a/web/public/locales/id/views/settings.json
+++ b/web/public/locales/id/views/settings.json
@@ -4,64 +4,1950 @@
"camera": "Pengaturan Kamera - Frigate",
"classification": "Pengaturan Klasifikasi - Frigate",
"authentication": "Pengaturan Autentikasi - Frigate",
- "masksAndZones": "Editor Mask dan Zona - Frigate",
+ "masksAndZones": "Editor Masker dan Zona - Frigate",
"motionTuner": "Penyetel Gerakan - Frigate",
- "general": "Frigate - Pengaturan Umum",
- "object": "Pengawakutu - Frigate",
- "enrichments": "Frigate - Pengaturan Pengayaan",
- "cameraManagement": "Pengaturan Kamera - Frigate",
- "cameraReview": "Pengaturan Ulasan Kamera - Frigate",
+ "general": "Pengaturan UI - Frigate",
+ "object": "Debug - Frigate",
+ "enrichments": "Pengaturan Pengayaan - Frigate",
+ "cameraManagement": "Kelola Kamera - Frigate",
+ "cameraReview": "Pengaturan Tinjauan Kamera - Frigate",
"frigatePlus": "Pengaturan Frigate+ - Frigate",
- "notifications": "Pengaturan Notifikasi - Frigate"
+ "notifications": "Pengaturan Notifikasi - Frigate",
+ "globalConfig": "Konfigurasi Global - Frigate",
+ "cameraConfig": "Konfigurasi Kamera - Frigate",
+ "detectorsAndModel": "Detektor dan model - Frigate",
+ "maintenance": "Pemeliharaan - Frigate",
+ "profiles": "Profil - Frigate"
},
"menu": {
- "cameraManagement": "Manajemen",
+ "cameraManagement": "Manajemen kamera",
"notifications": "Notifikasi",
- "ui": "Antarmuka Pengguna",
- "enrichments": "Peningkatan",
- "cameraReview": "Ulasan",
- "motionTuner": "Pengatur Gerak",
+ "ui": "UI",
+ "enrichments": "Pengayaan",
+ "cameraReview": "Tinjauan",
+ "motionTuner": "Penyetel gerakan",
"triggers": "Pemicu",
"users": "Pengguna",
"roles": "Peran",
"frigateplus": "Frigate+",
- "masksAndZones": "Mask / Zona",
- "debug": "Debug"
+ "masksAndZones": "Masker / Zona",
+ "debug": "Debug",
+ "general": "Umum",
+ "globalConfig": "Konfigurasi global",
+ "system": "Sistem",
+ "integrations": "Integrasi",
+ "cameras": "Konfigurasi kamera",
+ "uiSettings": "Pengaturan UI",
+ "profiles": "Profil",
+ "globalDetect": "Deteksi objek",
+ "globalRecording": "Perekaman",
+ "globalSnapshots": "Cuplikan",
+ "globalFfmpeg": "FFmpeg",
+ "globalMotion": "Deteksi gerakan",
+ "globalObjects": "Objek",
+ "globalReview": "Tinjauan",
+ "globalAudioEvents": "Deteksi audio",
+ "globalLivePlayback": "Pemutaran langsung",
+ "globalTimestampStyle": "Gaya stempel waktu",
+ "systemDatabase": "Basis data",
+ "systemTls": "TLS",
+ "systemAuthentication": "Autentikasi",
+ "systemNetworking": "Jaringan",
+ "systemProxy": "Proksi",
+ "systemUi": "UI",
+ "systemLogging": "Pencatatan log",
+ "systemEnvironmentVariables": "Variabel lingkungan",
+ "systemTelemetry": "Telemetri",
+ "systemBirdseye": "Birdseye",
+ "systemFfmpeg": "FFmpeg",
+ "systemDetectorsAndModel": "Detektor dan model",
+ "systemMqtt": "MQTT",
+ "systemGo2rtcStreams": "Stream go2rtc",
+ "integrationSemanticSearch": "Pencarian semantik",
+ "integrationGenerativeAi": "AI generatif",
+ "integrationFaceRecognition": "Pengenalan wajah",
+ "integrationLpr": "Pengenalan pelat nomor",
+ "integrationObjectClassification": "Klasifikasi objek",
+ "integrationAudioTranscription": "Transkripsi audio",
+ "cameraDetect": "Deteksi objek",
+ "cameraFfmpeg": "FFmpeg",
+ "cameraRecording": "Perekaman",
+ "cameraSnapshots": "Cuplikan",
+ "cameraMotion": "Deteksi gerakan",
+ "cameraObjects": "Objek",
+ "cameraConfigReview": "Tinjauan",
+ "cameraAudioEvents": "Deteksi audio",
+ "cameraAudioTranscription": "Transkripsi audio",
+ "cameraNotifications": "Notifikasi",
+ "cameraLivePlayback": "Pemutaran langsung",
+ "cameraBirdseye": "Birdseye",
+ "cameraFaceRecognition": "Pengenalan wajah",
+ "cameraLpr": "Pengenalan pelat nomor",
+ "cameraMqttConfig": "MQTT",
+ "cameraOnvif": "ONVIF",
+ "cameraUi": "UI Kamera",
+ "cameraTimestampStyle": "Gaya stempel waktu",
+ "cameraMqtt": "MQTT Kamera",
+ "maintenance": "Pemeliharaan",
+ "mediaSync": "Sinkronisasi media",
+ "regionGrid": "Grid wilayah"
},
"dialog": {
"unsavedChanges": {
"title": "Anda memiliki perubahan yang belum disimpan.",
- "desc": "Apakah Anda ingin menyimpan perubahan Anda sebelum melanjutkan?"
+ "desc": "Apakah Anda ingin menyimpan perubahan sebelum melanjutkan?"
}
},
"cameraSetting": {
"camera": "Kamera",
- "noCamera": "Tidak Ada Kamera"
+ "noCamera": "Tidak ada kamera"
},
"general": {
- "title": "Pengaturan Antarmuka Pengguna",
+ "title": "Pengaturan UI",
"liveDashboard": {
- "title": "Dashboard Langsung",
+ "title": "Dasbor Langsung",
"automaticLiveView": {
"label": "Tampilan Langsung Otomatis",
- "desc": "Secara otomatis beralih ke tampilan langsung kamera saat aktivitas terdeteksi. Menonaktifkan opsi ini menyebabkan gambar statis kamera di dasbor langsung hanya diperbarui sekali per menit."
+ "desc": "Secara otomatis beralih ke tampilan langsung kamera saat aktivitas terdeteksi. Menonaktifkan opsi ini menyebabkan gambar kamera statis pada dasbor Langsung hanya diperbarui sekali per menit."
+ },
+ "playAlertVideos": {
+ "label": "Putar Video Peringatan",
+ "desc": "Secara default, peringatan terbaru di dasbor Langsung diputar sebagai video kecil yang berulang. Nonaktifkan opsi ini untuk hanya menampilkan gambar statis dari peringatan terbaru pada perangkat/browser ini."
+ },
+ "displayCameraNames": {
+ "label": "Selalu Tampilkan Nama Kamera",
+ "desc": "Selalu tampilkan nama kamera dalam chip pada dasbor tampilan langsung multi-kamera."
+ },
+ "liveFallbackTimeout": {
+ "label": "Batas Waktu Fallback Pemutar Langsung",
+ "desc": "Saat stream langsung kualitas tinggi kamera tidak tersedia, alihkan ke mode bandwidth rendah setelah sekian detik. Default: 3."
+ }
+ },
+ "storedLayouts": {
+ "title": "Tata Letak Tersimpan",
+ "desc": "Tata letak kamera dalam grup kamera dapat diseret/diubah ukurannya. Posisi disimpan di penyimpanan lokal browser Anda.",
+ "clearAll": "Hapus Semua Tata Letak"
+ },
+ "cameraGroupStreaming": {
+ "title": "Pengaturan Streaming Grup Kamera",
+ "desc": "Pengaturan streaming untuk setiap grup kamera disimpan di penyimpanan lokal browser Anda.",
+ "clearAll": "Hapus Semua Pengaturan Streaming"
+ },
+ "recordingsViewer": {
+ "title": "Penampil Rekaman",
+ "defaultPlaybackRate": {
+ "label": "Kecepatan Pemutaran Default",
+ "desc": "Kecepatan pemutaran default untuk pemutaran rekaman."
+ }
+ },
+ "calendar": {
+ "title": "Kalender",
+ "firstWeekday": {
+ "label": "Hari Pertama dalam Minggu",
+ "desc": "Hari saat minggu pada kalender tinjauan dimulai.",
+ "sunday": "Minggu",
+ "monday": "Senin"
+ }
+ },
+ "toast": {
+ "success": {
+ "clearStoredLayout": "Tata letak tersimpan untuk {{cameraName}} telah dihapus",
+ "clearStreamingSettings": "Pengaturan streaming untuk semua grup kamera telah dihapus."
+ },
+ "error": {
+ "clearStoredLayoutFailed": "Gagal menghapus tata letak tersimpan: {{errorMessage}}",
+ "clearStreamingSettingsFailed": "Gagal menghapus pengaturan streaming: {{errorMessage}}"
}
}
},
"configMessages": {
"audioTranscription": {
- "audioDetectionDisabled": "Pendeteksi suara tidak dinyalakan untuk kamera ini. Transkripsi suara memerlukan pendeteksi suara untuk dinyalakan."
+ "audioDetectionDisabled": "Deteksi audio tidak diaktifkan untuk kamera ini. Transkripsi audio memerlukan deteksi audio yang aktif."
},
"detect": {
- "fpsGreaterThanFive": "Pengaturan FPS untuk pendeteksian lebih dari 5 tidak disarankan."
+ "fpsGreaterThanFive": "Mengatur FPS deteksi lebih dari 5 tidak direkomendasikan. Nilai yang lebih tinggi dapat menyebabkan masalah performa dan tidak akan memberikan manfaat apa pun.",
+ "disabled": "Deteksi objek dinonaktifkan. Cuplikan, item tinjauan, dan pengayaan seperti pengenalan wajah, pengenalan pelat nomor, dan AI Generatif tidak akan berfungsi.",
+ "resolutionShouldBeMultipleOfFour": "Untuk hasil terbaik, lebar dan tinggi deteksi sebaiknya merupakan kelipatan 4. Nilai genap lainnya dapat menyebabkan artefak visual atau distorsi ringan pada stream deteksi.",
+ "aspectRatioMismatch": "Lebar dan tinggi yang Anda masukkan tidak cocok dengan rasio aspek resolusi deteksi saat ini. Ini dapat menghasilkan gambar yang meregang atau terdistorsi.",
+ "maxFramesSet": "Menetapkan frame maksimum akan menimpa perilaku default dan menonaktifkan pelacakan objek diam. Hanya sedikit situasi yang memerlukan ini, gunakan dengan hati-hati.",
+ "squareResolution": "Resolusi deteksi berbentuk persegi tidak lazim. Lebar dan tinggi deteksi harus sesuai dengan rasio aspek kamera Anda, misalnya 16:9, bukan dimensi model deteksi objek. Rasio aspek yang tidak sesuai dapat meregangkan gambar dan mengurangi akurasi deteksi.",
+ "resolutionHigh": "Resolusi deteksi ini lebih tinggi daripada yang direkomendasikan dan dapat meningkatkan penggunaan sumber daya tanpa meningkatkan akurasi deteksi. Resolusi deteksi 1080p atau lebih rendah direkomendasikan untuk sebagian besar kamera.",
+ "globalResolutionMultipleCameras": "Resolusi deteksi global ditetapkan saat beberapa kamera dikonfigurasi. Kecuali semua kamera memiliki resolusi dan rasio aspek yang sama, lebar dan tinggi deteksi sebaiknya ditentukan per kamera agar sesuai dengan rasio aspek asli masing-masing kamera."
},
"faceRecognition": {
- "globalDisabled": "Pendeteksi muka tidak dinyalakan dalam level global. Nyalakan pendeteksi muka dalam pengaturan global agar per-kamera deteksi muka dapat bekerja.",
- "personNotTracked": "Pendeteksi muka memerlukan 'orang' sebagai objek deteksi. Pastikan 'orang' berada dalam hal yang dideteksi."
+ "globalDisabled": "Pengayaan pengenalan wajah harus diaktifkan agar fitur pengenalan wajah berfungsi pada kamera ini.",
+ "personNotTracked": "Pengenalan wajah memerlukan objek 'person' untuk dilacak. Aktifkan 'person' di Objek untuk kamera ini.",
+ "modelSizeLarge": "Model 'large' memerlukan GPU atau NPU untuk performa yang wajar. Gunakan 'small' pada sistem yang hanya menggunakan CPU."
},
"lpr": {
- "globalDisabled": "Pendeteksian plat nomor tidak dinyalakan dalam pengaturan global. Nyalakan deteksi plat nomor dalam pengaturan global agar fungsi ini dapat bekerja.",
- "vehicleNotTracked": "Pendeteksian plat nomor memerlukan 'mobil' atau 'motor' untuk dideteksi."
+ "globalDisabled": "Pengayaan pengenalan pelat nomor harus diaktifkan agar fitur LPR berfungsi pada kamera ini.",
+ "vehicleNotTracked": "Pengenalan pelat nomor memerlukan 'car' atau 'motorcycle' untuk dilacak. Aktifkan 'car' atau 'motorcycle' di Objek untuk kamera ini.",
+ "modelSizeLarge": "Model 'large' dioptimalkan untuk pelat nomor multi-baris. Model 'small' memberikan performa lebih baik daripada 'large' dan sebaiknya digunakan kecuali wilayah Anda menggunakan format pelat multi-baris."
+ },
+ "review": {
+ "recordDisabled": "Perekaman dinonaktifkan, item tinjauan tidak akan dibuat.",
+ "detectDisabled": "Deteksi objek dinonaktifkan. Item tinjauan memerlukan objek yang terdeteksi untuk mengategorikan alert dan deteksi.",
+ "allNonAlertDetections": "Semua aktivitas non-alert akan disertakan sebagai deteksi.",
+ "genaiImageSourceRecordingsRecordDisabled": "Sumber gambar disetel ke 'rekaman', tetapi perekaman dinonaktifkan. Frigate akan kembali ke gambar pratinjau."
+ },
+ "audio": {
+ "noAudioRole": "Tidak ada stream yang memiliki peran audio yang didefinisikan. Anda harus mengaktifkan peran audio agar deteksi audio berfungsi."
+ },
+ "objects": {
+ "genaiNoDescriptionsProvider": "Anda harus mengonfigurasi penyedia GenAI dengan peran 'deskripsi' agar deskripsi dapat dibuat."
+ },
+ "record": {
+ "noRecordRole": "Tidak ada stream yang memiliki peran record yang didefinisikan. Perekaman tidak akan berfungsi."
+ },
+ "birdseye": {
+ "objectsModeDetectDisabled": "Birdseye disetel ke mode 'objects', tetapi deteksi objek dinonaktifkan untuk kamera ini. Kamera tidak akan muncul di Birdseye."
+ },
+ "snapshots": {
+ "detectDisabled": "Deteksi objek dinonaktifkan. Cuplikan dihasilkan dari objek yang terlacak dan tidak akan dibuat."
+ },
+ "detectors": {
+ "mixedTypes": "Semua detektor harus menggunakan tipe yang sama. Hapus detektor yang ada untuk menggunakan tipe yang berbeda.",
+ "mixedTypesSuggestion": "Semua detektor harus menggunakan tipe yang sama. Hapus detektor yang ada atau pilih {{type}}."
+ },
+ "semanticSearch": {
+ "jinav2SmallModelSize": "Ukuran 'small' dengan model Jina V2 memiliki RAM tinggi dan biaya inferensi. Model 'large' dengan GPU diskrit direkomendasikan."
+ },
+ "onvif": {
+ "autotrackingNoZones": "Pelacakan otomatis memerlukan setidaknya satu zona. Tentukan zona untuk kamera ini di Masker / Zona, lalu tetapkan sebagai zona wajib di bawah."
}
+ },
+ "button": {
+ "overriddenGlobal": "Ditimpa (Global)",
+ "overriddenGlobalTooltip": "Kamera ini menimpa pengaturan konfigurasi global di bagian ini",
+ "overriddenGlobalHeading_other": "Kamera ini menimpa {{count}} bidang dari konfigurasi global:",
+ "overriddenGlobalNoDeltas": "Kamera ini menimpa konfigurasi global, tetapi tidak ada nilai bidang yang berbeda.",
+ "overriddenBaseConfig": "Ditimpa (Konfigurasi Dasar)",
+ "overriddenBaseConfigTooltip": "Profil {{profile}} menimpa pengaturan konfigurasi di bagian ini",
+ "overriddenBaseConfigHeading_other": "Profil {{profile}} menimpa {{count}} bidang dari konfigurasi dasar:",
+ "overriddenBaseConfigNoDeltas": "Profil {{profile}} menimpa bagian ini, tetapi tidak ada nilai bidang yang berbeda dari konfigurasi dasar.",
+ "overriddenInCameras": {
+ "label_other": "Ditimpa di {{count}} kamera",
+ "tooltip_other": "{{count}} kamera menimpa nilai di bagian ini. Klik untuk melihat detail.",
+ "heading_other": "Bagian global ini memiliki bidang yang ditimpa di {{count}} kamera.",
+ "othersField_other": "{{count}} lainnya",
+ "profilePrefix": "Profil {{profile}}: {{fields}}"
+ }
+ },
+ "menuDot": {
+ "overrideGlobal": "Bagian ini menimpa konfigurasi global",
+ "overrideProfile": "Bagian ini ditimpa oleh profil {{profile}}",
+ "unsaved": "Bagian ini memiliki perubahan yang belum disimpan"
+ },
+ "saveAllPreview": {
+ "title": "Perubahan yang akan disimpan",
+ "triggerLabel": "Tinjau perubahan yang tertunda",
+ "empty": "Tidak ada perubahan yang tertunda.",
+ "scope": {
+ "label": "Cakupan",
+ "global": "Global",
+ "camera": "Kamera: {{cameraName}}"
+ },
+ "profile": {
+ "label": "Profil"
+ },
+ "field": {
+ "label": "Bidang"
+ },
+ "value": {
+ "label": "Nilai baru",
+ "reset": "Atur ulang"
+ }
+ },
+ "enrichments": {
+ "title": "Pengaturan Pengayaan",
+ "unsavedChanges": "Perubahan pengaturan Pengayaan yang belum disimpan",
+ "birdClassification": {
+ "title": "Klasifikasi Burung",
+ "desc": "Klasifikasi burung mengidentifikasi burung yang dikenal menggunakan model Tensorflow terkuantisasi. Saat burung yang dikenal dikenali, nama umumnya akan ditambahkan sebagai sub_label. Informasi ini disertakan dalam UI, filter, serta notifikasi."
+ },
+ "semanticSearch": {
+ "title": "Pencarian Semantik",
+ "desc": "Pencarian Semantik di Frigate memungkinkan Anda menemukan objek yang terlacak dalam item tinjauan menggunakan gambar itu sendiri, deskripsi teks yang ditentukan pengguna, atau deskripsi yang dibuat secara otomatis.",
+ "reindexNow": {
+ "label": "Indeks Ulang Sekarang",
+ "desc": "Pengindeksan ulang akan membuat ulang embedding untuk semua objek yang terlacak. Proses ini berjalan di latar belakang dan dapat memaksimalkan penggunaan CPU Anda serta memerlukan waktu cukup lama tergantung pada jumlah objek yang terlacak yang Anda miliki.",
+ "confirmTitle": "Konfirmasi Pengindeksan Ulang",
+ "confirmDesc": "Apakah Anda yakin ingin mengindeks ulang semua embedding objek yang terlacak? Proses ini akan berjalan di latar belakang, tetapi dapat memaksimalkan penggunaan CPU Anda dan memerlukan waktu cukup lama. Anda dapat memantau progresnya di halaman Jelajahi.",
+ "confirmButton": "Indeks Ulang",
+ "success": "Pengindeksan ulang berhasil dimulai.",
+ "alreadyInProgress": "Pengindeksan ulang sudah sedang berlangsung.",
+ "error": "Gagal memulai pengindeksan ulang: {{errorMessage}}"
+ },
+ "modelSize": {
+ "label": "Ukuran Model",
+ "desc": "Ukuran model yang digunakan untuk embedding pencarian semantik.",
+ "small": {
+ "title": "kecil",
+ "desc": "Menggunakan small akan memakai versi model terkuantisasi yang menggunakan RAM lebih sedikit dan berjalan lebih cepat pada CPU dengan perbedaan kualitas embedding yang sangat kecil."
+ },
+ "large": {
+ "title": "besar",
+ "desc": "Menggunakan large memakai model Jina penuh dan akan otomatis berjalan pada GPU jika memungkinkan."
+ }
+ }
+ },
+ "faceRecognition": {
+ "title": "Pengenalan Wajah",
+ "desc": "Pengenalan wajah memungkinkan orang diberi nama, dan saat wajah mereka dikenali Frigate akan menetapkan nama orang tersebut sebagai sub_label. Informasi ini disertakan dalam UI, filter, serta notifikasi.",
+ "modelSize": {
+ "label": "Ukuran Model",
+ "desc": "Ukuran model yang digunakan untuk pengenalan wajah.",
+ "small": {
+ "title": "kecil",
+ "desc": "Menggunakan small memakai model embedding wajah FaceNet yang berjalan efisien pada sebagian besar CPU."
+ },
+ "large": {
+ "title": "besar",
+ "desc": "Menggunakan large memakai model embedding wajah ArcFace dan akan otomatis berjalan pada GPU jika memungkinkan."
+ }
+ }
+ },
+ "licensePlateRecognition": {
+ "title": "Pengenalan Pelat Nomor",
+ "desc": "Frigate dapat mengenali pelat nomor pada kendaraan dan secara otomatis menambahkan karakter yang terdeteksi ke field recognized_license_plate atau nama yang dikenal sebagai sub_label pada objek bertipe mobil. Kasus penggunaan yang umum adalah membaca pelat nomor mobil yang masuk ke jalan masuk rumah atau mobil yang melintas di jalan."
+ },
+ "restart_required": "Perlu mulai ulang (pengaturan Pengayaan berubah)",
+ "toast": {
+ "success": "Pengaturan Pengayaan telah disimpan. Mulai ulang Frigate untuk menerapkan perubahan Anda.",
+ "error": "Gagal menyimpan perubahan konfigurasi: {{errorMessage}}"
+ }
+ },
+ "cameraWizard": {
+ "title": "Tambah Kamera",
+ "description": "Ikuti langkah-langkah di bawah ini untuk menambahkan kamera baru ke instalasi Frigate Anda.",
+ "steps": {
+ "nameAndConnection": "Nama & Koneksi",
+ "probeOrSnapshot": "Probe atau Cuplikan",
+ "streamConfiguration": "Konfigurasi Stream",
+ "validationAndTesting": "Validasi & Pengujian"
+ },
+ "save": {
+ "success": "Berhasil menyimpan kamera baru {{cameraName}}.",
+ "failure": "Kesalahan saat menyimpan {{cameraName}}."
+ },
+ "testResultLabels": {
+ "resolution": "Resolusi",
+ "video": "Video",
+ "audio": "Audio",
+ "fps": "FPS"
+ },
+ "commonErrors": {
+ "noUrl": "Harap berikan URL stream yang valid",
+ "testFailed": "Pengujian stream gagal: {{error}}"
+ },
+ "step1": {
+ "description": "Masukkan detail kamera Anda dan pilih untuk memeriksa kamera atau memilih merek secara manual.",
+ "cameraName": "Nama Kamera",
+ "cameraNamePlaceholder": "mis., front_door atau Back Yard Overview",
+ "host": "Alamat Host/IP",
+ "port": "Port",
+ "username": "Nama Pengguna",
+ "usernamePlaceholder": "Opsional",
+ "password": "Kata Sandi",
+ "passwordPlaceholder": "Opsional",
+ "selectTransport": "Pilih protokol transport",
+ "cameraBrand": "Merek Kamera",
+ "selectBrand": "Pilih merek kamera untuk template URL",
+ "customUrl": "URL Stream Kustom",
+ "brandInformation": "Informasi merek",
+ "brandUrlFormat": "Untuk kamera dengan format URL RTSP seperti: {{exampleUrl}}",
+ "customUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "connectionSettings": "Pengaturan Koneksi",
+ "detectionMethod": "Metode Deteksi Stream",
+ "onvifPort": "Port ONVIF",
+ "probeMode": "Periksa kamera",
+ "manualMode": "Pilihan manual",
+ "detectionMethodDescription": "Periksa kamera dengan ONVIF (jika didukung) untuk menemukan URL stream kamera, atau pilih merek kamera secara manual untuk menggunakan URL yang telah ditentukan sebelumnya. Untuk memasukkan URL RTSP kustom, pilih metode manual dan pilih \"Lainnya\".",
+ "onvifPortDescription": "Untuk kamera yang mendukung ONVIF, biasanya ini adalah 80 atau 8080.",
+ "useDigestAuth": "Gunakan autentikasi digest",
+ "useDigestAuthDescription": "Gunakan autentikasi digest HTTP untuk ONVIF. Beberapa kamera mungkin memerlukan nama pengguna/kata sandi ONVIF khusus alih-alih pengguna admin standar.",
+ "errors": {
+ "brandOrCustomUrlRequired": "Pilih merek kamera dengan host/IP atau pilih 'Lainnya' dengan URL kustom",
+ "nameRequired": "Nama kamera wajib diisi",
+ "nameLength": "Nama kamera harus 64 karakter atau kurang",
+ "invalidCharacters": "Nama kamera mengandung karakter yang tidak valid",
+ "nameExists": "Nama kamera sudah ada",
+ "customUrlRtspRequired": "URL kustom harus diawali dengan \"rtsp://\" atau \"rtsps://\". Konfigurasi manual diperlukan untuk stream kamera non-RTSP."
+ }
+ },
+ "step2": {
+ "description": "Periksa kamera untuk stream yang tersedia atau konfigurasi pengaturan manual berdasarkan metode deteksi yang Anda pilih.",
+ "testSuccess": "Pengujian koneksi berhasil!",
+ "testFailed": "Pengujian koneksi gagal. Harap periksa input Anda dan coba lagi.",
+ "testFailedTitle": "Pengujian Gagal",
+ "streamDetails": "Detail Stream",
+ "probing": "Sedang memeriksa kamera...",
+ "retry": "Coba lagi",
+ "testing": {
+ "probingMetadata": "Sedang memeriksa metadata kamera...",
+ "fetchingSnapshot": "Sedang mengambil cuplikan kamera..."
+ },
+ "probeFailed": "Gagal memeriksa kamera: {{error}}",
+ "probingDevice": "Sedang memeriksa perangkat...",
+ "probeSuccessful": "Pemeriksaan berhasil",
+ "probeError": "Kesalahan Pemeriksaan",
+ "probeNoSuccess": "Pemeriksaan tidak berhasil",
+ "deviceInfo": "Informasi Perangkat",
+ "manufacturer": "Produsen",
+ "model": "Model",
+ "firmware": "Firmware",
+ "profiles": "Profil",
+ "ptzSupport": "Dukungan PTZ",
+ "autotrackingSupport": "Dukungan Pelacakan Otomatis",
+ "presets": "Preset",
+ "rtspCandidates": "Kandidat RTSP",
+ "rtspCandidatesDescription": "URL RTSP berikut ditemukan dari pemeriksaan kamera. Uji koneksi untuk melihat metadata stream.",
+ "noRtspCandidates": "Tidak ada URL RTSP yang ditemukan dari kamera. Kredensial Anda mungkin salah, atau kamera mungkin tidak mendukung ONVIF atau metode yang digunakan untuk mengambil URL RTSP. Kembali dan masukkan URL RTSP secara manual.",
+ "candidateStreamTitle": "Kandidat {{number}}",
+ "useCandidate": "Gunakan",
+ "uriCopy": "Salin",
+ "uriCopied": "URI disalin ke clipboard",
+ "testConnection": "Uji Koneksi",
+ "toggleUriView": "Klik untuk mengalihkan tampilan URI penuh",
+ "connected": "Terhubung",
+ "notConnected": "Tidak Terhubung",
+ "errors": {
+ "hostRequired": "Alamat host/IP wajib diisi"
+ }
+ },
+ "step3": {
+ "description": "Konfigurasikan peran stream dan tambahkan stream tambahan untuk kamera Anda.",
+ "streamsTitle": "Stream Kamera",
+ "addStream": "Tambah Stream",
+ "addAnotherStream": "Tambah Stream Lain",
+ "streamTitle": "Stream {{number}}",
+ "streamUrl": "URL Stream",
+ "streamUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "selectStream": "Pilih sebuah stream",
+ "searchCandidates": "Cari kandidat...",
+ "noStreamFound": "Stream tidak ditemukan",
+ "url": "URL",
+ "resolution": "Resolusi",
+ "selectResolution": "Pilih resolusi",
+ "quality": "Kualitas",
+ "selectQuality": "Pilih kualitas",
+ "roles": "Peran",
+ "roleLabels": {
+ "detect": "Deteksi Objek",
+ "record": "Perekaman",
+ "audio": "Audio"
+ },
+ "testStream": "Uji Koneksi",
+ "testSuccess": "Pengujian stream berhasil!",
+ "testFailed": "Pengujian stream gagal",
+ "testFailedTitle": "Pengujian Gagal",
+ "connected": "Terhubung",
+ "notConnected": "Tidak Terhubung",
+ "featuresTitle": "Fitur",
+ "go2rtc": "Kurangi koneksi ke kamera",
+ "detectRoleWarning": "Setidaknya satu stream harus memiliki peran \"detect\" untuk melanjutkan.",
+ "rolesPopover": {
+ "title": "Peran Stream",
+ "detect": "Umpan utama untuk deteksi objek.",
+ "record": "Menyimpan segmen umpan video berdasarkan pengaturan konfigurasi.",
+ "audio": "Umpan untuk deteksi berbasis audio."
+ },
+ "featuresPopover": {
+ "title": "Fitur Stream",
+ "description": "Gunakan restreaming go2rtc untuk mengurangi koneksi ke kamera Anda."
+ }
+ },
+ "step4": {
+ "description": "Validasi dan analisis akhir sebelum menyimpan kamera baru Anda. Hubungkan setiap stream sebelum menyimpan.",
+ "validationTitle": "Validasi Stream",
+ "connectAllStreams": "Hubungkan Semua Stream",
+ "reconnectionSuccess": "Penyambungan ulang berhasil.",
+ "reconnectionPartial": "Beberapa stream gagal disambungkan ulang.",
+ "streamUnavailable": "Pratinjau stream tidak tersedia",
+ "reload": "Muat ulang",
+ "connecting": "Menghubungkan...",
+ "streamTitle": "Stream {{number}}",
+ "valid": "Valid",
+ "failed": "Gagal",
+ "notTested": "Belum diuji",
+ "connectStream": "Hubungkan",
+ "connectingStream": "Sedang menghubungkan",
+ "disconnectStream": "Putuskan",
+ "estimatedBandwidth": "Perkiraan Bandwidth",
+ "roles": "Peran",
+ "ffmpegModule": "Gunakan mode kompatibilitas stream",
+ "ffmpegModuleDescription": "Jika stream tidak dimuat setelah beberapa kali percobaan, coba aktifkan ini. Saat diaktifkan, Frigate akan menggunakan modul ffmpeg dengan go2rtc. Ini dapat memberikan kompatibilitas yang lebih baik dengan beberapa stream kamera.",
+ "none": "Tidak ada",
+ "error": "Kesalahan",
+ "streamValidated": "Stream {{number}} berhasil divalidasi",
+ "streamValidationFailed": "Validasi stream {{number}} gagal",
+ "saveAndApply": "Simpan Kamera Baru",
+ "saveError": "Konfigurasi tidak valid. Harap periksa pengaturan Anda.",
+ "issues": {
+ "title": "Validasi Stream",
+ "videoCodecGood": "Codec video adalah {{codec}}.",
+ "audioCodecGood": "Codec audio adalah {{codec}}.",
+ "resolutionHigh": "Resolusi {{resolution}} dapat menyebabkan peningkatan penggunaan sumber daya.",
+ "resolutionLow": "Resolusi {{resolution}} mungkin terlalu rendah untuk deteksi objek kecil yang andal.",
+ "resolutionUnknown": "Resolusi stream ini tidak dapat diperiksa. Anda harus menetapkan resolusi detect secara manual di Pengaturan atau konfigurasi Anda.",
+ "noAudioWarning": "Tidak ada audio yang terdeteksi untuk stream ini, rekaman tidak akan memiliki audio.",
+ "audioCodecRecordError": "Codec audio AAC diperlukan untuk mendukung audio dalam rekaman.",
+ "audioCodecRequired": "Stream audio diperlukan untuk mendukung deteksi audio.",
+ "restreamingWarning": "Mengurangi koneksi ke kamera untuk stream record dapat sedikit meningkatkan penggunaan CPU.",
+ "brands": {
+ "reolink-rtsp": "RTSP Reolink tidak direkomendasikan. Aktifkan HTTP di pengaturan firmware kamera dan mulai ulang wizard.",
+ "reolink-http": "Stream HTTP Reolink sebaiknya menggunakan FFmpeg untuk kompatibilitas yang lebih baik. Aktifkan 'Gunakan mode kompatibilitas stream' untuk stream ini."
+ },
+ "dahua": {
+ "substreamWarning": "Substream 1 terkunci pada resolusi rendah. Banyak kamera Dahua / Amcrest / EmpireTech mendukung substream tambahan yang perlu diaktifkan di pengaturan kamera. Disarankan untuk memeriksa dan menggunakan stream tersebut jika tersedia."
+ },
+ "hikvision": {
+ "substreamWarning": "Substream 1 terkunci pada resolusi rendah. Banyak kamera Hikvision mendukung substream tambahan yang perlu diaktifkan di pengaturan kamera. Disarankan untuk memeriksa dan menggunakan stream tersebut jika tersedia."
+ }
+ }
+ }
+ },
+ "cameraManagement": {
+ "title": "Kelola Kamera",
+ "description": "Tambahkan, edit, dan hapus kamera, kendalikan status setiap kamera, serta atur penimpaan per profil dan jenis kamera. Untuk mengonfigurasi stream, deteksi, gerakan, dan pengaturan khusus kamera lainnya, pilih bagian terkait di bawah Konfigurasi Kamera.",
+ "addCamera": "Tambah Kamera Baru",
+ "deleteCamera": "Hapus Kamera",
+ "deleteCameraDialog": {
+ "title": "Hapus Kamera",
+ "description": "Menghapus kamera akan menghapus secara permanen semua rekaman, objek terlacak, dan konfigurasi untuk kamera tersebut. Semua stream go2rtc yang terkait dengan kamera ini mungkin masih perlu dihapus secara manual.",
+ "selectPlaceholder": "Pilih kamera...",
+ "confirmTitle": "Apakah Anda yakin?",
+ "confirmWarning": "Menghapus {{cameraName}} tidak dapat dibatalkan.",
+ "deleteExports": "Juga hapus ekspor untuk kamera ini",
+ "confirmButton": "Hapus Permanen",
+ "success": "Kamera {{cameraName}} berhasil dihapus",
+ "error": "Gagal menghapus kamera {{cameraName}}"
+ },
+ "editCamera": "Edit Kamera:",
+ "selectCamera": "Pilih Kamera",
+ "backToSettings": "Kembali ke Pengaturan Kamera",
+ "streams": {
+ "title": "Status dan Detail Kamera",
+ "enableLabel": "Kamera yang diaktifkan",
+ "enableDesc": "Nonaktifkan sementara kamera yang aktif hingga Frigate dimulai ulang. Menonaktifkan kamera sepenuhnya akan menghentikan seluruh pemrosesan stream kamera ini oleh Frigate. Deteksi, perekaman, dan debugging tidak akan tersedia.
Catatan: Ini tidak menonaktifkan restream go2rtc.
Seret pegangan untuk mengubah urutan kamera sebagaimana ditampilkan di UI. Urutan kamera yang aktif akan tercermin di seluruh UI termasuk dasbor Langsung dan dropdown pemilihan kamera.",
+ "disableLabel": "Kamera yang dinonaktifkan",
+ "disableDesc": "Aktifkan kamera yang saat ini tidak terlihat di UI dan dinonaktifkan dalam konfigurasi. Mulai ulang Frigate diperlukan setelah mengaktifkan.",
+ "enableSuccess": "{{cameraName}} diaktifkan. Restart Frigate untuk menerapkan.",
+ "reorderHandle": "Seret untuk mengubah urutan",
+ "saving": "Menyimpan…",
+ "saved": "Tersimpan",
+ "friendlyName": {
+ "edit": "Edit nama tampilan kamera",
+ "title": "Edit Nama Tampilan",
+ "description": "Tetapkan nama ramah yang ditampilkan untuk kamera ini di seluruh UI Frigate. Biarkan kosong untuk menggunakan ID kamera.",
+ "rename": "Ubah Nama"
+ },
+ "label": "Status kamera",
+ "description": "Atur status operasi untuk setiap kamera.
Nyala: stream diproses secara normal.
Mati: mem jeda pemrosesan untuk sementara. Tidak tetap setelah Frigate dimulai ulang.
Nonaktif: menghentikan pemrosesan dan menyimpan perubahan ke konfigurasi Anda. Restart diperlukan untuk mengaktifkan kembali kamera yang dinonaktifkan.
Catatan: Menonaktifkan tidak memengaruhi restream go2rtc.
Seret pegangan untuk mengubah urutan kamera aktif sebagaimana tampil di seluruh UI, termasuk dasbor Live dan menu dropdown pemilihan kamera.",
+ "disabledSubheading": "Dinonaktifkan dalam konfigurasi",
+ "status": {
+ "on": "Nyala",
+ "off": "Mati",
+ "disabled": "Nonaktif"
+ },
+ "disableSuccess": "{{cameraName}} dinonaktifkan dan disimpan ke konfigurasi.",
+ "details": {
+ "edit": "Edit detail kamera",
+ "title": "Edit Detail Kamera",
+ "description": "Perbarui nama tampilan, URL eksternal, dan visibilitas yang digunakan untuk kamera ini di seluruh UI Frigate.",
+ "friendlyNameLabel": "Nama Tampilan",
+ "friendlyNameHelp": "Nama ramah yang ditampilkan untuk kamera ini di seluruh UI Frigate. Biarkan kosong untuk menggunakan ID kamera.",
+ "webuiUrlLabel": "URL Web UI Kamera",
+ "webuiUrlHelp": "URL untuk membuka web UI kamera langsung dari tampilan Debug. Biarkan kosong untuk menonaktifkan tautan.",
+ "webuiUrlInvalid": "Harus berupa URL yang valid (misalnya, https://example.com).",
+ "dashboardLabel": "Tampilkan di dasbor Live",
+ "dashboardHelp": "Tampilkan kamera ini di dasbor Live.",
+ "reviewLabel": "Tampilkan di Review",
+ "reviewHelp": "Tampilkan kamera ini di Review, termasuk filter kamera, review gerakan, dan tampilan riwayat."
+ }
+ },
+ "cameraConfig": {
+ "add": "Tambah Kamera",
+ "edit": "Edit Kamera",
+ "description": "Konfigurasikan pengaturan kamera termasuk input stream dan perannya.",
+ "name": "Nama Kamera",
+ "nameRequired": "Nama kamera wajib diisi",
+ "nameLength": "Nama kamera harus kurang dari 64 karakter.",
+ "namePlaceholder": "mis., front_door atau Back Yard Overview",
+ "enabled": "Diaktifkan",
+ "ffmpeg": {
+ "inputs": "Input Stream",
+ "path": "Path Stream",
+ "pathRequired": "Path stream wajib diisi",
+ "pathPlaceholder": "rtsp://...",
+ "roles": "Peran",
+ "rolesRequired": "Setidaknya satu peran wajib diisi",
+ "rolesUnique": "Setiap peran (audio, detect, record) hanya dapat ditetapkan ke satu stream",
+ "addInput": "Tambah Input Stream",
+ "removeInput": "Hapus Input Stream",
+ "inputsRequired": "Setidaknya satu input stream wajib diisi"
+ },
+ "go2rtcStreams": "Stream go2rtc",
+ "streamUrls": "URL Stream",
+ "addUrl": "Tambah URL",
+ "addGo2rtcStream": "Tambah Stream go2rtc",
+ "toast": {
+ "success": "Kamera {{cameraName}} berhasil disimpan"
+ }
+ },
+ "profiles": {
+ "title": "Penimpaan Kamera per Profil",
+ "selectLabel": "Pilih profil",
+ "description": "Atur kamera mana yang dinyalakan atau dimatikan saat suatu profil diaktifkan. Kamera yang disetel ke \"Warisi\" akan mempertahankan status default-nya.",
+ "inherit": "Warisi",
+ "enabled": "Diaktifkan",
+ "disabled": "Dinonaktifkan",
+ "on": "Nyala",
+ "off": "Mati"
+ },
+ "cameraType": {
+ "title": "Tipe Kamera",
+ "label": "Tipe kamera",
+ "description": "Tetapkan tipe untuk setiap kamera. Kamera LPR khusus adalah kamera satu fungsi dengan zoom optik kuat untuk menangkap pelat nomor pada kendaraan yang jauh. Sebagian besar kamera sebaiknya menggunakan tipe kamera normal kecuali kamera tersebut memang khusus untuk LPR dan memiliki tampilan yang sangat terfokus pada pelat nomor.",
+ "normal": "Normal",
+ "dedicatedLpr": "LPR Khusus",
+ "saveSuccess": "Tipe kamera untuk {{cameraName}} telah diperbarui. Mulai ulang Frigate untuk menerapkan perubahan."
+ },
+ "clone": {
+ "sectionTitle": "Kloning pengaturan",
+ "sectionDescription": "Salin konfigurasi dari satu kamera ke kamera lain atau ke kamera baru.",
+ "button": "Kloning pengaturan",
+ "title": "Kloning pengaturan kamera",
+ "description": "Salin konfigurasi sebuah kamera ke satu atau lebih kamera lain atau ke kamera baru. Identitas (nama, nama ramah, URL web UI, urutan tampilan) tidak pernah disalin.",
+ "source": {
+ "label": "Kamera sumber",
+ "placeholder": "Pilih kamera sumber",
+ "required": "Pilih kamera sumber"
+ },
+ "target": {
+ "legend": "Target",
+ "newRadio": "Kamera baru",
+ "newNameLabel": "Nama kamera",
+ "newNamePlaceholder": "misalnya, pintu_belakang atau Pintu Belakang",
+ "newNameRequired": "Nama kamera wajib diisi",
+ "newNameInvalid": "Nama kamera tidak valid",
+ "newNameCollision": "Kamera dengan nama ini sudah ada",
+ "newStreamsForced": "Stream selalu disalin untuk kamera baru.",
+ "existingCamerasRadio": "Kamera yang sudah ada",
+ "allCameras": "Semua kamera",
+ "existingPlaceholder": "Pilih setidaknya satu kamera",
+ "existingDisabled": "Tidak ada kamera lain untuk disalin ke"
+ },
+ "categories": {
+ "legend": "Pengaturan untuk dikloning",
+ "description": "Pilih pengaturan mana yang akan disalin dari kamera sumber.",
+ "selectAll": "Pilih semua",
+ "selectNone": "Jangan pilih apa pun",
+ "resetDefaults": "Reset ke default",
+ "general": "Umum",
+ "spatial": "Pengaturan spasial",
+ "streams": "Stream",
+ "spatialWarningTitle": "Ketidakcocokan resolusi",
+ "spatialWarning": "Resolusi deteksi kamera sumber {{srcCamera}} ({{srcWidth}}×{{srcHeight}}) berbeda dengan: {{cameras}}. Poligon mungkin tidak sejajar pada kamera-kamera tersebut. Default untuk ini adalah nonaktif; aktifkan untuk menyalin apa adanya.",
+ "restartHint": "Perlu restart",
+ "items": {
+ "record": "Perekaman",
+ "snapshots": "Snapshot",
+ "review": "Review",
+ "motion": "Deteksi gerakan",
+ "objects": "Objek",
+ "audio": "Deteksi audio",
+ "audio_transcription": "Transkripsi audio",
+ "notifications": "Notifikasi",
+ "birdseye": "Birdseye",
+ "mqtt": "MQTT",
+ "timestamp_style": "Gaya stempel waktu",
+ "onvif": "ONVIF",
+ "lpr": "Pengenalan pelat nomor",
+ "face_recognition": "Pengenalan wajah",
+ "semantic_search": "Pencarian semantik",
+ "genai": "AI generatif",
+ "type": "Jenis kamera (normal / LPR khusus)",
+ "profiles": "Profil",
+ "detect": "Dimensi deteksi",
+ "zones": "Zona",
+ "motion_mask": "Masker gerakan",
+ "object_masks": "Masker objek",
+ "ffmpeg_live": "URL dan peran stream"
+ }
+ },
+ "footer": {
+ "changeCount_other": "{{count}} perubahan akan diterapkan",
+ "restartNeeded": "Restart akan diperlukan untuk beberapa perubahan.",
+ "liveOnly": "Semua perubahan akan diterapkan langsung tanpa restart.",
+ "submit": "Kloning",
+ "submitting": "Mengkloning…"
+ },
+ "toast": {
+ "success": "Pengaturan disalin ke {{cameraName}}",
+ "successWithRestart": "Pengaturan disalin ke {{cameraName}}. Restart Frigate untuk menerapkan semua perubahan.",
+ "successMulti_other": "Pengaturan disalin ke {{count}} kamera",
+ "successMultiWithRestart_other": "Pengaturan disalin ke {{count}} kamera. Restart Frigate untuk menerapkan semua perubahan.",
+ "partialFailure": "{{successCount}} bagian diterapkan; '{{failedSection}}' gagal: {{errorMessage}}",
+ "partialFailureMulti": "Disalin ke {{successCount}} kamera; gagal untuk {{failed}}: {{errorMessage}}",
+ "newCameraPartialFailure": "Kamera {{cameraName}} berhasil dibuat, tetapi beberapa pengaturan gagal disalin: {{errorMessage}}",
+ "sourceMissing": "Kamera sumber sudah tidak ada",
+ "submitError": "Gagal mengkloning kamera: {{errorMessage}}"
+ }
+ }
+ },
+ "cameraReview": {
+ "title": "Pengaturan Tinjauan Kamera",
+ "object_descriptions": {
+ "title": "Deskripsi Objek AI Generatif",
+ "desc": "Aktifkan/nonaktifkan sementara deskripsi objek AI Generatif untuk kamera ini hingga Frigate dimulai ulang. Saat dinonaktifkan, deskripsi yang dihasilkan AI tidak akan diminta untuk objek terlacak pada kamera ini."
+ },
+ "review_descriptions": {
+ "title": "Deskripsi Tinjauan AI Generatif",
+ "desc": "Aktifkan/nonaktifkan sementara deskripsi tinjauan AI Generatif untuk kamera ini hingga Frigate dimulai ulang. Saat dinonaktifkan, deskripsi yang dihasilkan AI tidak akan diminta untuk item tinjauan pada kamera ini."
+ },
+ "review": {
+ "title": "Tinjauan",
+ "desc": "Aktifkan/nonaktifkan sementara alert dan deteksi untuk kamera ini hingga Frigate dimulai ulang. Saat dinonaktifkan, tidak ada item tinjauan baru yang akan dibuat. ",
+ "alerts": "Alert ",
+ "detections": "Deteksi "
+ },
+ "reviewClassification": {
+ "title": "Klasifikasi Tinjauan",
+ "desc": "Frigate mengategorikan item tinjauan sebagai Alert dan Deteksi. Secara default, semua objek person dan car dianggap sebagai Alert. Anda dapat menyempurnakan kategorisasi item tinjauan Anda dengan mengonfigurasi zona yang diwajibkan untuk item tersebut.",
+ "noDefinedZones": "Tidak ada zona yang didefinisikan untuk kamera ini.",
+ "objectAlertsTips": "Semua objek {{alertsLabels}} pada {{cameraName}} akan ditampilkan sebagai Alert.",
+ "zoneObjectAlertsTips": "Semua objek {{alertsLabels}} yang terdeteksi di {{zone}} pada {{cameraName}} akan ditampilkan sebagai Alert.",
+ "objectDetectionsTips": "Semua objek {{detectionsLabels}} yang tidak dikategorikan pada {{cameraName}} akan ditampilkan sebagai Deteksi, terlepas dari zona mana mereka berada.",
+ "zoneObjectDetectionsTips": {
+ "text": "Semua objek {{detectionsLabels}} yang tidak dikategorikan di {{zone}} pada {{cameraName}} akan ditampilkan sebagai Deteksi.",
+ "notSelectDetections": "Semua objek {{detectionsLabels}} yang terdeteksi di {{zone}} pada {{cameraName}} dan tidak dikategorikan sebagai Alert akan ditampilkan sebagai Deteksi, terlepas dari zona mana mereka berada.",
+ "regardlessOfZoneObjectDetectionsTips": "Semua objek {{detectionsLabels}} yang tidak dikategorikan pada {{cameraName}} akan ditampilkan sebagai Deteksi, terlepas dari zona mana mereka berada."
+ },
+ "unsavedChanges": "Pengaturan Klasifikasi Tinjauan yang belum disimpan untuk {{camera}}",
+ "selectAlertsZones": "Pilih zona untuk Alert",
+ "selectDetectionsZones": "Pilih zona untuk Deteksi",
+ "limitDetections": "Batasi deteksi ke zona tertentu",
+ "toast": {
+ "success": "Konfigurasi Klasifikasi Tinjauan telah disimpan. Mulai ulang Frigate untuk menerapkan perubahan."
+ }
+ }
+ },
+ "masksAndZones": {
+ "filter": {
+ "all": "Semua Masker dan Zona"
+ },
+ "restart_required": "Perlu mulai ulang (masker/zona berubah)",
+ "disabledInConfig": "Item dinonaktifkan dalam file konfigurasi",
+ "addDisabledProfile": "Tambahkan ke konfigurasi dasar terlebih dahulu, lalu timpa di profil",
+ "profileBase": "(dasar)",
+ "profileOverride": "(timpa)",
+ "toast": {
+ "success": {
+ "copyCoordinates": "Koordinat untuk {{polyName}} telah disalin ke clipboard."
+ },
+ "error": {
+ "copyCoordinatesFailed": "Tidak dapat menyalin koordinat ke clipboard."
+ }
+ },
+ "motionMaskLabel": "Masker Gerakan {{number}}",
+ "objectMaskLabel": "Masker Objek {{number}}",
+ "form": {
+ "id": {
+ "error": {
+ "mustNotBeEmpty": "ID tidak boleh kosong.",
+ "alreadyExists": "Masker dengan ID ini sudah ada untuk kamera ini."
+ }
+ },
+ "name": {
+ "error": {
+ "mustNotBeEmpty": "Nama tidak boleh kosong."
+ }
+ },
+ "zoneName": {
+ "error": {
+ "mustBeAtLeastTwoCharacters": "Nama zona harus minimal 2 karakter.",
+ "mustNotBeSameWithCamera": "Nama zona tidak boleh sama dengan nama kamera.",
+ "alreadyExists": "Zona dengan nama ini sudah ada untuk kamera ini.",
+ "mustNotContainPeriod": "Nama zona tidak boleh mengandung titik.",
+ "hasIllegalCharacter": "Nama zona mengandung karakter yang tidak valid.",
+ "mustHaveAtLeastOneLetter": "Nama zona harus memiliki setidaknya satu huruf."
+ }
+ },
+ "distance": {
+ "error": {
+ "text": "Jarak harus lebih besar dari atau sama dengan 0.1.",
+ "mustBeFilled": "Semua field jarak harus diisi untuk menggunakan estimasi kecepatan."
+ }
+ },
+ "inertia": {
+ "error": {
+ "mustBeAboveZero": "Inersia harus lebih besar dari 0."
+ }
+ },
+ "loiteringTime": {
+ "error": {
+ "mustBeGreaterOrEqualZero": "Waktu loitering harus lebih besar dari atau sama dengan 0."
+ }
+ },
+ "speed": {
+ "error": {
+ "mustBeGreaterOrEqualTo": "Ambang kecepatan harus lebih besar dari atau sama dengan 0.1."
+ }
+ },
+ "polygonDrawing": {
+ "type": {
+ "zone": "zona",
+ "motion_mask": "masker gerakan",
+ "object_mask": "masker objek"
+ },
+ "removeLastPoint": "Hapus titik terakhir",
+ "reset": {
+ "label": "Hapus semua titik"
+ },
+ "snapPoints": {
+ "true": "Kaitkan titik",
+ "false": "Jangan kaitkan titik"
+ },
+ "delete": {
+ "title": "Konfirmasi Hapus",
+ "desc": "Apakah Anda yakin ingin menghapus {{type}} {{name}}?",
+ "success": "{{name}} telah dihapus."
+ },
+ "revertOverride": {
+ "title": "Kembalikan ke Konfigurasi Dasar",
+ "desc": "Ini akan menghapus penimpaan profil untuk {{type}} {{name}} dan mengembalikannya ke konfigurasi dasar."
+ },
+ "error": {
+ "mustBeFinished": "Gambar poligon harus diselesaikan sebelum menyimpan."
+ }
+ }
+ },
+ "zones": {
+ "label": "Zona",
+ "documentTitle": "Edit Zona - Frigate",
+ "desc": {
+ "title": "Zona memungkinkan Anda menentukan area tertentu pada frame sehingga Anda dapat menentukan apakah suatu objek berada di dalam area tertentu atau tidak.",
+ "documentation": "Dokumentasi"
+ },
+ "add": "Tambah Zona",
+ "edit": "Edit Zona",
+ "point_other": "{{count}} titik",
+ "clickDrawPolygon": "Klik untuk menggambar poligon pada gambar.",
+ "name": {
+ "title": "Nama",
+ "inputPlaceHolder": "Masukkan nama…",
+ "tips": "Nama harus minimal 2 karakter, harus memiliki setidaknya satu huruf, dan tidak boleh sama dengan nama kamera atau zona lain pada kamera ini."
+ },
+ "enabled": {
+ "title": "Diaktifkan",
+ "description": "Menentukan apakah zona ini aktif dan diaktifkan dalam file konfigurasi. Jika dinonaktifkan, zona ini tidak dapat diaktifkan melalui MQTT. Zona yang dinonaktifkan diabaikan saat runtime."
+ },
+ "inertia": {
+ "title": "Inersia",
+ "desc": "Menentukan berapa banyak frame suatu objek harus berada di dalam zona sebelum dianggap berada di zona tersebut. Default: 3"
+ },
+ "loiteringTime": {
+ "title": "Waktu Loitering",
+ "desc": "Menetapkan jumlah waktu minimum dalam detik yang harus dilalui objek di dalam zona agar zona aktif. Default: 0"
+ },
+ "objects": {
+ "title": "Objek",
+ "desc": "Daftar objek yang berlaku untuk zona ini."
+ },
+ "allObjects": "Semua Objek",
+ "speedEstimation": {
+ "title": "Estimasi Kecepatan",
+ "desc": "Aktifkan estimasi kecepatan untuk objek di zona ini. Zona harus memiliki tepat 4 titik.",
+ "lineADistance": "Jarak garis A ({{unit}})",
+ "lineBDistance": "Jarak garis B ({{unit}})",
+ "lineCDistance": "Jarak garis C ({{unit}})",
+ "lineDDistance": "Jarak garis D ({{unit}})"
+ },
+ "speedThreshold": {
+ "title": "Ambang Kecepatan ({{unit}})",
+ "desc": "Menentukan kecepatan minimum agar objek dianggap berada di zona ini.",
+ "toast": {
+ "error": {
+ "pointLengthError": "Estimasi kecepatan telah dinonaktifkan untuk zona ini. Zona dengan estimasi kecepatan harus memiliki tepat 4 titik.",
+ "loiteringTimeError": "Zona dengan waktu loitering lebih besar dari 0 sebaiknya tidak digunakan dengan estimasi kecepatan."
+ }
+ }
+ },
+ "toast": {
+ "success": "Zona ({{zoneName}}) telah disimpan."
+ }
+ },
+ "motionMasks": {
+ "label": "Masker Gerakan",
+ "documentTitle": "Edit Masker Gerakan - Frigate",
+ "desc": {
+ "title": "Masker gerakan digunakan untuk mencegah jenis gerakan yang tidak diinginkan memicu deteksi. Masking yang berlebihan akan membuat objek lebih sulit dilacak.",
+ "documentation": "Dokumentasi"
+ },
+ "add": "Masker Gerakan Baru",
+ "edit": "Edit Masker Gerakan",
+ "defaultName": "Masker Gerakan {{number}}",
+ "context": {
+ "title": "Masker gerakan digunakan untuk mencegah jenis gerakan yang tidak diinginkan memicu deteksi (contoh: ranting pohon, stempel waktu kamera). Masker gerakan harus digunakan dengan sangat hemat, masking yang berlebihan akan membuat objek lebih sulit dilacak."
+ },
+ "point_other": "{{count}} titik",
+ "clickDrawPolygon": "Klik untuk menggambar poligon pada gambar.",
+ "name": {
+ "title": "Nama",
+ "description": "Nama ramah opsional untuk masker gerakan ini.",
+ "placeholder": "Masukkan nama..."
+ },
+ "polygonAreaTooLarge": {
+ "title": "Masker gerakan menutupi {{polygonArea}}% dari frame kamera. Masker gerakan besar tidak direkomendasikan.",
+ "tips": "Masker gerakan tidak mencegah objek terdeteksi. Anda sebaiknya menggunakan zona wajib sebagai gantinya."
+ },
+ "toast": {
+ "success": {
+ "title": "{{polygonName}} telah disimpan.",
+ "noName": "Masker Gerakan telah disimpan."
+ }
+ }
+ },
+ "objectMasks": {
+ "label": "Masker Objek",
+ "documentTitle": "Edit Masker Objek - Frigate",
+ "desc": {
+ "title": "Masker filter objek digunakan untuk menyaring positif palsu untuk tipe objek tertentu berdasarkan lokasi.",
+ "documentation": "Dokumentasi"
+ },
+ "add": "Tambah Masker Objek",
+ "edit": "Edit Masker Objek",
+ "context": "Masker filter objek digunakan untuk menyaring positif palsu untuk tipe objek tertentu berdasarkan lokasi.",
+ "point_other": "{{count}} titik",
+ "clickDrawPolygon": "Klik untuk menggambar poligon pada gambar.",
+ "name": {
+ "title": "Nama",
+ "description": "Nama ramah opsional untuk masker objek ini.",
+ "placeholder": "Masukkan nama..."
+ },
+ "objects": {
+ "title": "Objek",
+ "desc": "Tipe objek yang berlaku untuk masker objek ini.",
+ "allObjectTypes": "Semua tipe objek"
+ },
+ "toast": {
+ "success": {
+ "title": "{{polygonName}} telah disimpan.",
+ "noName": "Masker Objek telah disimpan."
+ }
+ }
+ },
+ "masks": {
+ "enabled": {
+ "title": "Diaktifkan",
+ "description": "Menentukan apakah masker ini diaktifkan dalam file konfigurasi. Jika dinonaktifkan, masker ini tidak dapat diaktifkan melalui MQTT. Masker yang dinonaktifkan diabaikan saat runtime."
+ }
+ }
+ },
+ "motionDetectionTuner": {
+ "title": "Penyetel Deteksi Gerakan",
+ "unsavedChanges": "Perubahan Penyetel Gerakan yang belum disimpan ({{camera}})",
+ "desc": {
+ "title": "Frigate menggunakan deteksi gerakan sebagai pemeriksaan awal untuk melihat apakah ada sesuatu yang terjadi dalam frame yang layak diperiksa dengan deteksi objek.",
+ "documentation": "Baca Panduan Penyetelan Gerakan"
+ },
+ "Threshold": {
+ "title": "Ambang",
+ "desc": "Nilai ambang menentukan seberapa besar perubahan luminansi piksel yang diperlukan agar dianggap sebagai gerakan. Default: 30"
+ },
+ "contourArea": {
+ "title": "Area Kontur",
+ "desc": "Nilai area kontur digunakan untuk menentukan kelompok piksel yang berubah mana yang memenuhi syarat sebagai gerakan. Default: 10"
+ },
+ "improveContrast": {
+ "title": "Tingkatkan Kontras",
+ "desc": "Tingkatkan kontras untuk adegan yang lebih gelap. Default: ON"
+ },
+ "toast": {
+ "success": "Pengaturan gerakan telah disimpan."
+ }
+ },
+ "debug": {
+ "title": "Debug",
+ "detectorDesc": "Frigate menggunakan detektor Anda ({{detectors}}) untuk mendeteksi objek di stream video kamera Anda.",
+ "desc": "Tampilan debug menunjukkan tampilan real-time objek yang dilacak dan statistiknya. Daftar objek menampilkan ringkasan objek yang terdeteksi dengan sedikit jeda waktu.",
+ "openCameraWebUI": "Buka UI Web milik {{camera}}",
+ "debugging": "Debugging",
+ "objectList": "Daftar Objek",
+ "noObjects": "Tidak ada objek",
+ "audio": {
+ "title": "Audio",
+ "noAudioDetections": "Tidak ada deteksi audio",
+ "score": "skor",
+ "currentRMS": "RMS Saat Ini",
+ "currentdbFS": "dbFS Saat Ini"
+ },
+ "boundingBoxes": {
+ "title": "Kotak pembatas",
+ "desc": "Tampilkan kotak pembatas di sekitar objek yang dilacak",
+ "colors": {
+ "label": "Warna Kotak Pembatas Objek",
+ "info": "
Kotak Gerakan
Kotak merah akan dihamparkan pada area frame tempat gerakan saat ini terdeteksi
" + }, + "regions": { + "title": "Wilayah", + "desc": "Tampilkan kotak wilayah minat yang dikirim ke detektor objek", + "tips": "Kotak Wilayah
Kotak hijau terang akan dihamparkan pada area minat di frame yang sedang dikirim ke detektor objek.
" + }, + "paths": { + "title": "Jalur", + "desc": "Tampilkan titik-titik penting dari jalur objek yang dilacak", + "tips": "Jalur
Garis dan lingkaran akan menunjukkan titik-titik penting yang telah dilalui objek yang dilacak selama siklus hidupnya.
" + }, + "objectShapeFilterDrawing": { + "title": "Gambar Filter Bentuk Objek", + "desc": "Gambar persegi panjang pada gambar untuk melihat detail area dan rasio", + "tips": "Aktifkan opsi ini untuk menggambar persegi panjang pada gambar kamera guna menampilkan area dan rasionya. Nilai-nilai ini kemudian dapat digunakan untuk menetapkan parameter filter bentuk objek dalam konfigurasi Anda.", + "score": "Skor", + "ratio": "Rasio", + "area": "Area" + } + }, + "timestampPosition": { + "tl": "Kiri atas", + "tr": "Kanan atas", + "bl": "Kiri bawah", + "br": "Kanan bawah" + }, + "users": { + "title": "Pengguna", + "management": { + "title": "Manajemen Pengguna", + "desc": "Kelola akun pengguna untuk instance Frigate ini." + }, + "addUser": "Tambah Pengguna", + "updatePassword": "Atur Ulang Kata Sandi", + "toast": { + "success": { + "createUser": "Pengguna {{user}} berhasil dibuat", + "deleteUser": "Pengguna {{user}} berhasil dihapus", + "updatePassword": "Kata sandi berhasil diperbarui.", + "roleUpdated": "Peran untuk {{user}} diperbarui" + }, + "error": { + "setPasswordFailed": "Gagal menyimpan kata sandi: {{errorMessage}}", + "createUserFailed": "Gagal membuat pengguna: {{errorMessage}}", + "deleteUserFailed": "Gagal menghapus pengguna: {{errorMessage}}", + "roleUpdateFailed": "Gagal memperbarui peran: {{errorMessage}}" + } + }, + "table": { + "username": "Nama pengguna", + "actions": "Tindakan", + "role": "Peran", + "noUsers": "Tidak ada pengguna ditemukan.", + "changeRole": "Ubah peran pengguna", + "password": "Atur Ulang Kata Sandi", + "deleteUser": "Hapus pengguna" + }, + "dialog": { + "form": { + "user": { + "title": "Nama pengguna", + "desc": "Hanya huruf, angka, titik, dan garis bawah yang diizinkan.", + "placeholder": "Masukkan nama pengguna" + }, + "password": { + "title": "Kata sandi", + "placeholder": "Masukkan kata sandi", + "show": "Tampilkan kata sandi", + "hide": "Sembunyikan kata sandi", + "confirm": { + "title": "Konfirmasi Kata Sandi", + "placeholder": "Konfirmasi Kata Sandi" + }, + "strength": { + "title": "Kekuatan kata sandi: ", + "weak": "Lemah", + "medium": "Sedang", + "strong": "Kuat", + "veryStrong": "Sangat Kuat" + }, + "requirements": { + "title": "Persyaratan kata sandi:", + "length": "Setidaknya 12 karakter" + }, + "match": "Kata sandi cocok", + "notMatch": "Kata sandi tidak cocok" + }, + "newPassword": { + "title": "Kata Sandi Baru", + "placeholder": "Masukkan kata sandi baru", + "confirm": { + "placeholder": "Masukkan ulang kata sandi baru" + } + }, + "currentPassword": { + "title": "Kata Sandi Saat Ini", + "placeholder": "Masukkan kata sandi Anda saat ini" + }, + "usernameIsRequired": "Nama pengguna wajib diisi", + "passwordIsRequired": "Kata sandi wajib diisi" + }, + "createUser": { + "title": "Buat Pengguna Baru", + "desc": "Tambahkan akun pengguna baru dan tentukan perannya untuk akses ke area UI Frigate.", + "usernameOnlyInclude": "Nama pengguna hanya boleh berisi huruf, angka, . atau _", + "confirmPassword": "Harap konfirmasi kata sandi Anda" + }, + "deleteUser": { + "title": "Hapus Pengguna", + "desc": "Tindakan ini tidak dapat dibatalkan. Ini akan menghapus akun pengguna secara permanen dan menghapus semua data terkait.", + "warn": "Apakah Anda yakin ingin menghapus {{username}}?" + }, + "passwordSetting": { + "cannotBeEmpty": "Kata sandi tidak boleh kosong", + "doNotMatch": "Kata sandi tidak cocok", + "currentPasswordRequired": "Kata sandi saat ini wajib diisi", + "incorrectCurrentPassword": "Kata sandi saat ini salah", + "passwordVerificationFailed": "Gagal memverifikasi kata sandi", + "updatePassword": "Perbarui Kata Sandi untuk {{username}}", + "setPassword": "Tetapkan Kata Sandi", + "desc": "Buat kata sandi yang kuat untuk mengamankan akun ini.", + "multiDeviceWarning": "Perangkat lain tempat Anda masuk juga akan diminta login ulang dalam {{refresh_time}}.", + "multiDeviceAdmin": "Anda juga dapat memaksa semua pengguna untuk segera mengautentikasi ulang dengan memutar rahasia JWT Anda." + }, + "changeRole": { + "title": "Ubah Peran Pengguna", + "select": "Pilih peran", + "desc": "Perbarui izin untuk {{username}}", + "roleInfo": { + "intro": "Pilih peran yang sesuai untuk pengguna ini:", + "admin": "Admin", + "adminDesc": "Akses penuh ke semua fitur.", + "viewer": "Viewer", + "viewerDesc": "Terbatas hanya pada dasbor Langsung, Tinjauan, Jelajahi, dan Ekspor.", + "customDesc": "Peran kustom dengan akses kamera tertentu." + } + } + } + }, + "roles": { + "management": { + "title": "Manajemen Peran Viewer", + "desc": "Kelola peran viewer kustom dan izin akses kameranya untuk instance Frigate ini." + }, + "addRole": "Tambah Peran", + "table": { + "role": "Peran", + "cameras": "Kamera", + "actions": "Tindakan", + "noRoles": "Tidak ada peran kustom ditemukan.", + "editCameras": "Edit Kamera", + "deleteRole": "Hapus Peran" + }, + "toast": { + "success": { + "createRole": "Peran {{role}} berhasil dibuat", + "updateCameras": "Kamera untuk peran {{role}} telah diperbarui", + "deleteRole": "Peran {{role}} berhasil dihapus", + "userRolesUpdated_other": "{{count}} pengguna yang ditetapkan ke peran ini telah diperbarui menjadi 'viewer', yang memiliki akses ke semua kamera." + }, + "error": { + "createRoleFailed": "Gagal membuat peran: {{errorMessage}}", + "updateCamerasFailed": "Gagal memperbarui kamera: {{errorMessage}}", + "deleteRoleFailed": "Gagal menghapus peran: {{errorMessage}}", + "userUpdateFailed": "Gagal memperbarui peran pengguna: {{errorMessage}}" + } + }, + "dialog": { + "createRole": { + "title": "Buat Peran Baru", + "desc": "Tambahkan peran baru dan tentukan izin akses kamera." + }, + "editCameras": { + "title": "Edit Kamera Peran", + "desc": "Perbarui akses kamera untuk peran {{role}}." + }, + "deleteRole": { + "title": "Hapus Peran", + "desc": "Tindakan ini tidak dapat dibatalkan. Ini akan menghapus peran secara permanen dan menetapkan pengguna mana pun dengan peran ini ke peran 'viewer', yang akan memberikan akses viewer ke semua kamera.", + "warn": "Apakah Anda yakin ingin menghapus {{role}}?", + "deleting": "Sedang menghapus..." + }, + "form": { + "role": { + "title": "Nama Peran", + "placeholder": "Masukkan nama peran", + "desc": "Hanya huruf, angka, titik, dan garis bawah yang diizinkan.", + "roleIsRequired": "Nama peran wajib diisi", + "roleOnlyInclude": "Nama peran hanya boleh berisi huruf, angka, . atau _", + "roleExists": "Peran dengan nama ini sudah ada." + }, + "cameras": { + "title": "Kamera", + "desc": "Pilih kamera yang dapat diakses oleh peran ini. Setidaknya satu kamera wajib dipilih.", + "required": "Setidaknya satu kamera harus dipilih." + } + } + } + }, + "notification": { + "title": "Notifikasi", + "notificationSettings": { + "title": "Pengaturan Notifikasi", + "desc": "Frigate dapat secara native mengirim notifikasi push ke perangkat Anda saat berjalan di browser atau diinstal sebagai PWA." + }, + "notificationUnavailable": { + "title": "Notifikasi Tidak Tersedia", + "desc": "Notifikasi push web memerlukan konteks aman (https://…). Ini adalah batasan browser. Akses Frigate secara aman untuk menggunakan notifikasi.",
+ "descPwa": "Di iOS, notifikasi push web hanya tersedia jika Frigate dipasang ke Layar Utama Anda. Buka menu Bagikan, pilih Tambahkan ke Layar Utama, lalu buka Frigate dari ikon baru tersebut untuk mendaftarkan perangkat ini agar menerima notifikasi."
+ },
+ "globalSettings": {
+ "title": "Pengaturan Global",
+ "desc": "Tangguhkan notifikasi sementara untuk kamera tertentu pada semua perangkat yang terdaftar."
+ },
+ "email": {
+ "title": "Email",
+ "placeholder": "mis. contoh@email.com",
+ "desc": "Email yang valid wajib diisi dan akan digunakan untuk memberi tahu Anda jika ada masalah dengan layanan push."
+ },
+ "cameras": {
+ "title": "Kamera",
+ "noCameras": "Tidak ada kamera tersedia",
+ "desc": "Pilih kamera mana yang akan diaktifkan notifikasinya."
+ },
+ "deviceSpecific": "Pengaturan Khusus Perangkat",
+ "registerDevice": "Daftarkan Perangkat Ini",
+ "unregisterDevice": "Batalkan Pendaftaran Perangkat Ini",
+ "sendTestNotification": "Kirim notifikasi uji",
+ "unsavedRegistrations": "Pendaftaran Notifikasi yang belum disimpan",
+ "unsavedChanges": "Perubahan Notifikasi yang belum disimpan",
+ "active": "Notifikasi Aktif",
+ "suspended": "Notifikasi ditangguhkan {{time}}",
+ "suspendTime": {
+ "suspend": "Tangguhkan",
+ "5minutes": "Tangguhkan selama 5 menit",
+ "10minutes": "Tangguhkan selama 10 menit",
+ "30minutes": "Tangguhkan selama 30 menit",
+ "1hour": "Tangguhkan selama 1 jam",
+ "12hours": "Tangguhkan selama 12 jam",
+ "24hours": "Tangguhkan selama 24 jam",
+ "untilRestart": "Tangguhkan hingga dimulai ulang"
+ },
+ "cancelSuspension": "Batalkan Penangguhan",
+ "toast": {
+ "success": {
+ "registered": "Berhasil terdaftar untuk notifikasi. Mulai ulang Frigate diperlukan sebelum notifikasi apa pun (termasuk notifikasi uji) dapat dikirim.",
+ "settingSaved": "Pengaturan notifikasi telah disimpan."
+ },
+ "error": {
+ "registerFailed": "Gagal menyimpan pendaftaran notifikasi."
+ }
+ }
+ },
+ "frigatePlus": {
+ "title": "Pengaturan Frigate+",
+ "description": "Frigate+ adalah layanan berlangganan yang menyediakan akses ke fitur dan kemampuan tambahan untuk instance Frigate Anda, termasuk kemampuan menggunakan model deteksi objek kustom yang dilatih dengan data Anda sendiri. Anda dapat mengelola pengaturan model Frigate+ Anda di sini.",
+ "cardTitles": {
+ "api": "API",
+ "currentModel": "Model Saat Ini",
+ "otherModels": "Model Lainnya",
+ "configuration": "Konfigurasi"
+ },
+ "apiKey": {
+ "title": "Kunci API Frigate+",
+ "validated": "Kunci API Frigate+ terdeteksi dan tervalidasi",
+ "notValidated": "Kunci API Frigate+ tidak terdeteksi atau tidak tervalidasi",
+ "desc": "Kunci API Frigate+ memungkinkan integrasi dengan layanan Frigate+.",
+ "plusLink": "Baca lebih lanjut tentang Frigate+"
+ },
+ "snapshotConfig": {
+ "title": "Konfigurasi Cuplikan",
+ "desc": "Mengirim ke Frigate+ mengharuskan cuplikan diaktifkan dalam konfigurasi Anda.",
+ "cleanCopyWarning": "Beberapa kamera menonaktifkan cuplikan",
+ "table": {
+ "camera": "Kamera",
+ "snapshots": "Cuplikan"
+ }
+ },
+ "modelInfo": {
+ "title": "Informasi Model",
+ "modelType": "Tipe Model",
+ "trainDate": "Tanggal Pelatihan",
+ "baseModel": "Model Dasar",
+ "plusModelType": {
+ "baseModel": "Model Dasar",
+ "userModel": "Disetel Halus"
+ },
+ "supportedDetectors": "Detektor yang Didukung",
+ "cameras": "Kamera",
+ "loading": "Memuat informasi model…",
+ "error": "Gagal memuat informasi model",
+ "noModelLoaded": "Saat ini tidak ada model Frigate+ yang dimuat.",
+ "availableModels": "Model Frigate+ yang tersedia",
+ "loadingAvailableModels": "Memuat model yang tersedia…",
+ "selectModel": "Pilih model",
+ "noModelsAvailable": "Tidak ada model tersedia",
+ "filter": {
+ "ariaLabel": "Filter model berdasarkan tipe",
+ "baseModels": "Model Dasar",
+ "fineTunedModels": "Model yang Disetel Halus"
+ },
+ "modelSelect": "Model Frigate+ Anda yang tersedia dapat dipilih di sini. Perlu dicatat bahwa hanya model yang kompatibel dengan konfigurasi detektor Anda saat ini yang dapat dipilih."
+ },
+ "changeInDetectorsAndModel": "Ubah model",
+ "unsavedChanges": "Perubahan pengaturan Frigate+ yang belum disimpan",
+ "restart_required": "Perlu mulai ulang (model Frigate+ berubah)",
+ "toast": {
+ "success": "Pengaturan Frigate+ telah disimpan. Mulai ulang Frigate untuk menerapkan perubahan.",
+ "error": "Gagal menyimpan perubahan konfigurasi: {{errorMessage}}"
+ }
+ },
+ "detectorsAndModel": {
+ "title": "Detektor dan model",
+ "description": "Konfigurasikan backend detektor yang menjalankan deteksi objek dan model yang digunakannya. Perubahan disimpan bersama agar detektor dan model tetap sinkron.",
+ "cardTitles": {
+ "detector": "Perangkat Keras Detektor",
+ "model": "Model Deteksi"
+ },
+ "tabs": {
+ "plus": "Frigate+",
+ "custom": "Model Kustom"
+ },
+ "mismatch": {
+ "warning": "Model Frigate+ saat ini \"{{model}}\" memerlukan detektor {{required}}. Pilih model yang kompatibel di bawah atau beralih ke Model Kustom sebelum menyimpan."
+ },
+ "plusModel": {
+ "requiresDetector": "Memerlukan: {{detector}}",
+ "noModelSelected": "Pilih model Frigate+"
+ },
+ "toast": {
+ "saveSuccess": "Pengaturan detektor dan model telah disimpan. Mulai ulang Frigate untuk menerapkan perubahan.",
+ "saveError": "Gagal menyimpan pengaturan detektor dan model"
+ },
+ "unsavedChanges": "Perubahan detektor dan model yang belum disimpan",
+ "restartRequired": "Perlu mulai ulang (detektor atau model berubah)"
+ },
+ "triggers": {
+ "documentTitle": "Pemicu",
+ "semanticSearch": {
+ "title": "Pencarian Semantik dinonaktifkan",
+ "desc": "Pencarian Semantik harus diaktifkan untuk menggunakan Pemicu."
+ },
+ "management": {
+ "title": "Pemicu",
+ "desc": "Kelola pemicu untuk {{camera}}. Gunakan tipe thumbnail untuk memicu pada thumbnail yang mirip dengan objek terlacak yang Anda pilih, dan tipe deskripsi untuk memicu pada deskripsi yang mirip dengan teks yang Anda tentukan."
+ },
+ "addTrigger": "Tambah Pemicu",
+ "table": {
+ "name": "Nama",
+ "type": "Tipe",
+ "content": "Konten",
+ "threshold": "Ambang",
+ "actions": "Tindakan",
+ "noTriggers": "Tidak ada pemicu yang dikonfigurasi untuk kamera ini.",
+ "edit": "Edit",
+ "deleteTrigger": "Hapus Pemicu",
+ "lastTriggered": "Terakhir dipicu"
+ },
+ "type": {
+ "thumbnail": "Thumbnail",
+ "description": "Deskripsi"
+ },
+ "actions": {
+ "notification": "Kirim Notifikasi",
+ "sub_label": "Tambahkan Sub Label",
+ "attribute": "Tambahkan Atribut"
+ },
+ "dialog": {
+ "createTrigger": {
+ "title": "Buat Pemicu",
+ "desc": "Buat pemicu untuk kamera {{camera}}"
+ },
+ "editTrigger": {
+ "title": "Edit Pemicu",
+ "desc": "Edit pengaturan pemicu pada kamera {{camera}}"
+ },
+ "deleteTrigger": {
+ "title": "Hapus Pemicu",
+ "desc": "Apakah Anda yakin ingin menghapus pemicu {{triggerName}}? Tindakan ini tidak dapat dibatalkan."
+ },
+ "form": {
+ "name": {
+ "title": "Nama",
+ "placeholder": "Beri nama pemicu ini",
+ "description": "Masukkan nama atau deskripsi unik untuk mengidentifikasi pemicu ini",
+ "error": {
+ "minLength": "Bidang harus memiliki panjang minimal 2 karakter.",
+ "invalidCharacters": "Bidang hanya boleh berisi huruf, angka, garis bawah, dan tanda hubung.",
+ "alreadyExists": "Pemicu dengan nama ini sudah ada untuk kamera ini."
+ }
+ },
+ "enabled": {
+ "description": "Aktifkan atau nonaktifkan pemicu ini"
+ },
+ "type": {
+ "title": "Tipe",
+ "placeholder": "Pilih tipe pemicu",
+ "description": "Picu saat deskripsi objek terlacak yang serupa terdeteksi",
+ "thumbnail": "Picu saat thumbnail objek terlacak yang serupa terdeteksi"
+ },
+ "content": {
+ "title": "Konten",
+ "imagePlaceholder": "Pilih thumbnail",
+ "textPlaceholder": "Masukkan konten teks",
+ "imageDesc": "Hanya 100 thumbnail terbaru yang ditampilkan. Jika Anda tidak dapat menemukan thumbnail yang diinginkan, silakan tinjau objek sebelumnya di Jelajahi dan atur pemicu dari menu di sana.",
+ "textDesc": "Masukkan teks untuk memicu tindakan ini saat deskripsi objek terlacak yang serupa terdeteksi.",
+ "error": {
+ "required": "Konten wajib diisi."
+ }
+ },
+ "threshold": {
+ "title": "Ambang",
+ "desc": "Tetapkan ambang kemiripan untuk pemicu ini. Ambang yang lebih tinggi berarti kecocokan yang lebih dekat diperlukan agar pemicu dijalankan.",
+ "error": {
+ "min": "Ambang harus minimal 0",
+ "max": "Ambang harus maksimal 1"
+ }
+ },
+ "actions": {
+ "title": "Tindakan",
+ "desc": "Secara default, Frigate mengirim pesan MQTT untuk semua pemicu. Sub label menambahkan nama pemicu ke label objek. Atribut adalah metadata yang dapat dicari dan disimpan secara terpisah dalam metadata objek terlacak.",
+ "error": {
+ "min": "Setidaknya satu tindakan harus dipilih."
+ }
+ }
+ }
+ },
+ "wizard": {
+ "title": "Buat Pemicu",
+ "step1": {
+ "description": "Konfigurasikan pengaturan dasar untuk pemicu Anda."
+ },
+ "step2": {
+ "description": "Atur konten yang akan memicu tindakan ini."
+ },
+ "step3": {
+ "description": "Konfigurasikan ambang dan tindakan untuk pemicu ini."
+ },
+ "steps": {
+ "nameAndType": "Nama dan Tipe",
+ "configureData": "Konfigurasikan Data",
+ "thresholdAndActions": "Ambang dan Tindakan"
+ }
+ },
+ "toast": {
+ "success": {
+ "createTrigger": "Pemicu {{name}} berhasil dibuat.",
+ "updateTrigger": "Pemicu {{name}} berhasil diperbarui.",
+ "deleteTrigger": "Pemicu {{name}} berhasil dihapus."
+ },
+ "error": {
+ "createTriggerFailed": "Gagal membuat pemicu: {{errorMessage}}",
+ "updateTriggerFailed": "Gagal memperbarui pemicu: {{errorMessage}}",
+ "deleteTriggerFailed": "Gagal menghapus pemicu: {{errorMessage}}"
+ }
+ }
+ },
+ "maintenance": {
+ "title": "Pemeliharaan",
+ "sync": {
+ "title": "Sinkronisasi Media",
+ "desc": "Frigate akan secara berkala membersihkan media sesuai jadwal reguler berdasarkan konfigurasi retensi Anda. Wajar jika ada beberapa file yatim piatu saat Frigate berjalan. Gunakan fitur ini untuk menghapus file media yatim piatu dari disk yang tidak lagi direferensikan dalam basis data.",
+ "started": "Sinkronisasi media dimulai.",
+ "alreadyRunning": "Pekerjaan sinkronisasi sudah sedang berjalan",
+ "error": "Gagal memulai sinkronisasi",
+ "currentStatus": "Status",
+ "jobId": "ID Pekerjaan",
+ "startTime": "Waktu Mulai",
+ "endTime": "Waktu Selesai",
+ "statusLabel": "Status",
+ "results": "Hasil",
+ "errorLabel": "Kesalahan",
+ "mediaTypes": "Tipe Media",
+ "allMedia": "Semua Media",
+ "dryRun": "Dry Run",
+ "dryRunEnabled": "Tidak ada file yang akan dihapus",
+ "dryRunDisabled": "File akan dihapus",
+ "force": "Paksa",
+ "forceDesc": "Lewati ambang keamanan dan selesaikan sinkronisasi meskipun lebih dari 50% file akan dihapus.",
+ "verbose": "Verbose",
+ "verboseDesc": "Tulis daftar lengkap file yatim piatu ke disk untuk ditinjau.",
+ "running": "Sinkronisasi Berjalan...",
+ "start": "Mulai Sinkronisasi",
+ "inProgress": "Sinkronisasi sedang berlangsung. Halaman ini dinonaktifkan.",
+ "status": {
+ "queued": "Dalam antrean",
+ "running": "Berjalan",
+ "completed": "Selesai",
+ "failed": "Gagal",
+ "notRunning": "Tidak Berjalan"
+ },
+ "resultsFields": {
+ "filesChecked": "File Diperiksa",
+ "orphansFound": "File Yatim Piatu Ditemukan",
+ "orphansDeleted": "File Yatim Piatu Dihapus",
+ "aborted": "Dibatalkan. Penghapusan akan melebihi ambang keamanan.",
+ "error": "Kesalahan",
+ "totals": "Total"
+ },
+ "event_snapshots": "Cuplikan Objek Terlacak",
+ "event_thumbnails": "Thumbnail Objek Terlacak",
+ "review_thumbnails": "Thumbnail Tinjauan",
+ "previews": "Pratinjau",
+ "exports": "Ekspor",
+ "recordings": "Rekaman"
+ },
+ "regionGrid": {
+ "title": "Grid Wilayah",
+ "desc": "Grid wilayah adalah optimasi yang mempelajari di mana objek dengan ukuran berbeda biasanya muncul dalam bidang pandang tiap kamera. Frigate menggunakan data ini untuk menentukan ukuran wilayah deteksi secara efisien. Grid ini dibangun secara otomatis seiring waktu dari data objek terlacak.",
+ "clear": "Hapus grid wilayah",
+ "clearConfirmTitle": "Hapus Grid Wilayah",
+ "clearConfirmDesc": "Menghapus grid wilayah tidak direkomendasikan kecuali Anda baru-baru ini mengubah ukuran model detektor atau mengubah posisi fisik kamera dan mengalami masalah pelacakan objek. Grid akan dibangun ulang secara otomatis seiring waktu saat objek dilacak. Frigate perlu dimulai ulang agar perubahan diterapkan.",
+ "clearSuccess": "Grid wilayah berhasil dihapus",
+ "clearError": "Gagal menghapus grid wilayah",
+ "restartRequired": "Perlu mulai ulang agar perubahan grid wilayah diterapkan"
+ }
+ },
+ "configForm": {
+ "global": {
+ "title": "Pengaturan Global",
+ "description": "Pengaturan ini berlaku untuk semua kamera kecuali ditimpa dalam pengaturan khusus kamera."
+ },
+ "camera": {
+ "title": "Pengaturan Kamera",
+ "description": "Pengaturan ini hanya berlaku untuk kamera ini dan menimpa pengaturan global.",
+ "noCameras": "Tidak ada kamera tersedia"
+ },
+ "advancedSettingsCount": "Pengaturan Lanjutan ({{count}})",
+ "advancedCount": "Lanjutan ({{count}})",
+ "showAdvanced": "Tampilkan Pengaturan Lanjutan",
+ "tabs": {
+ "sharedDefaults": "Default Bersama",
+ "system": "Sistem",
+ "integrations": "Integrasi"
+ },
+ "additionalProperties": {
+ "keyLabel": "Kunci",
+ "valueLabel": "Nilai",
+ "keyPlaceholder": "Kunci baru",
+ "remove": "Hapus"
+ },
+ "knownPlates": {
+ "namePlaceholder": "mis., Mobil Istri",
+ "platePlaceholder": "Nomor pelat atau regex"
+ },
+ "timezone": {
+ "defaultOption": "Gunakan zona waktu browser"
+ },
+ "roleMap": {
+ "empty": "Tidak ada pemetaan peran",
+ "roleLabel": "Peran",
+ "groupsLabel": "Grup",
+ "addMapping": "Tambah pemetaan peran",
+ "remove": "Hapus"
+ },
+ "ffmpegArgs": {
+ "preset": "Preset",
+ "manual": "Argumen manual",
+ "inherit": "Warisi dari pengaturan kamera",
+ "none": "Tidak ada",
+ "useGlobalSetting": "Warisi dari pengaturan global",
+ "selectPreset": "Pilih preset",
+ "manualPlaceholder": "Masukkan argumen FFmpeg",
+ "presetLabels": {
+ "preset-rpi-64-h264": "Raspberry Pi (H.264)",
+ "preset-rpi-64-h265": "Raspberry Pi (H.265)",
+ "preset-vaapi": "VAAPI (GPU Intel/AMD)",
+ "preset-intel-qsv-h264": "Intel QuickSync (H.264)",
+ "preset-intel-qsv-h265": "Intel QuickSync (H.265)",
+ "preset-nvidia": "GPU NVIDIA",
+ "preset-jetson-h264": "NVIDIA Jetson (H.264)",
+ "preset-jetson-h265": "NVIDIA Jetson (H.265)",
+ "preset-rkmpp": "Rockchip RKMPP",
+ "preset-http-jpeg-generic": "HTTP JPEG (Generik)",
+ "preset-http-mjpeg-generic": "HTTP MJPEG (Generik)",
+ "preset-http-reolink": "HTTP - Kamera Reolink",
+ "preset-rtmp-generic": "RTMP (Generik)",
+ "preset-rtsp-generic": "RTSP (Generik)",
+ "preset-rtsp-restream": "RTSP - Restream dari go2rtc",
+ "preset-rtsp-restream-low-latency": "RTSP - Restream dari go2rtc (Latensi Rendah)",
+ "preset-rtsp-udp": "RTSP - UDP",
+ "preset-rtsp-blue-iris": "RTSP - Blue Iris",
+ "preset-record-generic": "Rekam (Generik, tanpa audio)",
+ "preset-record-generic-audio-copy": "Rekam (Generik + Salin Audio)",
+ "preset-record-generic-audio-aac": "Rekam (Generik + Audio ke AAC)",
+ "preset-record-mjpeg": "Rekam - Kamera MJPEG",
+ "preset-record-jpeg": "Rekam - Kamera JPEG",
+ "preset-record-ubiquiti": "Rekam - Kamera Ubiquiti"
+ }
+ },
+ "cameraInputs": {
+ "itemTitle": "Stream {{index}}"
+ },
+ "restartRequiredField": "Perlu mulai ulang",
+ "restartRequiredFooter": "Konfigurasi berubah - Perlu mulai ulang",
+ "sections": {
+ "detect": "Deteksi",
+ "record": "Perekaman",
+ "snapshots": "Cuplikan",
+ "motion": "Gerakan",
+ "objects": "Objek",
+ "review": "Tinjauan",
+ "audio": "Audio",
+ "notifications": "Notifikasi",
+ "live": "Tampilan Langsung",
+ "timestamp_style": "Stempel waktu",
+ "mqtt": "MQTT",
+ "database": "Basis data",
+ "telemetry": "Telemetri",
+ "auth": "Autentikasi",
+ "tls": "TLS",
+ "proxy": "Proksi",
+ "go2rtc": "go2rtc",
+ "ffmpeg": "FFmpeg",
+ "detectors": "Detektor",
+ "model": "Model",
+ "semantic_search": "Pencarian Semantik",
+ "genai": "GenAI",
+ "face_recognition": "Pengenalan Wajah",
+ "lpr": "Pengenalan Pelat Nomor",
+ "birdseye": "Birdseye",
+ "masksAndZones": "Masker / Zona"
+ },
+ "detect": {
+ "title": "Pengaturan Deteksi"
+ },
+ "detectors": {
+ "title": "Pengaturan Detektor",
+ "singleType": "Hanya satu detektor {{type}} yang diizinkan.",
+ "keyRequired": "Nama detektor wajib diisi.",
+ "keyDuplicate": "Nama detektor sudah ada.",
+ "noSchema": "Tidak ada skema detektor yang tersedia.",
+ "none": "Tidak ada instance detektor yang dikonfigurasi.",
+ "add": "Tambah detektor",
+ "addCustomKey": "Tambah kunci kustom"
+ },
+ "record": {
+ "title": "Pengaturan Perekaman"
+ },
+ "snapshots": {
+ "title": "Pengaturan Cuplikan"
+ },
+ "motion": {
+ "title": "Pengaturan Gerakan"
+ },
+ "objects": {
+ "title": "Pengaturan Objek"
+ },
+ "audioLabels": {
+ "summary": "{{count}} label audio dipilih",
+ "empty": "Tidak ada label audio tersedia"
+ },
+ "objectLabels": {
+ "summary": "{{count}} tipe objek dipilih",
+ "empty": "Tidak ada label objek tersedia"
+ },
+ "reviewLabels": {
+ "summary": "{{count}} label dipilih",
+ "empty": "Tidak ada label tersedia"
+ },
+ "filters": {
+ "objectFieldLabel": "{{field}} untuk {{label}}"
+ },
+ "zoneNames": {
+ "summary": "{{count}} dipilih",
+ "empty": "Tidak ada zona tersedia"
+ },
+ "inputRoles": {
+ "summary": "{{count}} peran dipilih",
+ "empty": "Tidak ada peran tersedia",
+ "options": {
+ "detect": "Deteksi",
+ "record": "Rekam",
+ "audio": "Audio"
+ }
+ },
+ "genaiRoles": {
+ "options": {
+ "embeddings": "Embedding",
+ "descriptions": "Deskripsi",
+ "chat": "Chat"
+ }
+ },
+ "semanticSearchModel": {
+ "placeholder": "Pilih model…",
+ "builtIn": "Model Bawaan",
+ "genaiProviders": "Penyedia GenAI"
+ },
+ "review": {
+ "title": "Pengaturan Tinjauan"
+ },
+ "audio": {
+ "title": "Pengaturan Audio"
+ },
+ "notifications": {
+ "title": "Pengaturan Notifikasi"
+ },
+ "live": {
+ "title": "Pengaturan Tampilan Langsung"
+ },
+ "timestamp_style": {
+ "title": "Pengaturan Stempel Waktu"
+ },
+ "searchPlaceholder": "Cari...",
+ "addCustomLabel": "Tambahkan label kustom...",
+ "genaiModel": {
+ "placeholder": "Pilih atau masukkan model…",
+ "search": "Cari atau masukkan model…",
+ "noModels": "Tidak ada model tersedia",
+ "available": "Model yang tersedia",
+ "useCustom": "Gunakan \"{{value}}\"",
+ "refresh": "Segarkan model",
+ "probeFailed": "Gagal memeriksa model",
+ "fetchedModels": "Berhasil mengambil daftar model"
+ },
+ "liveStreams": {
+ "streamNameLabel": "Nama stream",
+ "streamNamePlaceholder": "misalnya, Stream HD Utama",
+ "go2rtcStreamLabel": "Stream go2rtc",
+ "go2rtcStreamPlaceholder": "Pilih stream go2rtc",
+ "go2rtcStreamSearch": "Cari atau masukkan nama stream…",
+ "noGo2rtcStreams": "Tidak ada stream go2rtc yang dikonfigurasi",
+ "availableStreams": "Stream yang tersedia",
+ "useCustom": "Gunakan \"{{value}}\"",
+ "addStream": "Tambahkan stream"
+ },
+ "semanticSearchModelSize": {
+ "notApplicable": "Tidak berlaku untuk penyedia GenAI"
+ },
+ "ptzPresets": {
+ "placeholder": "Pilih atau masukkan preset...",
+ "search": "Cari atau masukkan preset...",
+ "noPresets": "Tidak ada preset yang tersedia",
+ "available": "Preset kamera",
+ "useCustom": "Gunakan \"{{value}}\""
+ },
+ "defaultRole": {
+ "admin": "Admin",
+ "viewer": "Penampil"
+ }
+ },
+ "globalConfig": {
+ "title": "Konfigurasi Global",
+ "description": "Konfigurasikan pengaturan global yang berlaku untuk semua kamera kecuali jika ditimpa.",
+ "toast": {
+ "success": "Pengaturan global berhasil disimpan",
+ "error": "Gagal menyimpan pengaturan global",
+ "validationError": "Validasi gagal"
+ }
+ },
+ "cameraConfig": {
+ "title": "Konfigurasi Kamera",
+ "description": "Konfigurasikan pengaturan untuk masing-masing kamera. Pengaturan menimpa default global.",
+ "overriddenBadge": "Ditimpa",
+ "resetToGlobal": "Atur Ulang ke Global",
+ "toast": {
+ "success": "Pengaturan kamera berhasil disimpan",
+ "error": "Gagal menyimpan pengaturan kamera"
+ }
+ },
+ "toast": {
+ "success": "Pengaturan berhasil disimpan",
+ "applied": "Pengaturan berhasil diterapkan",
+ "successRestartRequired": "Pengaturan berhasil disimpan. Mulai ulang Frigate untuk menerapkan perubahan Anda.",
+ "error": "Gagal menyimpan pengaturan",
+ "validationError": "Validasi gagal: {{message}}",
+ "resetSuccess": "Atur ulang ke default global",
+ "resetError": "Gagal mengatur ulang pengaturan",
+ "saveAllSuccess_other": "Semua {{count}} bagian berhasil disimpan.",
+ "saveAllSuccessRestartRequired_other": "Semua {{count}} bagian berhasil disimpan. Mulai ulang Frigate untuk menerapkan perubahan Anda.",
+ "saveAllPartial_other": "{{successCount}} dari {{totalCount}} bagian berhasil disimpan. {{failCount}} gagal.",
+ "saveAllFailure": "Gagal menyimpan semua bagian."
+ },
+ "profiles": {
+ "title": "Profil",
+ "activeProfile": "Profil Aktif",
+ "noActiveProfile": "Tidak ada profil aktif",
+ "active": "Aktif",
+ "activated": "Profil '{{profile}}' diaktifkan",
+ "activateFailed": "Gagal menetapkan profil",
+ "deactivated": "Profil dinonaktifkan",
+ "noProfiles": "Tidak ada profil yang didefinisikan.",
+ "noOverrides": "Tidak ada penimpaan",
+ "cameraCount_other": "{{count}} kamera",
+ "columnCamera": "Kamera",
+ "columnOverrides": "Penimpaan Profil",
+ "baseConfig": "Konfigurasi Dasar",
+ "addProfile": "Tambah Profil",
+ "newProfile": "Profil Baru",
+ "profileNamePlaceholder": "mis., Armed, Away, Night Mode",
+ "friendlyNameLabel": "Nama Profil",
+ "profileIdLabel": "ID Profil",
+ "profileIdDescription": "Pengidentifikasi internal yang digunakan dalam konfigurasi dan otomatisasi",
+ "nameInvalid": "Hanya huruf kecil, angka, dan garis bawah yang diizinkan",
+ "nameDuplicate": "Profil dengan nama ini sudah ada",
+ "error": {
+ "mustBeAtLeastTwoCharacters": "Harus minimal 2 karakter",
+ "mustNotContainPeriod": "Tidak boleh mengandung titik",
+ "alreadyExists": "Profil dengan ID ini sudah ada"
+ },
+ "renameProfile": "Ubah Nama Profil",
+ "renameSuccess": "Profil diubah namanya menjadi '{{profile}}'",
+ "deleteProfile": "Hapus Profil",
+ "deleteProfileConfirm": "Hapus profil \"{{profile}}\" dari semua kamera? Ini tidak dapat dibatalkan.",
+ "deleteSuccess": "Profil '{{profile}}' dihapus",
+ "createSuccess": "Profil '{{profile}}' dibuat",
+ "removeOverride": "Hapus Penimpaan Profil",
+ "deleteSection": "Hapus Penimpaan Bagian",
+ "deleteSectionConfirm": "Hapus penimpaan {{section}} untuk profil {{profile}} pada {{camera}}?",
+ "deleteSectionSuccess": "Penimpaan {{section}} untuk {{profile}} telah dihapus",
+ "enableSwitch": "Aktifkan Profil",
+ "enabledDescription": "Profil diaktifkan. Buat profil baru di bawah, buka bagian konfigurasi kamera untuk membuat perubahan, lalu simpan agar perubahan berlaku.",
+ "disabledDescription": "Profil memungkinkan Anda mendefinisikan kumpulan bernama dari penimpaan konfigurasi kamera (mis., armed, away, night) yang dapat diaktifkan sesuai kebutuhan."
+ },
+ "unsavedChanges": "Anda memiliki perubahan yang belum disimpan",
+ "confirmReset": "Konfirmasi Atur Ulang",
+ "resetToDefaultDescription": "Ini akan mengatur ulang semua pengaturan di bagian ini ke nilai defaultnya. Tindakan ini tidak dapat dibatalkan.",
+ "resetToGlobalDescription": "Ini akan mengatur ulang pengaturan di bagian ini ke default global. Tindakan ini tidak dapat dibatalkan.",
+ "go2rtcStreams": {
+ "title": "Stream go2rtc",
+ "description": "Kelola konfigurasi stream go2rtc untuk restreaming kamera. Setiap stream memiliki nama dan satu atau lebih URL sumber.",
+ "addStream": "Tambah stream",
+ "addStreamDesc": "Masukkan nama untuk stream baru. Nama ini akan digunakan untuk merujuk stream dalam konfigurasi kamera Anda.",
+ "addUrl": "Tambah URL",
+ "streamNumber": "Stream {{index}}",
+ "streamName": "Nama stream",
+ "streamNamePlaceholder": "mis., front_door",
+ "streamUrlPlaceholder": "mis., rtsp://user:pass@192.168.1.100/stream",
+ "deleteStream": "Hapus stream",
+ "deleteStreamConfirm": "Apakah Anda yakin ingin menghapus stream \"{{streamName}}\"? Kamera yang merujuk stream ini mungkin berhenti berfungsi.",
+ "noStreams": "Tidak ada stream go2rtc yang dikonfigurasi. Tambahkan stream untuk memulai.",
+ "validation": {
+ "nameRequired": "Nama stream wajib diisi",
+ "nameDuplicate": "Stream dengan nama ini sudah ada",
+ "nameInvalid": "Nama stream hanya boleh berisi huruf, angka, garis bawah, dan tanda hubung",
+ "urlRequired": "Setidaknya satu URL wajib diisi"
+ },
+ "renameStream": "Ubah nama stream",
+ "renameStreamDesc": "Masukkan nama baru untuk stream ini. Mengubah nama stream dapat merusak kamera atau stream lain yang merujuknya berdasarkan nama.",
+ "newStreamName": "Nama stream baru",
+ "ffmpeg": {
+ "useFfmpegModule": "Gunakan mode kompatibilitas (ffmpeg)",
+ "video": "Video",
+ "audio": "Audio",
+ "hardware": "Akselerasi perangkat keras",
+ "videoCopy": "Salin",
+ "videoH264": "Transkode ke H.264",
+ "videoH265": "Transkode ke H.265",
+ "videoExclude": "Kecualikan",
+ "audioCopy": "Salin",
+ "audioAac": "Transkode ke AAC",
+ "audioOpus": "Transkode ke Opus",
+ "audioPcmu": "Transkode ke PCM μ-law",
+ "audioPcma": "Transkode ke PCM A-law",
+ "audioPcm": "Transkode ke PCM",
+ "audioMp3": "Transkode ke MP3",
+ "audioExclude": "Kecualikan",
+ "hardwareNone": "Tanpa akselerasi perangkat keras",
+ "hardwareAuto": "Otomatis (direkomendasikan)",
+ "hardwareVaapi": "VAAPI",
+ "hardwareCuda": "CUDA",
+ "hardwareV4l2m2m": "V4L2 M2M",
+ "hardwareDxva2": "DXVA2",
+ "hardwareVideotoolbox": "VideoToolbox",
+ "addVideoCodec": "Tambah codec video",
+ "addAudioCodec": "Tambah codec audio",
+ "removeCodec": "Hapus codec"
+ },
+ "sourceNumber": "Sumber {{index}}"
+ },
+ "birdseye": {
+ "trackingMode": {
+ "objects": "Objek",
+ "motion": "Gerakan",
+ "continuous": "Kontinu"
+ },
+ "cameraOrder": {
+ "label": "Urutan kamera",
+ "description": "Seret kamera untuk mengatur urutannya dalam tata letak Birdseye.",
+ "reorderHandle": "Seret untuk mengubah urutan",
+ "saving": "Menyimpan…",
+ "saved": "Tersimpan"
+ }
+ },
+ "retainMode": {
+ "all": "Semua",
+ "motion": "Gerakan",
+ "active_objects": "Objek Aktif"
+ },
+ "previewQuality": {
+ "very_high": "Sangat Tinggi",
+ "high": "Tinggi",
+ "medium": "Sedang",
+ "low": "Rendah",
+ "very_low": "Sangat Rendah"
+ },
+ "ui": {
+ "timeFormat": {
+ "browser": "Browser",
+ "12hour": "12 jam",
+ "24hour": "24 jam"
+ },
+ "TimeOrDateStyle": {
+ "full": "Penuh",
+ "long": "Panjang",
+ "medium": "Sedang",
+ "short": "Pendek"
+ },
+ "unitSystem": {
+ "metric": "Metrik",
+ "imperial": "Imperial"
+ }
+ },
+ "review": {
+ "imageSource": {
+ "recordings": "Rekaman",
+ "previews": "Pratinjau"
+ }
+ },
+ "logger": {
+ "logLevel": {
+ "debug": "Debug",
+ "info": "Info",
+ "warning": "Peringatan",
+ "error": "Kesalahan",
+ "critical": "Kritis"
+ }
+ },
+ "onvif": {
+ "profileAuto": "Otomatis",
+ "profileLoading": "Memuat profil...",
+ "autotracking": {
+ "zooming": {
+ "disabled": "Dinonaktifkan",
+ "absolute": "Absolut",
+ "relative": "Relatif"
+ }
+ }
+ },
+ "modelSize": {
+ "small": "Kecil",
+ "large": "Besar"
}
}
diff --git a/web/public/locales/id/views/system.json b/web/public/locales/id/views/system.json
index 7cf1597d59..639d94cc21 100644
--- a/web/public/locales/id/views/system.json
+++ b/web/public/locales/id/views/system.json
@@ -1,13 +1,14 @@
{
"documentTitle": {
- "cameras": "Status kamera - Frigate",
- "storage": "Status Penyimpanan - Frigate",
- "general": "Status umum - Frigate",
+ "cameras": "Statistik Kamera - Frigate",
+ "storage": "Statistik Penyimpanan - Frigate",
+ "general": "Statistik Umum - Frigate",
"enrichments": "Statistik Enrichment - Frigate",
"logs": {
"frigate": "Log Frigate - Frigate",
"go2rtc": "Log Go2RTC - Frigate",
- "nginx": "Log NGINX - Frigate"
+ "nginx": "Log Nginx - Frigate",
+ "websocket": "Log Pesan - Frigate"
}
},
"title": "Sistem",
@@ -17,32 +18,242 @@
"label": "Unduh Log"
},
"copy": {
- "label": "Salin ke Clipboard",
- "success": "Log tersalin ke clipboard",
- "error": "Tidak dapat menyalin ke clipboard"
+ "label": "Salin ke Papan Klip",
+ "success": "Log berhasil disalin ke papan klip",
+ "error": "Tidak dapat menyalin log ke papan klip"
},
"type": {
- "label": "Tipe",
- "timestamp": "Waktu",
+ "label": "Jenis",
+ "timestamp": "Stempel waktu",
"tag": "Tag",
"message": "Pesan"
},
- "tips": "Logs sedang berjalan dari server",
+ "tips": "Log sedang dialirkan dari server",
"toast": {
"error": {
- "fetchingLogsFailed": "Error saat mengambil log: {{errorMessage}}",
- "whileStreamingLogs": "Eror saat streaming logs: {{errorMessage}}"
+ "fetchingLogsFailed": "Kesalahan saat mengambil log: {{errorMessage}}",
+ "whileStreamingLogs": "Kesalahan saat mengalirkan log: {{errorMessage}}"
+ }
+ },
+ "websocket": {
+ "label": "Pesan",
+ "pause": "Jeda",
+ "resume": "Lanjutkan",
+ "clear": "Bersihkan",
+ "filter": {
+ "all": "Semua topik",
+ "topics": "Topik",
+ "events": "Peristiwa",
+ "reviews": "Tinjauan",
+ "classification": "Klasifikasi",
+ "face_recognition": "Pengenalan Wajah",
+ "lpr": "LPR",
+ "camera_activity": "Aktivitas kamera",
+ "system": "Sistem",
+ "camera": "Kamera",
+ "all_cameras": "Semua kamera",
+ "cameras_count_one": "{{count}} Kamera",
+ "cameras_count_other": "{{count}} Kamera"
+ },
+ "empty": "Belum ada pesan yang ditangkap",
+ "count_one": "{{count}} pesan",
+ "count_other": "{{count}} pesan",
+ "expanded": {
+ "payload": "Payload"
}
}
},
"general": {
"title": "Umum",
"detector": {
- "title": "Pendeteksi",
- "inferenceSpeed": "Pendeteksi Kecepatan Inferensi",
- "temperature": "Pendeteksi Suhu",
- "cpuUsage": "Pendeteksi penggunaan CPU",
- "cpuUsageInformation": "CPU yang digunakan dalam mempersiapkan data masukan dan keluaran ke/dari model deteksi. Nilai ini tidak mengukur penggunaan inferensi, bahkan jika menggunakan GPU atau akselerator."
+ "title": "Detektor",
+ "inferenceSpeed": "Kecepatan Inferensi Detektor",
+ "temperature": "Suhu Detektor",
+ "cpuUsage": "Penggunaan CPU Detektor",
+ "cpuUsageInformation": "CPU yang digunakan untuk menyiapkan data input dan output ke/dari model deteksi. Nilai ini tidak mengukur penggunaan inferensi, meskipun menggunakan GPU atau akselerator.",
+ "memoryUsage": "Penggunaan Memori Detektor"
+ },
+ "hardwareInfo": {
+ "title": "Info Perangkat Keras",
+ "gpuUsage": "Penggunaan GPU",
+ "gpuMemory": "Memori GPU",
+ "gpuEncoder": "Encoder GPU",
+ "gpuCompute": "Komputasi / Enkode GPU",
+ "gpuDecoder": "Decoder GPU",
+ "gpuTemperature": "Suhu GPU",
+ "gpuInfo": {
+ "vainfoOutput": {
+ "title": "Output Vainfo",
+ "returnCode": "Kode Pengembalian: {{code}}",
+ "processOutput": "Output Proses:",
+ "processError": "Kesalahan Proses:"
+ },
+ "nvidiaSMIOutput": {
+ "title": "Output Nvidia SMI",
+ "name": "Nama: {{name}}",
+ "driver": "Driver: {{driver}}",
+ "cudaComputerCapability": "Kemampuan Komputasi CUDA: {{cuda_compute}}",
+ "vbios": "Info VBios: {{vbios}}"
+ },
+ "closeInfo": {
+ "label": "Tutup info GPU"
+ },
+ "copyInfo": {
+ "label": "Salin info GPU"
+ },
+ "toast": {
+ "success": "Info GPU berhasil disalin ke papan klip"
+ }
+ },
+ "npuUsage": "Penggunaan NPU",
+ "npuMemory": "Memori NPU",
+ "npuTemperature": "Suhu NPU",
+ "intelGpuWarning": {
+ "title": "Peringatan Statistik GPU Intel",
+ "message": "Statistik GPU tidak tersedia",
+ "description": "Ini adalah bug yang sudah diketahui pada alat pelaporan statistik GPU Intel (intel_gpu_top) yang dapat rusak dan berulang kali mengembalikan penggunaan GPU sebesar 0% bahkan ketika akselerasi perangkat keras dan deteksi objek berjalan dengan benar pada (i)GPU. Ini bukan bug Frigate. Anda dapat memulai ulang host untuk memperbaiki masalah ini sementara dan memastikan GPU berfungsi dengan benar. Ini tidak memengaruhi kinerja."
+ }
+ },
+ "otherProcesses": {
+ "title": "Proses Lainnya",
+ "processCpuUsage": "Penggunaan CPU Proses",
+ "processMemoryUsage": "Penggunaan Memori Proses",
+ "series": {
+ "go2rtc": "go2rtc",
+ "recording": "perekaman",
+ "review_segment": "segmen tinjauan",
+ "embeddings": "embedding",
+ "audio_detector": "detektor audio"
+ }
+ }
+ },
+ "storage": {
+ "title": "Penyimpanan",
+ "overview": "Ringkasan",
+ "recordings": {
+ "title": "Rekaman",
+ "tips": "Nilai ini menunjukkan total penyimpanan yang digunakan oleh rekaman di basis data Frigate. Frigate tidak melacak penggunaan penyimpanan untuk semua file di disk Anda.",
+ "earliestRecording": "Rekaman paling awal yang tersedia:"
+ },
+ "shm": {
+ "title": "Alokasi SHM (memori bersama)",
+ "warning": "Ukuran SHM saat ini sebesar {{total}}MB terlalu kecil. Tingkatkan menjadi setidaknya {{min_shm}}MB.",
+ "frameLifetime": {
+ "title": "Masa hidup frame",
+ "description": "Setiap kamera memiliki {{frames}} slot frame di memori bersama. Pada laju frame kamera tercepat, setiap frame tersedia selama sekitar {{lifetime}} dtk sebelum ditimpa."
+ }
+ },
+ "cameraStorage": {
+ "title": "Penyimpanan Kamera",
+ "camera": "Kamera",
+ "unusedStorageInformation": "Informasi Penyimpanan Tidak Terpakai",
+ "storageUsed": "Penyimpanan",
+ "percentageOfTotalUsed": "Persentase dari Total",
+ "bandwidth": "Bandwidth",
+ "unused": {
+ "title": "Tidak Terpakai",
+ "tips": "Nilai ini mungkin tidak secara akurat merepresentasikan ruang kosong yang tersedia untuk Frigate jika Anda memiliki file lain yang disimpan di drive selain rekaman Frigate. Frigate tidak melacak penggunaan penyimpanan di luar rekamannya."
+ }
+ }
+ },
+ "cameras": {
+ "title": "Kamera",
+ "overview": "Ringkasan",
+ "info": {
+ "aspectRatio": "rasio aspek",
+ "cameraProbeInfo": "Info Probe Kamera {{camera}}",
+ "streamDataFromFFPROBE": "Data stream diperoleh dengan ffprobe.",
+ "fetching": "Mengambil Data Kamera",
+ "stream": "Stream {{idx}}",
+ "video": "Video:",
+ "codec": "Codec:",
+ "resolution": "Resolusi:",
+ "fps": "FPS:",
+ "unknown": "Tidak diketahui",
+ "audio": "Audio:",
+ "error": "Kesalahan: {{error}}",
+ "tips": {
+ "title": "Info Probe Kamera"
+ }
+ },
+ "framesAndDetections": "Frame / Deteksi",
+ "noCameras": {
+ "title": "Tidak Ada Kamera Ditemukan"
+ },
+ "label": {
+ "camera": "kamera",
+ "detect": "deteksi",
+ "skipped": "dilewati",
+ "ffmpeg": "FFmpeg",
+ "capture": "penangkapan",
+ "overallFramesPerSecond": "jumlah frame per detik keseluruhan",
+ "overallDetectionsPerSecond": "jumlah deteksi per detik keseluruhan",
+ "overallSkippedDetectionsPerSecond": "jumlah deteksi yang dilewati per detik keseluruhan",
+ "cameraFfmpeg": "FFmpeg {{camName}}",
+ "cameraCapture": "penangkapan {{camName}}",
+ "cameraDetect": "deteksi {{camName}}",
+ "cameraGpu": "GPU {{camName}}",
+ "cameraFramesPerSecond": "frame per detik {{camName}}",
+ "cameraDetectionsPerSecond": "deteksi per detik {{camName}}",
+ "cameraSkippedDetectionsPerSecond": "deteksi yang dilewati per detik {{camName}}"
+ },
+ "connectionQuality": {
+ "title": "Kualitas Koneksi",
+ "excellent": "Sangat Baik",
+ "fair": "Cukup",
+ "poor": "Buruk",
+ "unusable": "Tidak Dapat Digunakan",
+ "fps": "FPS",
+ "expectedFps": "FPS yang Diharapkan",
+ "reconnectsLastHour": "Penyambungan ulang (1 jam terakhir)",
+ "stallsLastHour": "Macet (1 jam terakhir)"
+ },
+ "toast": {
+ "success": {
+ "copyToClipboard": "Data probe berhasil disalin ke papan klip."
+ },
+ "error": {
+ "unableToProbeCamera": "Tidak dapat memeriksa kamera: {{errorMessage}}"
+ }
+ }
+ },
+ "lastRefreshed": "Terakhir diperbarui: ",
+ "stats": {
+ "ffmpegHighCpuUsage": "{{camera}} memiliki penggunaan CPU FFmpeg yang tinggi ({{ffmpegAvg}}%)",
+ "detectHighCpuUsage": "{{camera}} memiliki penggunaan CPU deteksi yang tinggi ({{detectAvg}}%)",
+ "healthy": "Sistem sehat",
+ "reindexingEmbeddings": "Mengindeks ulang embedding ({{processed}}% selesai)",
+ "cameraIsOffline": "{{camera}} sedang offline",
+ "detectIsSlow": "{{detect}} lambat ({{speed}} md)",
+ "detectIsVerySlow": "{{detect}} sangat lambat ({{speed}} md)",
+ "shmTooLow": "Alokasi /dev/shm ({{total}} MB) harus ditingkatkan menjadi setidaknya {{min}} MB.",
+ "debugReplayActive": "Sesi pemutaran ulang debug sedang aktif"
+ },
+ "enrichments": {
+ "title": "Enrichment",
+ "infPerSecond": "Inferensi Per Detik",
+ "averageInf": "Waktu Inferensi Rata-rata",
+ "embeddings": {
+ "image_embedding": "Embedding Gambar",
+ "text_embedding": "Embedding Teks",
+ "face_recognition": "Pengenalan Wajah",
+ "plate_recognition": "Pengenalan Plat",
+ "image_embedding_speed": "Kecepatan Embedding Gambar",
+ "face_embedding_speed": "Kecepatan Embedding Wajah",
+ "face_recognition_speed": "Kecepatan Pengenalan Wajah",
+ "plate_recognition_speed": "Kecepatan Pengenalan Plat",
+ "text_embedding_speed": "Kecepatan Embedding Teks",
+ "yolov9_plate_detection_speed": "Kecepatan Deteksi Plat YOLOv9",
+ "yolov9_plate_detection": "Deteksi Plat YOLOv9",
+ "review_description": "Deskripsi Tinjauan",
+ "review_description_speed": "Kecepatan Deskripsi Tinjauan",
+ "review_description_events_per_second": "Deskripsi Tinjauan",
+ "object_description": "Deskripsi Objek",
+ "object_description_speed": "Kecepatan Deskripsi Objek",
+ "object_description_events_per_second": "Deskripsi Objek",
+ "classification": "Klasifikasi {{name}}",
+ "classification_speed": "Kecepatan Klasifikasi {{name}}",
+ "classification_events_per_second": "Peristiwa Klasifikasi {{name}} Per Detik"
}
}
}