{ "Login": "Log in", "Logout": "Log out", "Register": "Register", "Dashboard": "Dashboard", "Email": "Email", "Password": "Password", "Password Confirmation": "Confirm Password", "Remember Me": "Remember me", "Name": "Name", "Save": "Save", "Cancel": "Cancel", "Delete": "Delete", "Edit": "Edit", "Create": "Create", "Search": "Search", "Back": "Back", "Welcome": "Welcome to City10", "auth.failed": "These credentials do not match our records.", "auth.disabled": "This account has been disabled. Please contact an administrator.", "auth.forbidden": "You do not have permission to access this resource.", "auth.logged_out": "You have been logged out successfully.", "auth.throttle": "Too many attempts. Please try again in :seconds seconds.", "legal.accept_required": "You must accept the Terms of Use and Privacy Policy before continuing.", "legal.accepted": "Terms accepted successfully.", "legal.must_accept_terms": "You must accept the Terms of Use.", "legal.must_accept_privacy": "You must accept the Privacy Policy.", "legal.must_accept_cookies": "You must accept the Cookie Policy.", "validation.captcha_required": "Please solve the math verification.", "validation.captcha_failed": "The math verification answer is incorrect.", "validation.model_not_allowed": "The selected AI model is not in the allowed list.", "users.cannot_deactivate_self": "You cannot deactivate your own account.", "users.deactivated": "Account deactivated successfully.", "stores.deleted": "Store deleted successfully.", "agents.deleted": "Agent deleted successfully.", "welcome.tagline": "A living 3D city in your browser, with autonomous AI agents — Mayor, pedestrians, shopkeepers and vehicles — deciding in real time through OpenRouter.ai.", "welcome.card1.title": "🌐 Real-Time 3D City", "welcome.card1.desc": "Explore streets, avenues, bridges, rivers, squares and buildings rendered with Three.js right in your browser.", "welcome.card2.title": "🤖 AI Agents", "welcome.card2.desc": "The mayor, pedestrians and shopkeepers make strategic decisions using free OpenRouter.ai models.", "welcome.card3.title": "🔒 Secure & LGPD", "welcome.card3.desc": "Differentiated authentication (Admin/User), math CAPTCHA and auditable terms consent compliant with Brazilian law.", "welcome.city.title": "🗺️ City Elements (Phase 1)", "welcome.city.desc": "The database already models houses, buildings, schools, parks, squares, traffic lights, streets, avenues, bridges, airports, rivers, industries, stores and shopkeepers — all with 3D coordinates (X, Y, Z) ready for the rendering engine.", "welcome.no_account": "Don't have an account?", "welcome.has_account": "Already have an account?", "nav.city": "3D City", "nav.admin": "Admin", "dashboard.open_viewer": "Open 3D viewer", "dashboard.viewer_desc": "Explore the city ground, stores and agents with a controllable camera.", "dashboard.stores_title": "Stores", "dashboard.stores_desc": "Stores registered in the 3D city.", "dashboard.legal_title": "Consents", "dashboard.consent_history": "View acceptance history", "legal.terms_label": "Terms", "legal.privacy_label": "Privacy", "legal.cookies_label": "Cookies", "admin.stores.title": "Manage Stores", "admin.stores.manage": "Manage stores", "admin.stores.admin_desc": "Create stores and define their 3D position in the city.", "admin.stores.new": "New store", "admin.stores.created": "Store created successfully.", "admin.stores.updated": "Store updated successfully.", "admin.stores.edit_title": "Edit store", "admin.stores.create_title": "New store", "admin.stores.empty": "No stores registered yet.", "admin.stores.position": "3D position in the city", "admin.stores.position_hint": "Click the ground to set X/Z, or type the coordinates. Use controls to rotate/zoom.", "admin.stores.pos_x": "Position X", "admin.stores.pos_y": "Height Y (ground = 0)", "admin.stores.pos_z": "Position Z", "admin.stores.dimensions": "Building dimensions", "admin.stores.width": "Width", "admin.stores.height": "Height", "admin.stores.depth": "Depth", "admin.stores.type": "Store type", "admin.stores.description": "Description", "admin.stores.owner": "Owner (user)", "admin.stores.agent": "AI agent (shopkeeper)", "admin.stores.is_open": "Store open", "admin.stores.no_owner": "No owner", "admin.stores.no_agent": "No agent", "admin.stores.actions": "Actions", "admin.stores.coords": "Coordinates", "admin.stores.confirm_delete": "Delete this store from the city?", "city.title": "3D City Viewer", "city.loading": "Loading city…", "city.error": "Failed to load city data.", "city.stores_count": "stores", "city.agents_count": "agents", "city.hint": "Click the scene to control · WASD to walk · Mouse to look · Esc to exit", "city.refresh": "Reload", "city.selected": "Selected", "city.open": "Open", "city.closed": "Closed", "city.hint_fps": "WASD to walk · Mouse to look · Esc to exit · Click an NPC to chat", "city.position": "POSITION", "city.on_ground": "on ground", "city.triangles": "collision tris", "city.chat_placeholder": "Type your message…", "city.chat_thinking": "thinking…", "city.chat_responding": "responding…", "city.chat_accepted": "Message sent to agent.", "city.chat_error": "Sorry, I can't reply right now. Please try again.", "city.chat_send": "Send", "city.chat_with": "Chatting with", "city.clock": "Time", "city.weather": "Weather", "city.weather_clear": "Sunny", "city.weather_cloudy": "Cloudy", "city.weather_rain": "Rain", "city.weather_storm": "Storm", "city.vehicles_count": "vehicles", "city.pedestrians_count": "pedestrians", "auth.pending": "Your account is awaiting administrator approval.", "auth.pending_title": "Awaiting approval", "auth.pending_body": "Your registration was received. An administrator must approve your account before you can enter the city. You can close this page and try again later.", "admin.citizens.title": "Citizens", "admin.citizens.hint": "Approve pending accounts to create their city character.", "admin.citizens.name": "Name", "admin.citizens.status": "Status", "admin.citizens.character": "Character", "admin.citizens.actions": "Actions", "admin.citizens.approve": "Approve", "admin.citizens.approved": "Citizen approved and character created.", "admin.citizens.ban": "Ban", "admin.citizens.banned": "Citizen banned.", "admin.citizens.cannot_ban_self": "You cannot ban your own account.", "admin.cities.title": "Cities and territory", "admin.cities.hint": "Create new cities or expand existing territory (+40 per block).", "admin.cities.name": "City name", "admin.cities.create": "Create city", "admin.cities.created": "City created.", "admin.cities.bounds": "Bounds", "admin.cities.expansions": "Expansions", "admin.cities.expand": "Expand", "admin.cities.expanded": "Territory expanded.", "admin.cities.max_expansions": "Expansion limit reached.", "nav.citizens": "Citizens", "nav.cities": "Cities", "city.action_unknown": "Unknown action.", "city.action_ok": "Action completed.", "city.no_food": "You have no food in inventory.", "city.no_water": "You have no water in inventory.", "city.no_house": "You need a completed house to sleep.", "city.no_job": "You are unemployed. Apply for a job.", "city.no_school": "No school available in this city.", "city.job_other_city": "That job belongs to another city.", "city.job_education": "Not enough education for this job.", "city.no_money": "Not enough money.", "city.no_inventory": "Not enough inventory quantity.", "city.out_of_bounds": "Position outside city bounds.", "city.no_materials": "You need 50 materials to build.", "city.site_taken": "This lot is already occupied.", "city.build_started": "Construction started. The ticker finishes the house.", "city.social_unknown": "Unknown social action.", "city.social_self": "You cannot do that to yourself.", "city.social_exists": "Relationship already exists or is pending.", "city.social_friend_sent": "Friend request sent.", "city.social_friend_ok": "Friendship accepted.", "city.social_need_friend": "You must be accepted friends first.", "city.social_married": "You are already married.", "city.social_married_ok": "Marriage completed.", "city.social_need_spouse": "You must be married to have a child.", "city.social_child_ok": "A child was born in the city!", "city.chat_sent": "Message sent.", "city.hud_hunger": "Hunger", "city.hud_thirst": "Thirst", "city.hud_energy": "Energy", "city.hud_money": "Money", "city.hud_state": "State", "city.hud_education": "Education", "city.hud_inventory": "Inventory", "city.hud_jobs": "Jobs", "city.hud_actions": "Actions", "city.hud_social": "Social", "city.act_eat": "Eat", "city.act_drink": "Drink", "city.act_sleep": "Sleep", "city.act_wake": "Wake up", "city.act_work": "Work", "city.act_stop": "Stop", "city.act_study": "Study", "city.act_buy": "Buy kit", "city.act_sell_v": "Sell product", "city.act_build": "Build house (50 mat.)", "city.act_apply": "Apply", "city.act_friend": "Friend", "city.act_marry": "Marry", "city.act_child": "Child", "city.me": "My character", "city.citizens_near": "Citizens", "city.apply_job": "Apply for", "city.buy_hint": "Buys 1 food + 1 water + 10 materials", "city.hospital_hit": "You were hit by a vehicle! Hospitalized for 1 hour.", "city.hospital_already": "You are already in the hospital.", "city.hospital_blocked": "You are hospitalized and cannot do that right now.", "city.hospital_bed": "Hospitalized", "city.hospital_released": "Hospital discharge: you are free to go.", "city.hospital_title": "Hospitalized", "city.hospital_left": "Discharge in", "city.audio": "Audio", "city.vol_master": "Master", "city.vol_music": "Music", "city.vol_sfx": "Effects", "city.mute": "Mute", "city.audio_hint": "Volume saved on this device.", "city.hud_health": "Health", "city.hud_exercise": "Workouts", "city.exercise_use": "Press E to exercise", "city.exercise_active": "Exercising", "city.exercise_stopHint": "to stop", "city.exercise_ok": "Nice! +2 health.", "city.exercise_need_equipment": "Get closer to plaza gym equipment.", "city.exercise_need_awake": "You must be awake to exercise.", "city.exercise_tired": "You are too tired to exercise.", "city.exercise_max_health": "Health is already at maximum!", "city.exerciseStart": "Starting exercise…", "city.exerciseStop": "Exercise stopped.", "city.ped_red": "Red pedestrian light — wait for the walk signal.", "nav.world": "World", "admin.world.title": "World dashboard", "admin.world.hint": "Live platform metrics for the persistent world.", "admin.world.users": "Users", "admin.world.characters": "Characters", "admin.world.economy": "Economy", "admin.world.trade_volume": "Trade volume", "admin.world.world": "Finished houses", "admin.world.market": "Market", "admin.world.missions": "Missions", "admin.world.health": "Avg health", "admin.world.education": "Avg education", "city.customize_saved": "Appearance updated.", "city.market_listed": "Listing published on the market.", "city.market_bought": "Purchase complete!", "city.market_unavailable": "Listing unavailable.", "city.ride_need_stop": "Get near a road (bus) or the rails (train).", "city.ride_bus_ok": "You boarded the bus!", "city.ride_train_ok": "You boarded the train!", "city.missions_done": "Mission complete", "city.act_market": "Market", "city.act_customize": "Appearance", "city.act_ride_bus": "Bus", "city.act_ride_train": "Train", "city.hud_minimap": "Map", "city.online_now": "online", "city.marketBuy": "Buy" }