515 lines
17 KiB
JSON
515 lines
17 KiB
JSON
{
|
||
"app": {
|
||
"today": "TODAY",
|
||
"timeline": "TIMELINE",
|
||
"museum": "MUSEUM",
|
||
"insights": "INSIGHTS",
|
||
"profile": "PROFILE",
|
||
"tasks": "TASKS",
|
||
"calendar": "CALENDAR",
|
||
"system": "SYSTEM"
|
||
},
|
||
"common": {
|
||
"save": "SAVE",
|
||
"cancel": "CANCEL",
|
||
"edit": "EDIT",
|
||
"delete": "DELETE",
|
||
"close": "Close",
|
||
"open": "Open",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore window",
|
||
"energy": "ENERGY",
|
||
"days": "DAYS",
|
||
"never": "NEVER"
|
||
},
|
||
"today": {
|
||
"prompt": "How was your day?",
|
||
"placeholder": "Write something about today...",
|
||
"archive": "ARCHIVE TODAY",
|
||
"update": "UPDATE MEMORY",
|
||
"archiveDate": "SAVE MEMORY",
|
||
"updateDate": "UPDATE MEMORY",
|
||
"backToToday": "Back to today",
|
||
"weather": "TODAY'S WEATHER",
|
||
"energy": "ENERGY LEVEL",
|
||
"film": "DAILY PROMPT",
|
||
"archiving": "ARCHIVING MEMORY...",
|
||
"archived": "MEMORY ARCHIVED"
|
||
},
|
||
"weather": {
|
||
"clear": "Clear",
|
||
"light": "Light",
|
||
"cloudy": "Cloudy",
|
||
"rain": "Rain",
|
||
"storm": "Storm"
|
||
},
|
||
"timeline": {
|
||
"eyebrow": "MEMORY ARCHIVE",
|
||
"heading": "{count} OF {total} MEMORIES",
|
||
"search": "Search memories",
|
||
"searchPlaceholder": "Search notes, tags, places, tasks…",
|
||
"filterTag": "Filter by tag",
|
||
"allTags": "ALL TAGS",
|
||
"noMatches": "No memories match these filters.",
|
||
"favorite": "FAVORITE",
|
||
"emptyTitle": "No memories yet.",
|
||
"emptyBody": "Open Today when you are ready to keep one.",
|
||
"detail": "MEMORY DETAIL",
|
||
"untitled": "Untitled memory",
|
||
"noNote": "No written note.",
|
||
"editing": "EDITING AS TODAY — SAVE TO UPDATE",
|
||
"preserved": "FAVORITED",
|
||
"addMuseum": "ADD TO MUSEUM",
|
||
"confirmDelete": "CONFIRM DELETE",
|
||
"remove": "Remove this memory?",
|
||
"irreversible": "This cannot be undone.",
|
||
"deleteMemory": "DELETE MEMORY",
|
||
"removed": "MEMORY REMOVED",
|
||
"added": "MEMORY FAVORITED",
|
||
"unpreserved": "REMOVED FROM FAVORITES"
|
||
},
|
||
"memory": {
|
||
"tags": "TAGS",
|
||
"tagsPlaceholder": "Separate tags with commas",
|
||
"place": "PLACE / SCENE (OPTIONAL)",
|
||
"placePlaceholder": "Where or what was the setting?",
|
||
"linkTask": "RELATED TASK (OPTIONAL)",
|
||
"noTask": "NO RELATED TASK",
|
||
"relatedTask": "Related task",
|
||
"favorite": "ADD TO FAVORITES",
|
||
"edit": "EDIT MEMORY DETAILS",
|
||
"note": "NOTE",
|
||
"title": "TITLE (OPTIONAL)",
|
||
"titlePlaceholder": "Give this memory a title"
|
||
},
|
||
"museum": {
|
||
"eyebrow": "MUSEUM",
|
||
"title": "Preserved moments",
|
||
"subtitle": "Worth keeping for the long view.",
|
||
"empty": "A museum begins with one preserved moment.",
|
||
"preserved": "STATUS: PRESERVED",
|
||
"collection": "COLLECTION"
|
||
},
|
||
"insights": {
|
||
"eyebrow": "PERIOD REPORTS",
|
||
"title": "Insights",
|
||
"description": "A factual view of what you recorded and completed.",
|
||
"period": "Report period",
|
||
"week": "WEEK",
|
||
"month": "MONTH",
|
||
"previous": "Previous period",
|
||
"next": "Next period",
|
||
"records": "RECORDING FREQUENCY",
|
||
"recordedDays": "{count} entries · {percent}% of elapsed days",
|
||
"tasks": "TASKS COMPLETED",
|
||
"completedTasks": "Tasks marked complete in this period",
|
||
"taskDetails": "{created} tasks created · {goals} goals completed",
|
||
"weather": "COMMON WEATHER",
|
||
"noWeather": "No weather recorded in this period",
|
||
"energy": "RECORDED ENERGY",
|
||
"energyFromTo": "First entry {first}/5 → latest {last}/5",
|
||
"singleEnergy": "One energy entry in this period",
|
||
"noEnergy": "No energy recorded in this period",
|
||
"highlights": "MOMENTS TO REVISIT",
|
||
"highlightSource": "Saved memories or entries tagged #highlight or #高光.",
|
||
"highlightFavorite": "SAVED",
|
||
"highlightTag": "TAGGED",
|
||
"highlightEmpty": "No saved or tagged memories in this period.",
|
||
"note": "Only saved records are counted. Missing dates carry no inferred weather or energy."
|
||
},
|
||
"profile": {
|
||
"eyebrow": "SYSTEM PROFILE",
|
||
"online": "LIFE OS ONLINE",
|
||
"daysOnline": "DAYS ONLINE",
|
||
"memories": "MEMORIES",
|
||
"museumItems": "MUSEUM ITEMS",
|
||
"streak": "CURRENT STREAK",
|
||
"longest": "LONGEST STREAK",
|
||
"commonWeather": "COMMON WEATHER",
|
||
"personal": "PERSONAL SYSTEM",
|
||
"name": "Display Name",
|
||
"birthday": "Birthday (optional)",
|
||
"start": "Life OS Start Date",
|
||
"motto": "Personal Motto",
|
||
"save": "SAVE PROFILE",
|
||
"saved": "PROFILE SAVED",
|
||
"average": "AVERAGE ENERGY {value} / 5"
|
||
},
|
||
"system": {
|
||
"eyebrow": "SYSTEM SETTINGS",
|
||
"title": "System, local and yours.",
|
||
"appearance": "APPEARANCE",
|
||
"language": "LANGUAGE",
|
||
"browserLanguage": "BROWSER LANGUAGE",
|
||
"detectedZh": "Detected: Chinese",
|
||
"detectedEn": "Detected: English",
|
||
"auto": "AUTO",
|
||
"data": "DATA",
|
||
"storage": "STORAGE",
|
||
"dataStorage": "DATA STORAGE",
|
||
"export": "EXPORT DATA",
|
||
"import": "IMPORT DATA",
|
||
"reset": "RESET LIFE OS",
|
||
"local": "Local Storage",
|
||
"stored": "Your data is stored locally in this browser.",
|
||
"backups": "Create regular backups to prevent data loss.",
|
||
"lastBackup": "LAST BACKUP · {value}",
|
||
"recommended": "BACKUP RECOMMENDED",
|
||
"version": "VERSION",
|
||
"theme": {
|
||
"dark": "DARK",
|
||
"light": "LIGHT",
|
||
"auto": "AUTO"
|
||
},
|
||
"storageSummary": "{memories} memories · {museum} museum items · {tasks} tasks · Approx. {size} KB",
|
||
"release": "Life OS<br>Version {version} · Backup schema v2 · D1 schema v2",
|
||
"languageEnglish": "ENGLISH",
|
||
"languageChinese": "中文"
|
||
},
|
||
"dialog": {
|
||
"backup": "LIFE OS BACKUP",
|
||
"ready": "Ready to restore",
|
||
"exported": "Exported: {date}",
|
||
"memories": "Memories: {count}",
|
||
"museumItems": "Museum Items: {count}",
|
||
"goals": "Goals: {count}",
|
||
"tasks": "Tasks: {count}",
|
||
"merge": "MERGE",
|
||
"replaceAll": "REPLACE ALL DATA",
|
||
"final": "FINAL CONFIRMATION",
|
||
"replaceQuestion": "Replace all Life OS data?",
|
||
"replaceWarning": "This will replace all current Life OS data.",
|
||
"replace": "REPLACE DATA",
|
||
"resetQuestion": "Reset all local data?",
|
||
"resetWarning": "Export a backup first if you want to keep it.",
|
||
"resetData": "RESET DATA"
|
||
},
|
||
"feedback": {
|
||
"backup": "BACKUP CREATED",
|
||
"invalid": "INVALID BACKUP FILE",
|
||
"restored": "SYSTEM RESTORED",
|
||
"restoring": "RESTORING SYSTEM...",
|
||
"minimized": "MINIMIZED — TAP THE APP ICON TO RESTORE",
|
||
"languageZh": "Language set to Chinese",
|
||
"languageEn": "Language set to English",
|
||
"followingZh": "Following browser language: Chinese",
|
||
"followingEn": "Following browser language: English"
|
||
},
|
||
"addon": {
|
||
"draftRestored": "DRAFT RESTORED",
|
||
"searchTitle": "SEARCH MEMORY ARCHIVE",
|
||
"searchPlaceholder": "Search titles, notes, moods…",
|
||
"searchHint": "ESC to close · click a result to open it",
|
||
"untitled": "Untitled memory",
|
||
"noResults": "No memories found.",
|
||
"syncPaused": "CLOUD SYNC PAUSED — CHANGES STAY ON THIS DEVICE",
|
||
"syncReady": "CLOUD SYNC READY",
|
||
"migrateQuestion": "Move this browser’s Life OS to the cloud?",
|
||
"migrateBody": "Your existing local records will become the first synced copy for this ChatGPT account.",
|
||
"migrate": "MIGRATE & SYNC",
|
||
"fresh": "START FRESH",
|
||
"migrated": "LOCAL LIFE OS MIGRATED",
|
||
"cloudRestored": "CLOUD LIFE OS RESTORED",
|
||
"cloudUnavailable": "CLOUD STORAGE UNAVAILABLE — LOCAL MODE ACTIVE",
|
||
"openMemory": "Open memory: {title}"
|
||
},
|
||
"calendar": {
|
||
"eyebrow": "MEMORIES & MILESTONES",
|
||
"month": "MONTH",
|
||
"day": "DAY",
|
||
"today": "TODAY",
|
||
"mon": "MON",
|
||
"tue": "TUE",
|
||
"wed": "WED",
|
||
"thu": "THU",
|
||
"fri": "FRI",
|
||
"sat": "SAT",
|
||
"sun": "SUN",
|
||
"previous": "Previous month",
|
||
"next": "Next month",
|
||
"previousDay": "Previous day",
|
||
"nextDay": "Next day",
|
||
"dayAtGlance": "THAT DAY",
|
||
"memory": "MEMORY",
|
||
"task": "TASK",
|
||
"goal": "GOAL",
|
||
"items": "items",
|
||
"taskDue": "TASK DUE",
|
||
"taskDone": "TASK COMPLETED",
|
||
"goalCreated": "GOAL CREATED",
|
||
"goalTarget": "GOAL TARGET DATE",
|
||
"goalDone": "GOAL COMPLETED",
|
||
"emptyDay": "No memories or milestones recorded for this day.",
|
||
"openToday": "Write a memory",
|
||
"writeMemory": "Add memory",
|
||
"openTasks": "Open tasks"
|
||
},
|
||
"tasks": {
|
||
"eyebrow": "GOALS & TASKS",
|
||
"title": "Make room for what matters.",
|
||
"subtitle": "A small, steady plan for today and the days ahead.",
|
||
"addGoal": "NEW GOAL",
|
||
"addTask": "ADD TASK",
|
||
"taskPlaceholder": "What needs doing?",
|
||
"goalPlaceholder": "What do you want to move toward?",
|
||
"goalDescription": "A note about this goal (optional)",
|
||
"finishedGoals": "COMPLETED GOALS",
|
||
"goalComplete": "COMPLETE GOAL",
|
||
"goalReopen": "REOPEN GOAL",
|
||
"all": "ALL",
|
||
"today": "TODAY",
|
||
"upcoming": "UPCOMING",
|
||
"done": "DONE",
|
||
"activeGoals": "ACTIVE GOALS",
|
||
"noGoals": "Start with one goal worth moving toward.",
|
||
"noTasks": "Nothing on this list yet.",
|
||
"due": "DUE {date}",
|
||
"noDate": "NO DUE DATE",
|
||
"priority": {
|
||
"low": "LOW",
|
||
"normal": "NORMAL",
|
||
"high": "HIGH"
|
||
},
|
||
"goal": "GOAL",
|
||
"anyGoal": "NO GOAL",
|
||
"save": "SAVE",
|
||
"cancel": "CANCEL",
|
||
"complete": "MARK COMPLETE",
|
||
"reopen": "REOPEN",
|
||
"delete": "DELETE",
|
||
"goalTitle": "New goal",
|
||
"taskTitle": "New task",
|
||
"goalCreated": "GOAL CREATED",
|
||
"taskAdded": "TASK ADDED",
|
||
"taskRemoved": "TASK REMOVED",
|
||
"goalRemoved": "GOAL REMOVED",
|
||
"confirmGoalDelete": "Delete this goal?",
|
||
"confirmGoalDeleteBody": "Tasks linked to it will be kept without a goal.",
|
||
"target": "TARGET DATE",
|
||
"completed": "COMPLETED",
|
||
"progress": "{done} OF {total} DONE",
|
||
"desktopShow": "SHOW COUNTDOWN",
|
||
"desktopHide": "HIDE COUNTDOWN",
|
||
"countdown": "GOAL COUNTDOWN",
|
||
"daysLeft": "{count} days left",
|
||
"todayTarget": "Target is today",
|
||
"daysOverdue": "{count} days overdue",
|
||
"pinOnCreate": "Show countdown on desktop",
|
||
"todayHeading": "Focus for today",
|
||
"openCount": "{count} OPEN TASKS",
|
||
"overdue": "OVERDUE"
|
||
},
|
||
"shell": {
|
||
"pageTitle": "Life OS",
|
||
"brand": "LIFE OS / PERSONAL DESKTOP",
|
||
"initializing": "INITIALIZING PERSONAL SYSTEM…",
|
||
"life": "LIFE",
|
||
"morning": "GOOD MORNING",
|
||
"afternoon": "GOOD AFTERNOON",
|
||
"evening": "GOOD EVENING",
|
||
"systemOnline": "SYSTEM ONLINE · LIFE OS v{version}",
|
||
"systemDate": "SYSTEM DATE",
|
||
"open": "Open",
|
||
"close": "Close",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore window",
|
||
"openApp": "Open {app}",
|
||
"refresh": "Refresh desktop",
|
||
"newToday": "New today entry",
|
||
"systemSettings": "System settings",
|
||
"doubleClickMaximize": "Double-click to maximize",
|
||
"wallpaperTitle": "Bing daily wallpaper: {title}",
|
||
"dailyImage": "Daily image",
|
||
"todayMemories": "{memories} memories · {preserved} preserved",
|
||
"memoryCount": "{count} memories",
|
||
"menuCloseWindow": "Close window",
|
||
"todaySummary": "{memories} memories · {preserved} preserved"
|
||
},
|
||
"wallpaper": {
|
||
"dailyImage": "Daily image"
|
||
},
|
||
"desktop": {
|
||
"heading": "DESKTOP PERSONALIZATION",
|
||
"wallpaper": "Wallpaper source",
|
||
"bing": "Bing daily image",
|
||
"calm": "Built-in background",
|
||
"custom": "Custom image URL",
|
||
"useUrl": "USE IMAGE",
|
||
"urlHint": "Use a direct HTTPS image link. Some hosts may block external images.",
|
||
"invalidUrl": "Enter a valid HTTPS image URL",
|
||
"shortcuts": "Desktop shortcuts",
|
||
"shortcutsHint": "Choose which apps appear on the desktop. All apps remain in the Life menu. Drag icons to arrange them on desktop.",
|
||
"resetPositions": "Reset icon positions",
|
||
"windowLayout": "Window layout",
|
||
"rememberOn": "Remember open windows and positions: ON",
|
||
"rememberOff": "Remember open windows and positions: OFF",
|
||
"windowHint": "Window positions and sizes are kept on this device. Mobile apps open full screen.",
|
||
"startup": "Open at startup",
|
||
"startupHint": "These apps open whenever Life OS starts, alongside any remembered windows."
|
||
},
|
||
"prompt": {
|
||
"films": [
|
||
{
|
||
"title": "A Quiet Tuesday",
|
||
"subtitle": "Drama · Slice of Life"
|
||
},
|
||
{
|
||
"title": "The Afternoon That Stayed",
|
||
"subtitle": "Independent · Warm"
|
||
},
|
||
{
|
||
"title": "Small Light, Long Hallway",
|
||
"subtitle": "Contemplative · Drama"
|
||
},
|
||
{
|
||
"title": "Before the Notifications",
|
||
"subtitle": "Minimal · Coming of Age"
|
||
},
|
||
{
|
||
"title": "Room With Open Curtains",
|
||
"subtitle": "Slice of Life · Calm"
|
||
},
|
||
{
|
||
"title": "The Usual Way Home",
|
||
"subtitle": "Drama · Familiar"
|
||
},
|
||
{
|
||
"title": "Notes Left Unfinished",
|
||
"subtitle": "Reflective · Short Film"
|
||
},
|
||
{
|
||
"title": "A Weather of Thoughts",
|
||
"subtitle": "Quiet · Personal"
|
||
},
|
||
{
|
||
"title": "The Day Between Things",
|
||
"subtitle": "Indie · Observational"
|
||
},
|
||
{
|
||
"title": "Slow Hours, Soft Edges",
|
||
"subtitle": "Slice of Life · Dream"
|
||
},
|
||
{
|
||
"title": "A Window Still Lit",
|
||
"subtitle": "Drama · Evening"
|
||
},
|
||
{
|
||
"title": "Ordinary, Carefully Held",
|
||
"subtitle": "Human · Gentle"
|
||
},
|
||
{
|
||
"title": "One More Page Tonight",
|
||
"subtitle": "Study · Slow Burn"
|
||
},
|
||
{
|
||
"title": "The Space After Lunch",
|
||
"subtitle": "Memory · Calm"
|
||
},
|
||
{
|
||
"title": "Late Bus, Clear Mind",
|
||
"subtitle": "Urban · Reflective"
|
||
},
|
||
{
|
||
"title": "Little Things in Focus",
|
||
"subtitle": "Documentary · Life"
|
||
},
|
||
{
|
||
"title": "What the Room Remembered",
|
||
"subtitle": "Poetic · Still"
|
||
},
|
||
{
|
||
"title": "Blue Hour, No Rush",
|
||
"subtitle": "Evening · Quiet"
|
||
},
|
||
{
|
||
"title": "The Map of a Small Day",
|
||
"subtitle": "Journey · Personal"
|
||
},
|
||
{
|
||
"title": "Somewhere After Four",
|
||
"subtitle": "Indie · Warm"
|
||
},
|
||
{
|
||
"title": "A Day With No Headline",
|
||
"subtitle": "Slice of Life · Soft"
|
||
},
|
||
{
|
||
"title": "The Sound of Taking Time",
|
||
"subtitle": "Slow Cinema · Personal"
|
||
},
|
||
{
|
||
"title": "Things That Did Not Need Fixing",
|
||
"subtitle": "Drama · Gentle"
|
||
},
|
||
{
|
||
"title": "Halfway Through September",
|
||
"subtitle": "Memory · Youth"
|
||
},
|
||
{
|
||
"title": "A Small Archive of Us",
|
||
"subtitle": "Personal · Quiet"
|
||
},
|
||
{
|
||
"title": "The Night Kept Its Shape",
|
||
"subtitle": "Noir · Calm"
|
||
},
|
||
{
|
||
"title": "Unscheduled Sunshine",
|
||
"subtitle": "Light · Personal"
|
||
},
|
||
{
|
||
"title": "The Last Open Tab",
|
||
"subtitle": "Modern · Reflective"
|
||
},
|
||
{
|
||
"title": "A Place for Today",
|
||
"subtitle": "Drama · Human"
|
||
},
|
||
{
|
||
"title": "Nothing Lost to the Day",
|
||
"subtitle": "Slice of Life · Hopeful"
|
||
}
|
||
],
|
||
"lines": [
|
||
"Nothing remarkable happened. Maybe that was the point.",
|
||
"A small day, held carefully enough to remember.",
|
||
"The ordinary parts stayed longer than expected.",
|
||
"Not every chapter needs a dramatic ending.",
|
||
"Some thoughts arrived; some were allowed to pass.",
|
||
"A quiet record of being here.",
|
||
"The day moved at its own reasonable pace.",
|
||
"There was room for a little more softness.",
|
||
"Even the unfinished things belonged here.",
|
||
"The light changed, and so did the mood.",
|
||
"A scene worth keeping, without needing an explanation.",
|
||
"It was enough to notice the day as it was.",
|
||
"Time did not rush; neither did this memory.",
|
||
"The details were small, but they were real.",
|
||
"A pause became part of the story.",
|
||
"Somewhere, this became a day to keep.",
|
||
"The familiar became briefly luminous.",
|
||
"Nothing needed to be solved before nightfall.",
|
||
"A few moments stayed in focus.",
|
||
"The story was quiet, but it was still yours.",
|
||
"Today left a small mark.",
|
||
"A gentle frame around an ordinary hour.",
|
||
"The day asked for attention, not perfection.",
|
||
"This memory can rest here for now.",
|
||
"The world was loud; this page was not.",
|
||
"A few loose threads, honestly kept.",
|
||
"The simplest version of today was enough.",
|
||
"The day settled before it ended.",
|
||
"There was meaning in the in-between.",
|
||
"A private moment, safely archived."
|
||
]
|
||
},
|
||
"login": {
|
||
"title": "Your life,<br>in sync.",
|
||
"description": "Sign in with ChatGPT to open your personal Life OS and keep your memories safely synced across devices.",
|
||
"continue": "CONTINUE WITH CHATGPT",
|
||
"footnote": "PERSONAL SYSTEM · CLOUD SYNC"
|
||
}
|
||
}
|