{
  "authors": ["Avatar Toolkit Team"],
  "messages": {
    "AvatarToolkit.label": "Avatar Toolkit (Alpha 0.6.0)",
    "AvatarToolkit.desc1": "Avatar Toolkit is in Early Access there",
    "AvatarToolkit.desc2": "will be issues, if you find any issues,",
    "AvatarToolkit.desc3": "please report it on our Github.",

    "Updater.label": "Updater",
    "Updater.CheckForUpdateButton.label": "Check for Updates",
    "Updater.CheckForUpdateButton.label_alt": "No Updates Available",
    "Updater.UpdateToLatestButton.label": "Update to {name}",
    "Updater.UpdateToSelectedButton.label": "Update",
    "Updater.currentVersion": "Current Version: {name}",
    "Updater.selectVersion": "Select Version",
    "Updater.CheckForUpdateButton.desc": "Check for available updates",
    "UpdateToLatestButton.desc": "Update to the latest version",
    "UpdateNotificationPopup.label": "Update Notification",
    "UpdateNotificationPopup.desc": "Notification about available updates",
    "UpdateNotificationPopup.newUpdate": "New update available: {version}",
    "RestartBlenderPopup.label": "Restart Blender",
    "RestartBlenderPopup.desc": "Restart Blender to complete the update",
    "RestartBlenderPopup.message": "Update successful! Please restart Blender.",
    "check_for_update.cantCheck": "Unable to check for updates",
    "download_file.cantConnect": "Cannot connect to update server",
    "download_file.cantFindZip": "Update file not found",
    "download_file.cantFindAvatarToolkit": "Avatar Toolkit files not found in update package",

    "QuickAccess.label": "Quick Access",
    "QuickAccess.select_armature": "Select Armature",
    "QuickAccess.valid_armature": "Valid Armature",
    "QuickAccess.bones_count": "Bones: {count}",
    "QuickAccess.pose_bones_available": "Pose bones: Available",
    "QuickAccess.pose_controls": "Pose Controls",
    "QuickAccess.import_export": "Import/Export",
    "QuickAccess.import": "Import",
    "QuickAccess.export": "Export",
    "QuickAccess.export_fbx": "Export FBX",
    "QuickAccess.export_resonite": "Export to Resonite",
    "QuickAccess.start_pose_mode.label": "Start Pose Mode",
    "QuickAccess.start_pose_mode.desc": "Enter pose mode for the selected armature",
    "QuickAccess.stop_pose_mode.label": "Stop Pose Mode",
    "QuickAccess.stop_pose_mode.desc": "Exit pose mode and clear transforms",
    "QuickAccess.apply_pose_as_shapekey.label": "Apply Pose as Shape Key",
    "QuickAccess.apply_pose_as_shapekey.desc": "Create a new shape key from current pose",
    "QuickAccess.apply_pose_as_rest.label": "Apply Pose as Rest",
    "QuickAccess.apply_pose_as_rest.desc": "Apply current pose as rest pose",
    "QuickAccess.apply_armature_failed": "Failed to apply armature modifications",
    "QuickAccess.validation_basic_warning": "Limited Validation Active",
    "QuickAccess.validation_basic_details": "Only essential bone structure is being validated",
    "QuickAccess.validation_none_warning": "Validation Disabled",
    "QuickAccess.validation_none_details": "No armature validation checks are being performed",
    "Quick_Access.import_success": "Import successful",

    "PoseMode.error.start": "Failed to start pose mode: {error}",
    "PoseMode.error.stop": "Failed to stop pose mode: {error}",
    "PoseMode.error.shapekey": "Failed to apply pose as shape key: {error}",
    "PoseMode.error.rest_pose": "Failed to apply pose as rest: {error}",
    "PoseMode.shapekey.name": "Shape Key Name",
    "PoseMode.shapekey.description": "Name for the new shape key",
    "PoseMode.shapekey.default": "Pose_Shapekey",
    "PoseMode.skipped_meshes": "Some meshes were skipped:\n{message}",
    "PoseMode.basis": "Basis",

    "Armature.validation.no_armature": "No armature selected",
    "Armature.validation.pmx_model_detected": "PMX model detected. Japanese bone names may not match standard naming conventions.",
    "Armature.validation.pmx_model_strict": "Consider using the 'Standardize Armature' option to convert Japanese bone names to standard names.",
    "Armature.validation.pmx_model_standardize": "This will make the model compatible with standard avatar systems.",
    "Armature.validation.pmx_model_basic": "PMX models use Japanese bone names which may not match standard naming conventions.",
    "Armature.validation.unknown_format": "Unknown armature format detected.",
    "Validation.mode.none": "Validation is disabled in settings.",
    "Validation.no_messages": "No validation messages available.",
    "Armature.validation.not_armature": "Selected object is not an armature",
    "Armature.validation.no_bones": "Armature has no bones",
    "Armature.validation.basic_check_failed": "Basic armature validation failed",
    "Armature.validation.missing_bones": "Missing essential bones: {bones}",
    "Armature.validation.invalid_hierarchy": "Invalid bone hierarchy between {parent} and {child}",
    "Armature.validation.asymmetric_bones": "Missing symmetric bones for {bone}",
    "Armature.validation.asymmetric_hand_wrist": "Missing symmetric bones for hands/wrists",
    "Armature.validation.found_bones": "Found bones in armature:\n- {bones}",
    "Armature.validation.non_standard_bones": "Non-standard bones found:\n- {bones}",
    "Armature.validation.accessory_bones_note.line1": "If you have hair bones, skirt bones, or other",
    "Armature.validation.accessory_bones_note.line2": "accessorybones named similarly to main armature",
    "Armature.validation.accessory_bones_note.line3": "bones (e.g., Head1, Head2), please rename them to",
    "Armature.validation.accessory_bones_note.line4": "more descriptive names like Hair_1, Skirt_1.",
    "Armature.validation.standardize_note.line1": "You can standardize your armature",
    "Armature.validation.standardize_note.line2": "automatically by using the 'Standardize Armature'",
    "Armature.validation.standardize_note.line3": "button in the Tools section.",
    "Validation.section.found_bones": "Found Bones",
    "Validation.section.non_standard": "Non-Standard Bones",
    "Validation.section.hierarchy": "Hierarchy Issues",
    "Validation.status.failed": "Validation has failed",
    "Validation.message.failed.line1": "Armature validation has failed",
    "Validation.message.failed.line2": "Please check below what the",
    "Validation.message.failed.line3": "issues are",
    "Validation.highlight_problem_bones_desc": "Visually highlight bones that have validation issues in the viewport",
    "Validation.no_armature": "No armature selected",
    "Validation.no_issues": "No validation issues found to highlight",
    "Validation.highlighting_complete": "Problem bones highlighted successfully",
    "Validation.tpose.no_armature": "No armature found for T-pose validation",
    "Validation.tpose.left_arm_not_horizontal": "Left arm is not in a horizontal T-pose position",
    "Validation.tpose.right_arm_not_horizontal": "Right arm is not in a horizontal T-pose position",
    "Validation.tpose.spine_not_vertical": "Spine is not in a vertical position",
    "Validation.tpose.warning": "T-Pose Validation Warning",
    "Validation.tpose.recommendation": "We recommend fixing the T-pose before importing into Unity or other platforms",
    "Validation.scale_issues": "Bones with abnormal scale detected:",
    "Validation.scale_issue.too_small": "Bone is extremely small",
    "Validation.scale_issue.too_large": "Bone is extremely large",
    "Validation.section.scale_issues": "Scale Issues",
    "Validation.tpose.label": "Validate T-Pose",
    "Validation.no_scale_issues": "No scale issues detected",
    "Validation.no_hierarchy_issues": "No hierarchy issues detected",
    "Validation.no_non_standard_issues": "No non-standard bone issues detected",
    "Validation.tpose.valid": "T-Pose validation passed successfully",
    "Validation.tpose.desc": "Check if armature is in a proper T-pose",
    "Validation.highlight_problem_bones": "Highlight Problem Bones",
    "Validation.clear_bone_highlighting": "Clear Bone Highlighting",
    "Validation.clear_bone_highlighting_desc": "Remove bone highlighting and reset bone colors to default",
    "Validation.highlighting_cleared": "Bone highlighting cleared successfully",
    "Validation.label": "Armature Validation",
    "Validation.validate_now": "Validate Armature Now",
    "Validation.validate_now_desc": "Run armature validation and display detailed results",
    "Validation.results": "Validation Results",
    "Validation.tpose.validate_now": "Validate T-Pose Now",

    "Armature.validation.acceptable_standard.success": "Armature meets acceptable standards",
    "Armature.validation.acceptable_standard.note": "This is a valid armature format that is compatible with most avatar systems",
    "Armature.validation.acceptable_standard.option": "You can standardize the armature if desired",

    "Mesh.validation.no_data": "No mesh data",
    "Mesh.validation.no_vertex_groups": "No vertex groups found",
    "Mesh.validation.no_armature_modifier": "No armature modifier",
    "Mesh.validation.valid": "Valid mesh for pose operations",

    "Operation.pose_applied": "Pose applied successfully",

    "Scene.avatar_toolkit_updater_version_list.name": "Version List",
    "Scene.avatar_toolkit_updater_version_list.description": "List of available versions",

    "Optimization.label": "Optimization",
    "Optimization.materials_title": "Materials",
    "Optimization.cleanup_title": "Mesh Cleanup",
    "Optimization.join_meshes_title": "Join Meshes",
    "Optimization.combine_materials": "Combine Materials",
    "Optimization.combine_materials_desc": "Combine similar materials to reduce draw calls",
    "Optimization.remove_doubles": "Remove Doubles",
    "Optimization.remove_doubles_desc": "Remove duplicate vertices safely, keeping shapekeys preserved.",
    "Optimization.join_all_meshes": "Join All",
    "Optimization.join_all_meshes_desc": "Join all meshes in the scene",
    "Optimization.join_selected_meshes": "Join Selected",
    "Optimization.join_selected_meshes_desc": "Join only selected meshes",
    "Optimization.no_meshes": "No meshes found to optimize",
    "Optimization.materials_combined": "Combined {combined} materials, cleaned {cleaned} slots, and removed {removed} unused data blocks",
    "Optimization.error.combine_materials": "Failed to combine materials: {error}",
    "Optimization.materials_total": "Total Materials: {count}",
    "Optimization.materials_duplicates": "Potential Duplicates: {count}",
    "Optimization.no_materials": "No materials found on meshes",
    "Optimization.error.consolidation": "Failed to consolidate materials. Check console for details",
    "Optimization.combining_materials": "Combining similar materials...",
    "Optimization.cleaning_slots": "Cleaning material slots...",
    "Optimization.removing_unused": "Removing unused materials...",
    "Optimization.selecting_meshes": "Selecting meshes...",
    "Optimization.joining_meshes": "Joining meshes...",
    "Optimization.applying_transforms": "Applying transforms...",
    "Optimization.fixing_uvs": "Fixing UV coordinates...",
    "Optimization.finalizing": "Finalizing...",
    "Optimization.meshes_joined": "All meshes joined successfully",
    "Optimization.selected_meshes_joined": "Selected meshes joined successfully",
    "Optimization.no_mesh_selected": "No meshes selected",
    "Optimization.select_at_least_two": "Please select at least two meshes",
    "Optimization.error.join_meshes": "Failed to join meshes: {error}",
    "Optimization.error.join_selected": "Failed to join selected meshes: {error}",
    "Optimization.merge_distance": "Merge Distance",
    "Optimization.merge_distance_desc": "Distance within which vertices will be merged",
    "Optimization.error.remove_doubles": "Failed to remove doubles: {error}",
    "Optimization.no_armature": "No armature selected",
    "Optimization.processing_mesh": "Processing mesh: {name}",
    "Optimization.processing_shapekey": "Processing shape key: {name}",
    "Optimization.remove_doubles_completed": "Remove doubles completed successfully",

    "Tools.label": "Tools",
    "Tools.mesh_title": "Mesh Tools",
    "Tools.general_title": "General Tools",
    "Tools.select_armature": "Select an Armature",
    "Tools.convert_resonite": "Convert to Resonite",
    "Tools.convert_resonite_desc": "Convert model for use in Resonite",
    "Tools.convert_resonite.operation": "Converting to Resonite",
    "Tools.separate_title": "Separation Tools",
    "Tools.separate_materials": "By Materials",
    "Tools.separate_materials_desc": "Separate mesh by materials",
    "Tools.separate_loose": "Loose Parts",
    "Tools.separate_loose_desc": "Separate mesh into loose parts",
    "Tools.separate_materials_success": "Mesh separated by materials successfully",
    "Tools.separate_loose_success": "Mesh separated into loose parts successfully",
    "Tools.bone_title": "Bone Tools",
    "Tools.create_digitigrade": "Create Digitigrade Legs",
    "Tools.create_digitigrade_desc": "Convert legs to digitigrade setup",
    "Tools.digitigrade": "Create Digitigrade Legs",
    "Tools.digitigrade_desc": "Convert selected leg bones to digitigrade setup",
    "Tools.digitigrade_error": "Failed to create digitigrade legs: {error}",
    "Tools.digitigrade_success": "Successfully created digitigrade leg setup",
    "Tools.processing_leg": "Processing leg bone: {bone}",
    "Tools.merge_twist_bones": "Keep Twist Bones",
    "Tools.merge_twist_bones_desc": "When checked, twist bones will be kept, even if there are zero-weight",
    "Tools.clean_weights": "Remove Zero Weight Bones",
    "Tools.clean_weights_desc": "Remove bones with no vertex weights",
    "Tools.clean_vertex_groups": "Remove Unused Vertex Groups",
    "Tools.clean_vertex_groups_desc": "Remove vertex groups on meshes assigned to no vertices.",
    "Tools.preserve_parent_bones": "Preserve Parent Bones",
    "Tools.preserve_parent_bones_desc": "Keep bones that have children even if they have no weights",
    "Tools.target_bone_type": "Target Bone Type",
    "Tools.target_bone_type_desc": "Filter which types of bones to process",
    "Tools.target_all_bones": "All Bones",
    "Tools.target_deform_bones": "Deform Bones Only",
    "Tools.target_non_deform_bones": "Non-Deform Bones Only",
    "Tools.list_only_mode": "List Mode Only",
    "Tools.list_only_mode_desc": "List zero weight bones instead of removing them",
    "Tools.zero_weight_bones_found": "Zero weight bones found: {bones}",
    "Tools.remove_selected_bones": "Remove Selected Bones",
    "Tools.remove_selected_bones_desc": "Remove selected zero weight bones from armature",
    "Tools.flip_pose_frames": "Flip Selected Armature Key Frames",
    "Tools.flip_pose_frames_desc": "Takes the selected keyframes and sets them to a mirrored pose, gotten from the opposite side of the armature on that frame.\nSelecting the entire animation's keyframes will flip the entire animation.",
    "Tools.bones_removed": "Removed {count} bones",
    "Tools.vertex_groups_removed": "Removed {count} vertex groups.",
    "Tools.clean_constraints": "Delete Bone Constraints",
    "Tools.clean_constraints_desc": "Remove all bone constraints from armature",
    "Tools.clean_constraints_success": "Removed {count} bone constraints",
    "Tools.processing_bone_constraints": "Removing constraints from bone: {bone}",
    "Tools.clean_weights_success": "Removed {count} zero-weight bones",
    "Tools.clean_weights_threshold": "Weight Threshold",
    "Tools.clean_weights_threshold_desc": "Minimum weight value to consider a bone as weighted",
    "Tools.find_shortest_seam_path": "Find Shortest Seam Path",
    "Tools.find_shortest_seam_path_desc": "Find shortest path of seams between two selected vertices connected to seams.",
    "Tools.explode_mesh":"Explode Mesh for Painting",
    "Tools.explode_mesh_desc": "Explodes the mesh for use with painting programs, or painting inside blender.",
    "Tools.explode_mesh.distance": "Distance",
    "Tools.explode_mesh.distance_desc": "Scale factor for distance between exploded items on model.",
    "Tools.explode_mesh.split_on_seams_desc":"Split model on UV seams to separate islands from each other.",
    "Tools.explode_mesh.split_on_seams":"Split on Seams",
    "Tools.shapekey_to_basis.label":"Apply Selected Shapekey to Basis",
    "Tools.shapekey_to_basis.desc":"Applies the selected shape key to the new Basis at it's current strength and creates a reverted shape key from the selected one.",
    "ShapeKeyApplier.error.recursiveRelativeToLoop":"Shapekey \"{name}\" is recursively relative to itself, so cannot be applied to the Basis",
    "ShapeKeyApplier.successRemoved":"Successfully removed shapekey \"{name}\" from the Basis.",
    "ShapeKeyApplier.successSet":"Successfully applied shapekey \"{name}\" to the Basis.",
    "Tools.apply_modifier_on_shapekey_obj":"Apply Modifier on Shapekey Object",
    "Tools.apply_modifier_on_shapekey_obj_desc":"Applies a modifier on an object regardless of it having shapekeys.",
    "Tools.merge_title": "Merge Tools",
    "Tools.merge_to_active": "Merge to Active",
    "Tools.merge_to_active_desc": "Merge selected bones to active bone",
    "Tools.merge_to_parent": "Merge to Parent",
    "Tools.merge_to_parent_desc": "Merge bones to their respective parents",
    "Tools.connect_bones": "Connect Bones",
    "Tools.connect_bones_desc": "Connect disconnected bones in chain",
    "Tools.additional_title": "Additional Tools",
    "Tools.apply_transforms": "Apply Transforms",
    "Tools.apply_transforms_desc": "Apply all transformations to objects",
    "Tools.clean_shapekeys": "Remove Unused Shapekeys",
    "Tools.clean_shapekeys_desc": "Remove unused shape keys from meshes",
    "Tools.bones_translated_success": "All bones translated successfully",
    "Tools.bones_translated_with_fails": "Translation completed with {translate_bone_fails} untranslated bones",
    "Tools.storing_transforms": "Storing bone transforms...",
    "Tools.analyzing_weights": "Analyzing vertex weights...",
    "Tools.removing_bones": "Removing unweighted bones...",
    "Tools.verifying_hierarchy": "Verifying bone hierarchy...",
    "Tools.connect_bones_min_distance": "Minimum Distance",
    "Tools.connect_bones_min_distance_desc": "Minimum distance between bones to attempt connection",
    "Tools.connect_bones_success": "Connected {count} bones",
    "Tools.merge_weights_threshold": "Weight Transfer Threshold",
    "Tools.merge_weights_threshold_desc": "Minimum weight value to transfer when merging bones",
    "Tools.no_bones_selected": "No bones selected to merge",
    "Tools.no_bones_with_parent": "No selected bones with parents found",
    "Tools.merge_to_active_success": "Successfully merged {count} bones to active bone",
    "Tools.merge_to_parent_success": "Successfully merged {count} bones to their parents",
    "Tools.transforms_applied": "Transforms applied successfully",
    "Tools.shapekey_tolerance": "Shape Key Tolerance",
    "Tools.shapekey_tolerance_desc": "Minimum difference to consider a shape key as used",
    "Tools.shapekeys_removed": "Removed {count} unused shape keys",
    "Tools.rigify_title": "Rigify Tools",
    "Tools.convert_rigify_to_unity": "Convert Rigify to Unity",
    "Tools.convert_rigify_to_unity_desc": "Convert Rigify armature to Unity-compatible format",
    "Tools.rigify_converted": "Rigify armature converted successfully",
    "Tools.no_armature": "No armature selected",
    "Tools.standardize_title": "Standardization",
    "Tools.standardize_armature": "Standardize Armature",
    "Tools.standardize_armature_desc": "Convert non-standard armature to Avatar Toolkit standards",
    "Tools.standardize_fix_names": "Fix Bone Names",
    "Tools.standardize_fix_names_desc": "Rename bones to match standard naming conventions",
    "Tools.standardize_fix_hierarchy": "Fix Bone Hierarchy",
    "Tools.standardize_fix_hierarchy_desc": "Correct parent-child relationships between bones",
    "Tools.standardize_fix_scale": "Fix Bone Scale",
    "Tools.standardize_fix_scale_desc": "Normalize bone lengths to fix scale issues",
    "Tools.standardize_warning": "This operation will modify your armature. Make a backup first!",
    "Tools.standardize_success": "Armature successfully standardized",
    "Tools.standardize_partial": "Armature partially standardized. Some issues remain.",
    "Tools.standardize_already_valid": "Armature already meets standards. No changes needed.",
    "Tools.standardize_issues_title": "Standardization Issues",
    "Tools.standardize_issues_header": "Some issues still remain after standardization",
    "Tools.standardize_issues_line1": "This could be because some bones on your avatar have unique names",
    "Tools.standardize_issues_line2": "that aren't in our list of recognized non-standard bones.",
    "Tools.standardize_issues_line3": "For example, if your hips bone is named 'THISISMYHIPS', we can't detect it.",
    "Tools.standardize_issues_line4": "If your main skeleton bones aren't being recognized, please report this",
    "Tools.standardize_issues_line5": "on our GitHub so we can add them to our database.",
    "Tools.standardize_issues_line6": "Accessory bones (hair, clothing, etc.) must be renamed manually.",

    "UVTools.uv_title": "UV Tools",
    "UVTools.too_many_vertices": "Error! You have too much stuff selected. Are you sure you're selecting two edges?",
    "UVTools.need_line": "You need one line of selected UV points per selected object. Object \"{obj}\" does not meet this requirement!",
    "UVTools.align_edges": "Align UV Edges to Target",
    "UVTools.align_edges_desc": "Aligns a selected line of UV points on each selected mesh to the line of selected UV points on the active mesh. Useful for kitbashing textures of one model onto another. Uses distance from the 2D cursor to identify the start of the line of UV points on each mesh.",

    "Visemes.panel_label": "Visemes",
    "Visemes.shape_selection": "Shape Key Selection",
    "Visemes.controls": "Viseme Controls",
    "Visemes.no_shapekeys": "Select a mesh with shape keys",
    "Visemes.mouth_a": "A Shape",
    "Visemes.mouth_a_desc": "Shape key for 'A' sound",
    "Visemes.mouth_o": "O Shape", 
    "Visemes.mouth_o_desc": "Shape key for 'O' sound",
    "Visemes.mouth_ch": "CH Shape",
    "Visemes.mouth_ch_desc": "Shape key for 'CH' sound",
    "Visemes.shape_intensity": "Shape Intensity",
    "Visemes.shape_intensity_desc": "Intensity multiplier for viseme shapes",
    "Visemes.start_preview": "Start Preview",
    "Visemes.stop_preview": "Stop Preview",
    "Visemes.preview_mode_desc": "Toggle viseme preview mode",
    "Visemes.preview_selection": "Preview Selection",
    "Visemes.preview_selection_desc": "Select viseme to preview",
    "Visemes.preview_label": "Preview Visemes",
    "Visemes.preview_desc": "Preview viseme shapes in viewport",
    "Visemes.create_label": "Create Visemes",
    "Visemes.create_desc": "Create VRC viseme shape keys",
    "Visemes.error.no_shapekeys": "Mesh has no shape keys",
    "Visemes.error.select_shapekeys": "Please select shape keys for A, O and CH",
    "Visemes.success": "Visemes created successfully",
    "Visemes.mesh_select": "Select Mesh",
    "Visemes.mesh_select_desc": "Select the mesh to create visemes on",
    "Visemes.no_meshes": "No meshes found",

    "EyeTracking.label": "Eye Tracking",
    "EyeTracking.setup": "Eye Tracking Setup",
    "EyeTracking.mesh_select": "Mesh Selection",
    "EyeTracking.bones": "Bone Selection",
    "EyeTracking.head_bone": "Head Bone",
    "EyeTracking.eye_left": "Left Eye Bone",
    "EyeTracking.eye_right": "Right Eye Bone",
    "EyeTracking.shapekeys": "Shape Key Selection",
    "EyeTracking.options": "Options",
    "EyeTracking.rotation": "Eye Rotation",
    "EyeTracking.rotation.x": "Vertical Rotation",
    "EyeTracking.rotation.y": "Horizontal Rotation",
    "EyeTracking.adjust": "Eye Adjustments",
    "EyeTracking.blinking": "Blinking Controls",
    "EyeTracking.no_shapekeys": "No shape keys found on selected mesh",
    "EyeTracking.no_armature": "No armature selected",
    "EyeTracking.no_mesh": "No mesh found",
    "EyeTracking.create.label": "Create Eye Tracking",
    "EyeTracking.create.desc": "Set up eye tracking bones and shape keys",
    "EyeTracking.testing.start.label": "Start Testing",
    "EyeTracking.testing.start.desc": "Enter eye tracking test mode",
    "EyeTracking.testing.stop.label": "Stop Testing",
    "EyeTracking.testing.stop.desc": "Exit eye tracking test mode",
    "EyeTracking.reset.label": "Reset Eye Tracking",
    "EyeTracking.reset.desc": "Reset all eye tracking settings",
    "EyeTracking.rotate.label": "Rotate Eye Bones",
    "EyeTracking.rotate.desc": "Rotate eye bones for VRChat compatibility",
    "EyeTracking.iris.label": "Adjust Iris Height",
    "EyeTracking.iris.desc": "Adjust the height of iris vertices",
    "EyeTracking.blink.test.label": "Test Blink",
    "EyeTracking.blink.test.desc": "Test eye blinking shape keys",
    "EyeTracking.lowerlid.test.label": "Test Lower Lid",
    "EyeTracking.lowerlid.test.desc": "Test lower lid shape keys",
    "EyeTracking.blink.reset.label": "Reset Blink Test",
    "EyeTracking.blink.reset.desc": "Reset blink testing values",
    "EyeTracking.validation.noArmature": "No armature found in scene",
    "EyeTracking.validation.noMesh": "Mesh '{mesh}' not found",
    "EyeTracking.validation.noShapekeys": "Selected mesh has no shape keys",
    "EyeTracking.validation.leftEye": "Left Eye",
    "EyeTracking.validation.rightEye": "Right Eye",
    "EyeTracking.validation.missingGroups": "Missing vertex groups: {groups}",
    "EyeTracking.validation.missingBones": "Missing required bones: {bones}",
    "EyeTracking.validation.success": "Eye tracking setup validated successfully",
    "EyeTracking.error.noMesh": "No mesh selected for eye tracking",
    "EyeTracking.error.noVertexGroup": "No vertex group found for bone: {bone}",
    "EyeTracking.error.noShapeSelected": "Please select all required shape keys",
    "EyeTracking.success": "Eye tracking setup completed successfully",
    "EyeTracking.mode_select": "Mode Selection",
    "EyeTracking.mesh_setup": "Mesh Setup",
    "EyeTracking.bone_setup": "Bone Setup",
    "EyeTracking.shapekey_setup": "Shape Key Setup",
    "EyeTracking.testing": "Testing Mode",
    "EyeTracking.rotation_controls": "Eye Rotation Controls",
    "EyeTracking.adjustments": "Eye Adjustments",
    "EyeTracking.blink_testing": "Blink Testing",
    "EyeTracking.wink_left": "Left Wink",
    "EyeTracking.wink_right": "Right Wink",
    "EyeTracking.lowerlid_left": "Left Lower Lid",
    "EyeTracking.lowerlid_right": "Right Lower Lid",
    "EyeTracking.mode.creation": "Creation Mode",
    "EyeTracking.mode.testing": "Testing Mode",
    "EyeTracking.disable_blinking": "Disable Eye Blinking",
    "EyeTracking.disable_movement": "Disable Eye Movement",
    "EyeTracking.distance": "Eye Distance",
    "EyeTracking.distance_desc": "Adjust the distance between eyes",
    "EyeTracking.mode": "Eye Tracking Mode",
    "EyeTracking.mesh_name": "Mesh",
    "EyeTracking.mesh_name_desc": "Select mesh for eye tracking",
    "EyeTracking.head_bone_desc": "Select head bone",
    "EyeTracking.eye_left_desc": "Select left eye bone",
    "EyeTracking.eye_right_desc": "Select right eye bone",
    "EyeTracking.type": "Eye Tracking Type",
    "EyeTracking.type_desc": "Select the type of eye tracking setup to create",
    "EyeTracking.create.av3.label": "Create AV3 Eye Tracking",
    "EyeTracking.create.av3.desc": "Set up eye tracking for VRChat Avatar 3.0",
    "EyeTracking.create.sdk2.label": "Create SDK2 Eye Tracking", 
    "EyeTracking.create.sdk2.desc": "Set up eye tracking for VRChat SDK2",
    "EyeTracking.sdk_version": "SDK Version",
    "EyeTracking.type.av3": "Avatar 3.0",
    "EyeTracking.type.av3_desc": "VRChat Avatar 3.0 eye tracking setup",
    "EyeTracking.type.sdk2": "Legacy (ChilloutVR",
    "EyeTracking.type.sdk2_desc": "Legacy (SDK2) eye tracking setup",
    "EyeTracking.adjust.label": "Adjust Eye Position",
    "EyeTracking.adjust.desc": "Adjust the position of eye bones based on vertex groups",
    "EyeTracking.sdk2_warning": "Legacy (SDK2) Eye Tracking Notice",
    "EyeTracking.sdk2_warning_detail1": "This system SHOULD NOT BE USED FOR VRChat,",
    "EyeTracking.sdk2_warning_detail2": "as eye tracking is now configured directly",
    "EyeTracking.sdk2_warning_detail3": "in Unity. It remains for other platforms.",
    "EyeTracking.sdk2_warning_detail4": "like ChilloutVR.",

    "CustomPanel.label": "Custom Avatar Tools",
    "CustomPanel.merge_mode": "Merge Mode",
    "CustomPanel.mesh_selection": "Mesh Selection",
    "CustomPanel.select_mesh": "Select Mesh",
    "CustomPanel.select_bone": "Select Bone",
    "CustomPanel.select_armature": "Select Armature",
    "CustomPanel.mode.armature": "Armature",
    "CustomPanel.mode.armature_desc": "Merge armatures together",
    "CustomPanel.mode.mesh": "Mesh",
    "CustomPanel.mode.mesh_desc": "Attach meshes to armature",

    "AttachMesh.label": "Attach Mesh",
    "AttachMesh.desc": "Attach a mesh to an armature bone with automatic weight setup",
    "AttachMesh.search_desc": "Search for meshes to attach",
    "AttachMesh.select": "Select Mesh to Attach",
    "AttachMesh.select_desc": "Choose a mesh to attach to the armature",
    "AttachMesh.success": "Mesh attached successfully",
    "AttachMesh.warn_no_armature": "Select an armature and mesh to attach",
    "AttachMesh.validate_transforms": "Validating mesh transforms",
    "AttachMesh.validate_name": "Validating mesh name",
    "AttachMesh.parent_mesh": "Parenting mesh to armature",
    "AttachMesh.setup_weights": "Setting up vertex weights",
    "AttachMesh.create_bone": "Creating attachment bone",
    "AttachMesh.position_bone": "Positioning bone",
    "AttachMesh.add_modifier": "Adding armature modifier",
    "AttachMesh.error.bone_not_found": "Attach bone '{bone}' not found",
    "AttachMesh.error.mesh_not_found": "Mesh not found",
    "AttachMesh.error.non_uniform_scale": "Mesh has non-uniform scale. Please apply scale",
    "AttachBone.search_desc": "Search for target bone",
    "AttachBone.select": "Select Target Bone",
    "AttachBone.select_desc": "Choose the bone to attach the mesh to",

    "MergeArmature.label": "Merge Armatures",
    "MergeArmature.desc": "Merge two armatures together",
    "MergeArmature.options": "Merge Options",
    "MergeArmature.warn_two": "Need at least two armatures to merge",
    "MergeArmature.into": "Merge Into",
    "MergeArmature.into_desc": "Target armature to merge into",
    "MergeArmature.into_search_desc": "Search for target armature",
    "MergeArmature.from": "Merge From",
    "MergeArmature.from_desc": "Source armature to merge from",
    "MergeArmature.from_search_desc": "Search for source armature",
    "MergeArmature.error.not_found": "Armature '{name}' not found",
    "MergeArmature.error.transforms_not_aligned": "Transforms must be applied to merge this armature, either do this via the manual method or via apply transform checkmark",
    "MergeArmature.error.check_transforms": "Please check parent transformations",
    "MergeArmature.error.fix_parents": "Please fix parent relationships",
    "MergeArmature.progress.removing_rigidbodies": "Removing rigid bodies and joints",
    "MergeArmature.progress.validating": "Validating armatures",
    "MergeArmature.progress.merging": "Merging armatures",
    "MergeArmature.success": "Armatures merged successfully",
    "MergeArmature.merge_all": "Merge Same Bones",
    "MergeArmature.merge_all_desc": "Merge bones with matching names",
    "MergeArmature.apply_transforms": "Apply Transforms",
    "MergeArmature.apply_transforms_desc": "Apply all transformations before merging",
    "MergeArmature.join_meshes": "Join Meshes",
    "MergeArmature.join_meshes_desc": "Join meshes after merging",
    "MergeArmature.remove_zero_weights": "Remove Zero Weights",
    "MergeArmature.remove_zero_weights_desc": "Remove vertex groups with no weights",
    "MergeArmature.cleanup_shape_keys": "Clean Shape Keys",
    "MergeArmature.cleanup_shape_keys_desc": "Remove unused shape keys",

    "TextureAtlas.atlas_completed": "Texture atlas creation completed",
    "TextureAtlas.atlas_error": "An error occurred during texture atlas creation",
    "TextureAtlas.atlas_materials": "Atlas Materials",
    "TextureAtlas.atlas_materials_desc": "Atlas materials to optimize the model",
    "TextureAtlas.label": "Texture Atlasing",
    "TextureAtlas.loaded_list": "Loaded Texture Atlas Material List",
    "TextureAtlas.material_list_label": "Texture Atlas Material List Material",
    "TextureAtlas.reload_list": "Reload Texture Atlas Material List",
    "TextureAtlas.error.label": "ERROR",
    "TextureAtlas.none.label": "None",
    "TextureAtlas.no_nodes_error.desc": "THIS MATERIAL DOES NOT USE NODES!",
    "TextureAtlas.no_images_error.desc": "THIS MATERIAL HAS NO IMAGES!",
    "TextureAtlas.texture_use_atlas.desc": "The texture that will be used for the {name} map atlas",
    "TextureAtlas.albedo": "Albedo",
    "TextureAtlas.normal": "Normal",
    "TextureAtlas.emission": "Emission",
    "TextureAtlas.ambient_occlusion": "Ambient Occlusion",
    "TextureAtlas.height": "Height",
    "TextureAtlas.roughness": "Roughness",
    "TextureAtlas.description_1": "Create a single material with combined textures",
    "TextureAtlas.description_2": "to optimize your avatar for better performance.",
    "TextureAtlas.texture_maps": "Texture Maps",
    "TextureAtlas.material_ready": "Material is ready for atlas",
    "TextureAtlas.material_not_ready": "Material needs at least one texture",
    "TextureAtlas.select_all_tooltip": "Select all materials for atlas",
    "TextureAtlas.select_none_tooltip": "Deselect all materials",
    "TextureAtlas.expand_all_tooltip": "Expand all material settings",
    "TextureAtlas.collapse_all_tooltip": "Collapse all material settings",
    "TextureAtlas.estimated_size": "Estimated Atlas Size",
    "TextureAtlas.materials": "materials",
    "TextureAtlas.no_materials_selected": "No materials selected",
    "TextureAtlas.select_armature_first": "Please select an armature first",
    "TextureAtlas.how_to_use_1": "1. Select an armature in the scene",
    "TextureAtlas.how_to_use_2": "2. Click 'Load Materials' to begin",
    "TextureAtlas.load_error": "Error loading materials. Check console for details.",
    "TextureAtlas.material_not_included": "Material is not included in atlas",
    "TextureAtlas.save_file_first": "Please save your Blender file before creating a texture atlas",
    "TextureAtlas.save_file_instructions": "Use File > Save As... or click the button below:",
    "TextureAtlas.save_file_button": "Save Blender File",
    "TextureAtlas.save_file_required": "Save File Required",
    "TextureAtlas.search_materials": "Search Materials",
    "TextureAtlas.search_materials_desc": "Filter materials by name",

    "Settings.label": "Settings",
    "Settings.language": "Language",
    "Settings.language_desc": "Select interface language",
    "Settings.validation_mode": "Validation Mode",
    "Settings.validation_mode_desc": "Choose how strictly to validate armatures",
    "Settings.validation_mode.strict": "Strict",
    "Settings.validation_mode.strict_desc": "Full validation including bone hierarchy and symmetry",
    "Settings.validation_mode.basic": "Basic",
    "Settings.validation_mode.basic_desc": "Essential bones check only",
    "Settings.validation_mode.none": "None",
    "Settings.validation_mode.none_desc": "No armature validation",
    "Settings.debug": "Debug Settings",
    "Settings.logging": "Logging",
    "Settings.enable_logging": "Enable Debug Logging",
    "Settings.enable_logging_desc": "Enable detailed debug logging for troubleshooting",
    "Settings.logging_enabled": "Debug logging enabled",
    "Settings.logging_disabled": "Debug logging disabled",
    "Settings.highlight_problem_bones": "Highlight Problem Bones",
    "Settings.highlight_problem_bones_desc": "Highlight bones with validation issues in the viewport",
    "Settings.bone_highlighting": "Bone Highlighting",
    "Settings.log_level": "Log Level",
    "Settings.log_level_desc": "Select the detail level for debug logging",
    "Settings.log_level.debug": "Debug",
    "Settings.log_level.debug_desc": "Show all log messages including detailed debug information",
    "Settings.log_level.info": "Info",
    "Settings.log_level.info_desc": "Show informational messages, warnings and errors",
    "Settings.log_level.warning": "Warning",
    "Settings.log_level.warning_desc": "Show only warnings and errors",
    "Settings.log_level.error": "Error",
    "Settings.log_level.error_desc": "Show only error messages",
    "Language.auto": "Automatic",
    "Language.en_US": "English",
    "Language.ja_JP": "Japanese",
    "Language.ko_KR": "Korean",
    "Language.changed.title": "Language Changed",
    "Language.changed.success": "Language changed successfully!",
    "Language.changed.restart": "Some UI elements may require restarting Blender",

    "VRM.panel.label": "VRM to Unity",
    "VRM.converter.title": "VRM Converter",
    "VRM.no_armature_selected": "No armature selected",
    "VRM.select_armature_to_convert": "Select an armature to convert",
    "VRM.armature_name": "Armature: {name}",
    "VRM.armature_detected": "VRM armature detected",
    "VRM.no_vrm_bones_detected": "No VRM bones detected",
    "VRM.remove_colliders": "Remove Colliders",
    "VRM.remove_root_bone": "Remove Root Bone",
    "VRM.convert_to_unity_format": "Convert to Unity Format",
    "VRM.convert_to_unity.label": "Convert VRM to Unity",
    "VRM.convert_to_unity.desc": "Convert VRM armature bone names to Unity humanoid naming convention",
    "VRM.conversion_info.title": "Conversion Info:",
    "VRM.conversion_info.renames_bones": "• Renames VRM bones to Unity format",
    "VRM.conversion_info.removes_colliders": "• Removes collider bones (optional)",
    "VRM.conversion_info.removes_root": "• Removes root bone, makes Hips root (optional)",
    "VRM.conversion_info.maintains_hierarchy": "• Maintains bone hierarchy",
    "VRM.conversion_info.validates_results": "• Validates conversion results",
    "VRM.conversion_info.preserves_animations": "• Preserves all animations",
    "VRM.detection_failed.title": "VRM Detection Failed:",
    "VRM.detection_failed.not_vrm_format": "• Selected armature is not VRM format",
    "VRM.detection_failed.bones_start_with": "• VRM bones start with 'J_Bip_C_'",
    "VRM.detection_failed.need_five_bones": "• Need at least 5 VRM bones detected",
    "VRM.detection_failed.check_bone_names": "• Check armature bone names",
    "VRM.validation.hierarchy_passed": "Unity hierarchy validation passed",
    "VRM.validation.hierarchy_issues": "Conversion completed but hierarchy validation found issues:",
    "VRM.validation.armature_passed": "Armature passes standard validation",
    "VRM.validation.failed": "Conversion completed but validation failed: {error}",
    "VRM.remove_colliders_desc": "Remove VRM collider bones during conversion",
    "VRM.remove_root": "Remove Root Bone", 
    "VRM.remove_root_desc": "Remove unnecessary VRM root bone and make Hips the root bone",

    "Translation.label": "Translation",
    "Translation.service": "Translation Service",
    "Translation.service_desc": "Choose the translation service to use",
    "Translation.mode": "Translation Mode",
    "Translation.mode_desc": "Select how translation should work",
    "Translation.mode.hybrid": "Hybrid (Dictionary + API)",
    "Translation.mode.hybrid_desc": "Try dictionary first, then use API service as fallback",
    "Translation.mode.dictionary_only": "Dictionary Only",
    "Translation.mode.dictionary_only_desc": "Only use built-in dictionaries for translation",
    "Translation.mode.api_only": "API Only",
    "Translation.mode.api_only_desc": "Only use online translation services",
    "Translation.service_settings": "Translation Service",
    "Translation.language_settings": "Language Settings",
    "Translation.quick_actions": "Quick Actions",
    "Translation.utilities": "Utilities",
    "Translation.advanced_settings": "Advanced Settings",
    "Translation.source_language": "Source Language",
    "Translation.source_language_desc": "Language to translate from",
    "Translation.target_language": "Target Language", 
    "Translation.target_language_desc": "Language to translate to",
    "Translation.translate_names": "Translate Names",
    "Translation.translate_names_desc": "Translate names using the selected service and settings",
    "Translation.test_service": "Test Service",
    "Translation.test_service_desc": "Test the currently selected translation service",
    "Translation.clear_cache": "Clear Cache",
    "Translation.clear_cache_desc": "Clear all cached translations",
    "Translation.show_stats": "Show Statistics",
    "Translation.show_stats_desc": "Show translation statistics and information",
    "Translation.no_armature": "No armature selected",
    "Translation.test_failed": "Translation service test failed - check configuration", 
    "Translation.cache_cleared": "Translation cache cleared successfully",
    "Translation.mymemory_info": "MyMemory is completely free with no API key required. Provides 1000 translations per day.",
    "Translation.service.mymemory": "MyMemory (Free)",
    "Translation.service.mymemory_desc": "Completely free service - no API key needed!",
    "Translation.service.libretranslate": "LibreTranslate", 
    "Translation.service.libretranslate_desc": "Configurable server - can be self-hosted",
    "Translation.service.deepl": "DeepL",
    "Translation.service.deepl_desc": "High-quality translations - API key required",
    "Translation.type.bones": "Bones",
    "Translation.type.bones_desc": "Translate bone names",
    "Translation.type.shapekeys": "Shape Keys", 
    "Translation.type.shapekeys_desc": "Translate shape key names",
    "Translation.type.materials": "Materials",
    "Translation.type.materials_desc": "Translate material names",
    "Translation.type.objects": "Objects",
    "Translation.type.objects_desc": "Translate object names", 
    "Translation.type.all": "All",
    "Translation.type.all_desc": "Translate all supported types",
    "Translation.configure_deepl": "Configure DeepL API",
    "Translation.configure_deepl_desc": "Configure DeepL translation service API key",
    "Translation.deepl_api_key": "DeepL API Key",
    "Translation.deepl_api_key_desc": "Your DeepL API key (get free key at deepl.com/pro)",
    "Translation.configure_libretranslate": "Configure LibreTranslate Server",
    "Translation.configure_libretranslate_desc": "Configure LibreTranslate translation service server URL",
    "Translation.server_url": "Server URL", 
    "Translation.server_url_desc": "LibreTranslate server URL (e.g., https://your-server.com)",
    "Translation.api_key": "API Key",
    "Translation.api_key_desc": "API key for LibreTranslate server (optional for some servers)"
    
 }
}
