Files
fitness/lang/en/app.php
T
rootandClaude Sonnet 5 1cc21ad0c5 Add body weight logging with a trend on the dashboard
No way existed to log body weight over time - only the single
self-reported value from the signup profile - and the dashboard showed
session activity but nothing about physical progress, which is usually
the main reason people keep using a fitness app.

Adds a WeightLog model (one entry per user per day, re-logging the same
day updates it rather than duplicating), a quick-add form and trend
summary on the dashboard, and delete support.

Found and fixed a real bug along the way: the first implementation used
WeightLog::updateOrCreate() with a raw ['logged_at' => $date] match
array, which silently failed to find the same-day entry because the
`date` cast stores full datetime strings ('2026-01-01 00:00:00') while
the match array holds a plain 'Y-m-d' string - so re-logging the same
day hit a unique-constraint violation instead of updating. Fixed by
using a whereDate() lookup instead, which is comparison-format-safe.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 12:10:08 +03:00

349 lines
14 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
return [
'nav' => [
'exercises' => 'Exercises',
'yoga' => 'Yoga',
'workouts' => 'Workouts',
'blog' => 'Blog',
'build_workout' => 'Build a Workout',
'dashboard' => 'Dashboard',
'admin' => 'Admin',
'profile' => 'Profile',
'logout' => 'Log Out',
'login' => 'Log in',
'register' => 'Sign up',
'enable_dark' => 'Enable Dark Mode',
'disable_dark' => 'Disable Dark Mode',
'language' => 'Language',
'english' => 'English',
'romanian' => 'Romanian',
],
'home' => [
'badge' => 'New • Explore 1,000+ moves',
'title' => 'Discover 1,000+ Exercises. Build Your Perfect Workout.',
'subtitle' => 'Explore FitAtlas to find exercises by muscle group and equipment, then craft routines that match your goals.',
'search_placeholder' => 'Search exercises (e.g. push up, dumbbell, back)',
'search' => 'Search',
'filters' => [
'arms' => 'Arms',
'chest' => 'Chest',
'legs' => 'Legs',
'core' => 'Core',
'back' => 'Back',
],
'featured' => 'Featured Exercises',
'browse_all' => 'Browse all',
'favorites' => 'Favorites',
'favorites_desc' => 'A balanced routine targeting all major muscle groups. Suitable for most levels and easy to adapt with available equipment.',
'try_routine' => 'Try This Routine',
'features' => [
'title' => 'Everything you need to train smarter',
'subtitle' => 'Powerful tools to plan workouts, learn movements, and track your progress — all in one place.',
'items' => [
'tracking' => [
'title' => 'Session tracking',
'desc' => 'Check off exercises as you go and mark sessions complete to visualize consistency.',
],
'library' => [
'title' => 'Rich exercise library',
'desc' => 'Browse 1,000+ movements with target muscles, equipment, and clear instructions.',
],
'plans' => [
'title' => 'Custom workouts',
'desc' => 'Build routines that match your goals and available equipment.',
],
'yoga' => [
'title' => 'Yoga poses',
'desc' => 'Search and learn yoga poses by category and benefits with images.',
],
'progress' => [
'title' => 'Progress dashboard',
'desc' => 'See completion rate, recent sessions, and 30‑day activity at a glance.',
],
'community' => [
'title' => 'Personalized',
'desc' => 'Rename exercises for yourself and favorite the ones you use the most.',
],
],
],
'pricing' => [
'title' => 'Simple pricing',
'subtitle' => 'Start free. Upgrade anytime for more features.',
'cta' => 'Get started',
'plans' => [
'free' => [
'name' => 'Free',
'price' => '$0',
'period' => '/ forever',
'desc' => 'Everything you need to begin.',
'features' => [
'feature1' => 'Exercise search and filters',
'feature2' => 'Build and manage workouts',
'feature3' => 'Yoga poses browser',
'feature4' => 'Basic dashboard stats',
],
],
'pro' => [
'name' => 'Pro',
'price' => '$9',
'period' => '/ month',
'desc' => 'Deeper insights and personalization.',
'features' => [
'feature1' => 'Advanced progress analytics',
'feature2' => 'Unlimited favorites and aliases',
'feature3' => 'Priority data updates',
'feature4' => 'Early access features',
'feature5' => 'Email support',
],
],
'ultimate' => [
'name' => 'Ultimate',
'price' => '$19',
'period' => '/ month',
'desc' => 'For power users and enthusiasts.',
'features' => [
'feature1' => 'Everything in Pro',
'feature2' => 'Customization extras',
'feature3' => 'Priority support',
],
],
],
],
'faq' => [
'title' => 'Frequently asked questions',
'subtitle' => 'If you can’t find what you’re looking for, reach out and we’ll help.',
'q1' => 'Is FitAtlas free to use?',
'a1' => 'Yes. You can browse exercises, create workouts, and track sessions for free.',
'q2' => 'What is the Dashboard?',
'a2' => 'Your personal hub with stats like completion rate, recent sessions, and activity over the last 30 days.',
'q3' => 'Do you support yoga?',
'a3' => 'Yes. Browse yoga categories and poses, filter by benefits, and open detailed pages.',
'q4' => 'Can I rename exercises?',
'a4' => 'Yes. You can set custom names visible only to you on each exercise page.',
'q5' => 'Will there be a Pro plan?',
'a5' => 'Pricing is indicative. You can start free and upgrade later if you need more features.',
'q6' => 'What languages are supported?',
'a6' => 'English and Romanian. Switch with the language control in the header.',
],
],
'workouts' => [
'my_workouts' => 'My Workouts',
'manage_desc' => 'Create routines and manage your exercises.',
'new_workout' => 'New Workout',
'none_yet' => 'No workouts yet. Create your first workout.',
'open' => 'Open',
'delete' => 'Delete',
'confirm_delete' => 'Delete this workout?',
'create_title' => 'Create Workout',
'create_desc' => 'Give your workout a name and optional details.',
'title_label' => 'Title',
'estimated_minutes' => 'Estimated Minutes',
'notes' => 'Notes',
'cancel' => 'Cancel',
'create_submit' => 'Create Workout',
'back_to_workouts' => '← Back to Workouts',
'favorited' => 'Favorited',
'favorite' => 'Favorite',
'min' => 'min',
'exercises_count' => 'exercises',
'exercises' => 'Exercises',
'no_exercises_yet' => 'No exercises yet. Add your first one on the right.',
'remove_exercise_confirm' => 'Remove this exercise?',
'remove' => 'Remove',
'edit' => 'Edit',
'position_ph' => 'Position',
'sets' => 'Sets',
'reps' => 'Reps',
'weight' => 'Weight (kg)',
'rest' => 'Rest (s)',
'save' => 'Save',
'add_exercise' => 'Add Exercise',
'exercise_label' => 'Exercise',
'add_exercise_submit' => 'Add Exercise',
'rest_suffix' => 's rest',
'kg' => 'kg',
],
'exercises' => [
'browse' => 'Browse Exercises',
'browse_desc' => 'Explore the full FitAtlas library. Filter by body part, muscle, or equipment.',
'search' => 'Search',
'search_placeholder' => 'Search by name or instruction',
'body_part' => 'Body Part',
'muscle' => 'Muscle',
'equipment' => 'Equipment',
'any' => 'Any',
'reset' => 'Reset',
'apply_filters' => 'Apply Filters',
'showing' => 'Showing',
'exercises_noun' => 'exercises',
'per_page' => 'Per page',
'none_found' => 'No exercises found. Try adjusting your filters.',
'similar' => 'Similar exercises',
'similar_none' => 'No similar exercises found.',
'rename' => 'Custom name',
'rename_placeholder' => 'Your custom name for this exercise',
'rename_save' => 'Save',
'rename_reset' => 'Reset',
'renamed_success' => 'Your custom name has been saved.',
'rename_cleared' => 'Custom name cleared.',
],
'sessions' => [
'start' => 'Start Session',
'back_to_workout' => 'Back to workout',
'progress' => 'Progress',
'mark_complete' => 'Mark as complete',
'mark_complete_confirm' => 'Mark this session as complete?',
'no_items' => 'No exercises in this workout.',
'sets' => 'sets',
'reps' => 'reps',
'rest' => 'rest',
'completed' => 'Workout session completed! Great job!',
'exercise_timer' => 'Exercise timer',
'start_timer' => 'Start',
'stop_timer' => 'Stop',
'rest_timer' => 'Rest timer',
'start_rest' => 'Start',
'pause_rest' => 'Pause',
'reset_rest' => 'Reset'
],
'dashboard' => [
'title' => 'Your Dashboard',
'subtitle' => 'See your workouts and training progress at a glance.',
'metrics' => [
'workouts' => 'Workouts',
'sessions' => 'Sessions',
'completed' => 'Completed',
'completion_rate' => 'Completion rate',
],
'recent_sessions' => 'Recent Sessions',
'no_sessions' => 'No sessions yet. Start a workout to track your progress.',
'completed' => 'Completed',
'view_session' => 'View session',
'activity_30d' => 'Last 30 Days Activity',
'activity_30d_help' => 'Number of sessions per day (higher is better).',
],
'weight_log' => [
'title' => 'Body Weight',
'change_since_first' => 'Change since your first entry:',
'weight_kg' => 'Weight (kg)',
'date' => 'Date',
'log' => 'Log',
'none' => 'No weight entries yet. Log your first one to start tracking your trend.',
'saved' => 'Weight logged',
'deleted' => 'Entry deleted',
'delete' => 'Delete',
'confirm_delete' => 'Delete this entry?',
],
'admin' => [
'title' => 'Admin Dashboard',
'subtitle' => 'Manage content and see overall site statistics.',
'metrics' => [
'users' => 'Users',
'workouts' => 'Workouts',
'sessions' => 'Sessions',
'exercises' => 'Exercises',
'yoga_poses' => 'Yoga poses',
'posts' => 'Blog posts',
],
'recent_users' => 'Recent users',
'recent_workouts' => 'Recent workouts',
'none' => 'Nothing to show yet.',
'manage_workouts' => 'Manage workouts',
],
'footer' => [
'privacy' => 'Privacy Policy',
'terms' => 'Terms of Service',
'rights' => 'All rights reserved.',
],
'yoga' => [
'browse' => 'Browse Yoga Poses',
'browse_desc' => 'Explore yoga poses by category or benefits.',
'search' => 'Search',
'search_placeholder' => 'Search by English or Sanskrit name',
'category' => 'Category',
'benefit' => 'Benefit contains',
'benefit_placeholder' => 'e.g. stress, digestion',
'any' => 'Any',
'reset' => 'Reset',
'apply_filters' => 'Apply Filters',
'showing' => 'Showing',
'poses_noun' => 'poses',
'none_found' => 'No poses found. Try adjusting your filters.',
'no_image' => 'No image',
'back' => 'Back',
'description' => 'Description',
'no_description' => 'No description available.',
'benefits' => 'Benefits',
'no_benefits' => 'No documented benefits.',
'pose_info' => 'Pose Info',
'translation' => 'Translation',
'sanskrit' => 'Sanskrit',
'sanskrit_adapted' => 'Sanskrit (adapted)',
'browse_all' => 'Browse all poses',
'similar' => 'Similar poses',
'similar_none' => 'No similar poses found.',
],
'auth' => [
'register' => [
'age' => 'Age',
'weight_kg' => 'Weight (kg)',
'height_cm' => 'Height (cm)',
'fitness_level' => 'Fitness level',
'goal' => 'Primary goal',
'health_notes' => 'Health conditions or injuries',
'available_equipment' => 'Available equipment',
'available_equipment_ph' => 'e.g. dumbbells, barbell, kettlebell, bands, pull-up bar',
'days_per_week' => 'Days per week',
'minutes_per_session' => 'Minutes per session',
'select_optional' => 'Select (optional)',
'levels' => [
'beginner' => 'Beginner',
'intermediate' => 'Intermediate',
'advanced' => 'Advanced',
],
'goals' => [
'strength' => 'Strength',
'endurance' => 'Endurance',
'weight_loss' => 'Weight loss',
'hypertrophy' => 'Hypertrophy',
'mobility' => 'Mobility',
],
'steps' => [
'step1_title' => 'Create your account',
'step2_title' => 'Tell us about your fitness profile (optional)',
'next' => 'Next',
'back' => 'Back',
'register' => 'Register',
],
'consent_prefix' => 'By creating an account, you agree to our',
'consent_and' => 'and',
'is_trainer' => 'I am a trainer',
'equipment_options' => [
'dumbbells' => 'Dumbbells',
'barbell' => 'Barbell',
'kettlebell' => 'Kettlebell',
'bands' => 'Resistance bands',
'pullup_bar' => 'Pull-up bar',
'bench' => 'Bench',
'machines' => 'Gym machines',
'yoga_mat' => 'Yoga mat',
'treadmill' => 'Treadmill',
'bodyweight' => 'Bodyweight only',
],
],
],
];