187 lines
8.8 KiB
TypeScript
187 lines
8.8 KiB
TypeScript
import { space as koSpace } from './space';
|
|
|
|
export const spaceEn = {
|
|
...koSpace,
|
|
sessionGoal: {
|
|
...koSpace.sessionGoal,
|
|
label: 'One goal for this session',
|
|
required: '(Required)',
|
|
placeholder: 'e.g. Draft the first page of the contract',
|
|
hint: 'Keep it small. Just the next concrete piece.',
|
|
},
|
|
timerHud: {
|
|
...koSpace.timerHud,
|
|
actions: [
|
|
{ id: 'start', label: 'Start', icon: '▶' },
|
|
{ id: 'pause', label: 'Pause', icon: '⏸' },
|
|
{ id: 'reset', label: 'Reset', icon: '↺' },
|
|
],
|
|
readyMode: 'Ready',
|
|
focusMode: 'Focus',
|
|
breakMode: 'Break',
|
|
goalFallback: 'Set the next block to begin.',
|
|
goalPrefix: 'Current block · ',
|
|
completeButton: 'Complete',
|
|
},
|
|
focusHud: {
|
|
...koSpace.focusHud,
|
|
goalFallback: 'Start the next block.',
|
|
goalToast: (goal: string) => `Current block · ${goal}`,
|
|
restReminder: 'Five minutes passed. Come back to the next block.',
|
|
intentLabel: 'Current session goal',
|
|
microStepLabel: 'Current microstep',
|
|
intentExpandAriaLabel: 'Expand goal card',
|
|
refocusButton: 'Edit goal',
|
|
intentEditLabel: 'Edit',
|
|
refocusTitle: 'Reset the direction',
|
|
refocusDescription: 'Tighten one line, then go again.',
|
|
refocusApply: 'Apply',
|
|
refocusApplyAndResume: 'Apply and resume',
|
|
refocusApplying: 'Applying…',
|
|
refocusSaved: 'The session direction is updated.',
|
|
refocusOpenOnPause: 'If you paused, want to realign the next tiny piece before you continue?',
|
|
pausePromptEyebrow: 'Paused',
|
|
pausePromptTitle: 'You only need one line to restart.',
|
|
pausePromptDescription: 'You do not have to explain why you stopped. Just set the next line your hands can land on.',
|
|
pausePromptRefocus: 'Reset the next piece',
|
|
pausePromptRefocusHint: 'Keep the goal. Rewrite only the next line you will actually start with.',
|
|
pausePromptKeep: 'Resume now',
|
|
pausePromptKeepHint: 'Keep the current direction and continue from where you stopped.',
|
|
pausePromptFinish: 'Finish here',
|
|
pausePromptFinishHint: 'Close this block quietly instead of trying to force your way back in.',
|
|
returnPromptEyebrow: 'You are back',
|
|
returnPromptFocusTitle: 'The flow is still here.',
|
|
returnPromptFocusDescription: 'You can continue exactly where you paused, or softly reset the next piece before you return.',
|
|
returnPromptBreakTitle: 'A break started while you were away.',
|
|
returnPromptBreakDescription: 'Keep the break going, or move gently into the next block.',
|
|
returnPromptContinue: 'Resume where I left off',
|
|
returnPromptContinueHint: 'Keep the timer and the flow exactly as they are and return to focus.',
|
|
returnPromptRest: 'Stay on break',
|
|
returnPromptRestHint: 'Keep the break that already started and breathe for a little longer.',
|
|
returnPromptNext: 'Next block',
|
|
returnPromptNextHint: 'Set the next piece and continue inside the same session flow.',
|
|
returnPromptRefocus: 'Reset the next piece',
|
|
returnPromptRefocusHint: 'Skip the explanation. Just leave yourself the next line to start with.',
|
|
returnPromptFinish: 'Finish here',
|
|
returnPromptFinishHint: 'Close this flow here and leave the next entry light.',
|
|
microStepCompleteAriaLabel: 'Complete current microstep',
|
|
microStepPromptEyebrow: 'Next step',
|
|
microStepPromptTitle: 'Is there a clear next step?',
|
|
microStepPromptDescription: 'If yes, write one line. If not, keep the goal and continue.',
|
|
microStepPromptKeep: 'Keep going with the goal',
|
|
microStepPromptKeepHint: 'Clear the next step and continue inside the same goal.',
|
|
microStepPromptDefine: 'Write the next step',
|
|
microStepPromptDefineHint: 'Capture the smallest next action you can immediately start.',
|
|
microStepPromptFinish: 'Finish this goal here',
|
|
microStepPromptFinishHint: 'Do not grow the next step. Close this block cleanly here.',
|
|
microStepCleared: 'The microstep is cleared. The goal stays.',
|
|
completeAction: 'END SESSION',
|
|
},
|
|
goalComplete: {
|
|
...koSpace.goalComplete,
|
|
placeholderFallback: 'Write the next block',
|
|
placeholderExample: (goal: string) => `e.g. ${goal}`,
|
|
title: 'How do you want to continue this block?',
|
|
description: 'Pick one path and keep the momentum simple.',
|
|
timerTitle: 'Time is up. What should happen to this goal?',
|
|
timerDescription: 'Finish the session here, or keep the same flow alive for ten more minutes.',
|
|
nextTitle: 'Good. Define the next block.',
|
|
nextDescription: 'Do not make it bigger. Leave only the next line your hands can start with.',
|
|
currentGoalLabel: 'Current block',
|
|
nextGoalLabel: 'Next block',
|
|
chooseNextButton: 'Next block',
|
|
chooseNextDescription: 'Define the next piece and continue inside the same flow.',
|
|
backButton: 'Back',
|
|
closeAriaLabel: 'Close',
|
|
finishButton: 'Finish here',
|
|
finishDescription: 'Close this block here and leave the next entry light.',
|
|
timerFinishButton: 'Finish session',
|
|
timerFinishDescription: 'Record this goal as complete and close the session.',
|
|
timerFinishPending: 'Finishing…',
|
|
restButton: 'Step away',
|
|
restDescription: 'Keep the block alive, pause briefly, and come back later.',
|
|
extendButton: '10 more minutes',
|
|
extendDescription: 'Keep the current flow and continue for ten more minutes.',
|
|
extendPending: 'Adding 10 minutes…',
|
|
confirmButton: 'Start next block',
|
|
confirmPending: 'Starting…',
|
|
finishPending: 'Finishing…',
|
|
},
|
|
completionResult: {
|
|
...koSpace.completionResult,
|
|
eyebrow: 'SESSION COMPLETE',
|
|
title: 'This session is now gently closed.',
|
|
description: 'Here is what you focused on, what you finished, and what you parked in your thought capsule.',
|
|
focusedLabel: 'Focused time',
|
|
focusedValue: (minutes: number) => `${minutes} min`,
|
|
goalLabel: 'Completed goal',
|
|
thoughtsLabel: 'Thought capsule',
|
|
thoughtCount: (count: number) => `${count} items`,
|
|
confirmButton: 'Back to lobby',
|
|
},
|
|
endSession: {
|
|
...koSpace.endSession,
|
|
trigger: 'END SESSION',
|
|
eyebrow: 'END SESSION',
|
|
title: 'Did you finish this goal?',
|
|
description: 'Choose the path that matches this block. If you close the session, we will show the result summary before you head back.',
|
|
goalLabel: 'Current goal',
|
|
cancelButton: 'Keep focusing',
|
|
confirmButton: 'End session',
|
|
confirmPending: 'Ending…',
|
|
finishedTitle: 'Nice. How do you want to close it?',
|
|
finishedDescription: 'You can open the next block right away, or close this session here.',
|
|
unfinishedTitle: 'Okay. What do you want to do with this session?',
|
|
unfinishedDescription: 'If the goal is not done yet, you can still close the session here.',
|
|
finishedAnswer: 'Yes, I finished it',
|
|
unfinishedAnswer: 'No, not yet',
|
|
nextBlockButton: 'Next block',
|
|
finishHereButton: 'Finish here',
|
|
endHereButton: 'End session',
|
|
backButton: 'Back',
|
|
nextGoalLabel: 'Next block',
|
|
nextGoalPlaceholder: 'e.g. Refine the travel budget',
|
|
nextGoalConfirmButton: 'Start next block',
|
|
},
|
|
quickNotes: {
|
|
...koSpace.quickNotes,
|
|
title: 'Park the thought for later',
|
|
placeholder: 'Drop the thought here…',
|
|
submit: 'Save',
|
|
hint: 'You can sort it in the inbox later.',
|
|
},
|
|
inbox: {
|
|
...koSpace.inbox,
|
|
empty: 'Nothing is parked yet. Thoughts that pop up during focus can be dropped here.',
|
|
complete: 'Done',
|
|
completed: 'Done',
|
|
delete: 'Delete',
|
|
readOnly: 'A read-only inbox for later review',
|
|
clearAll: 'Clear all',
|
|
clearConfirmTitle: 'Clear the inbox?',
|
|
clearConfirmDescription: 'If this was a mistake, you can undo it in the toast.',
|
|
clearButton: 'Clear',
|
|
openInboxAriaLabel: 'Open inbox',
|
|
openInboxTitle: 'Inbox',
|
|
},
|
|
workspace: {
|
|
...koSpace.workspace,
|
|
readyToStart: 'Ready. Press start and step into focus.',
|
|
startFailed: 'Could not start the session. Please try again in a moment.',
|
|
resumeFailed: 'Could not resume the session.',
|
|
abandonFailed: 'Could not close the session.',
|
|
pauseFailed: 'Could not pause the session.',
|
|
restartFailed: 'Could not restart the current phase.',
|
|
restarted: 'The current phase has been restarted.',
|
|
intentSyncFailed: 'Could not sync the session direction to the server.',
|
|
goalCompleteSyncFailed: 'Could not record the goal-complete finish on the server.',
|
|
timerCompleteSyncFailed: 'Could not finish the timer-complete session.',
|
|
timerExtendFailed: 'Could not add 10 more minutes.',
|
|
timerExtendConflict: 'This session was already extended in another window.',
|
|
timerExtended: (minutes: number) => `${minutes} more minutes added.`,
|
|
nextGoalStarted: 'The next block started right away.',
|
|
selectionPreferenceSaveFailed: 'Could not save the default background/sound selection.',
|
|
selectionSessionSyncFailed: 'Could not sync the current session background/sound selection.',
|
|
},
|
|
} as const;
|