en: run CleanJSON against en.json

This commit is contained in:
bredo 2025-08-05 17:40:29 +12:00
parent b66896ef8a
commit 03003b4eba

206
en.json
View file

@ -97,9 +97,9 @@
"Interaction.Grab.Precision": "Grab: Precision", "Interaction.Grab.Precision": "Grab: Precision",
"Interaction.Grab.Auto": "Grab: Auto", "Interaction.Grab.Auto": "Grab: Auto",
"Interaction.Grab.Off": "Grab: Laser Only", "Interaction.Grab.Off": "Grab: Laser Only",
"Interaction.Grabbing" : "Grabbing", "Interaction.Grabbing": "Grabbing",
"Interaction.Grab.StickyGrab" : "Sticky Grab", "Interaction.Grab.StickyGrab": "Sticky Grab",
"Interaction.Grab.HoldToHold" : "Hold to hold", "Interaction.Grab.HoldToHold": "Hold to hold",
"Interaction.Locomotion": "Locomotion", "Interaction.Locomotion": "Locomotion",
"Interaction.Locomotion.None": "None", "Interaction.Locomotion.None": "None",
@ -676,20 +676,20 @@
"Contacts.SearchResult": "Search Result", "Contacts.SearchResult": "Search Result",
"Contacts.Bot": "Bot account", "Contacts.Bot": "Bot account",
"Contacts.Migrated": "Contact hasn't Migrated", "Contacts.Migrated": "Contact hasn't Migrated",
"Contacts.IncompatibleSession" : "Incompatible session", "Contacts.IncompatibleSession": "Incompatible session",
"Contacts.AskToJoin" : "<color=hero.yellow>Ask</color> to Join", "Contacts.AskToJoin": "<color=hero.yellow>Ask</color> to Join",
"Contacts.InviteRequest.UserWantsToJoin" : "{username} would like to join you", "Contacts.InviteRequest.UserWantsToJoin": "{username} would like to join you",
"Contacts.InviteRequest.UserWantsToInviteAnother" : "\"{requestingUser}\" wants to invite \"{userToInvite}\" to \"{sessionName}\"", "Contacts.InviteRequest.UserWantsToInviteAnother": "\"{requestingUser}\" wants to invite \"{userToInvite}\" to \"{sessionName}\"",
"Contacts.InviteRequest.GrantInvite" : "Grant Invite (one time)", "Contacts.InviteRequest.GrantInvite": "Grant Invite (one time)",
"Contacts.InviteRequest.AddAsContact" : "Add \"{username}\" as contact", "Contacts.InviteRequest.AddAsContact": "Add \"{username}\" as contact",
"Contacts.InviteRequest.AddAsContactOfHeadless" : "Add \"{username}\" as contact of the headless", "Contacts.InviteRequest.AddAsContactOfHeadless": "Add \"{username}\" as contact of the headless",
"Contacts.InviteRequest.AddHostAsContact" : "Add \"{username}\" (host) as contact", "Contacts.InviteRequest.AddHostAsContact": "Add \"{username}\" (host) as contact",
"Contacts.InviteRequest.HostIsUnregistered" : "Host is unregistered user", "Contacts.InviteRequest.HostIsUnregistered": "Host is unregistered user",
"Contacts.InviteRequest.ForwardToHost" : "Forward to host: {username}", "Contacts.InviteRequest.ForwardToHost": "Forward to host: {username}",
"Contacts.InviteRequest.SentRequest" : "Requested invite", "Contacts.InviteRequest.SentRequest": "Requested invite",
"Contacts.InviteRequest.ForwardedRequest" : "Forwarded invite request from \"{username}\" to session \"{sessionName}\"", "Contacts.InviteRequest.ForwardedRequest": "Forwarded invite request from \"{username}\" to session \"{sessionName}\"",
"Contacts.InviteRequest.GrantedRequest" : "Granted \"{username}\" invite to session \"{sessionName}\"", "Contacts.InviteRequest.GrantedRequest": "Granted \"{username}\" invite to session \"{sessionName}\"",
"Notifications.IsSociable": "Is sociable, poke or invite them!", "Notifications.IsSociable": "Is sociable, poke or invite them!",
"Notifications.IsOnline": "Is now Online", "Notifications.IsOnline": "Is now Online",
@ -867,10 +867,10 @@
"Tools.RigTransfer.Name": "Rig Mesh Transfer Tool", "Tools.RigTransfer.Name": "Rig Mesh Transfer Tool",
"Tools.RigTransfer.ClearSource": "Clear source", "Tools.RigTransfer.ClearSource": "Clear source",
"Tools.GaussianSplat.Name" : "Gaussian Splat Tool", "Tools.GaussianSplat.Name": "Gaussian Splat Tool",
"Tools.GaussianSplat.ClipBox" : "Clip Box", "Tools.GaussianSplat.ClipBox": "Clip Box",
"Tools.GaussianSplat.ClipSphere" : "Clip Sphere", "Tools.GaussianSplat.ClipSphere": "Clip Sphere",
"Tools.GaussianSplat.ClipCylinder" : "Clip Cylinder", "Tools.GaussianSplat.ClipCylinder": "Clip Cylinder",
"Tools.ComponentClone.Name": "Component Clone Tool", "Tools.ComponentClone.Name": "Component Clone Tool",
"Tools.ComponentClone.SingleInstanceOn": "Single Instance: On", "Tools.ComponentClone.SingleInstanceOn": "Single Instance: On",
@ -1090,19 +1090,19 @@
"Importer.Splat.Progress.ConvertingSplats": "Converted {converted} splats out of {total}", "Importer.Splat.Progress.ConvertingSplats": "Converted {converted} splats out of {total}",
"Importer.Splat.Progress.EncodingData": "Encoding converted data", "Importer.Splat.Progress.EncodingData": "Encoding converted data",
"GaussianSplat.Encoding.Title" : "Encoding Gaussian Splat", "GaussianSplat.Encoding.Title": "Encoding Gaussian Splat",
"GaussianSplat.Encoding.Metadata" : "Encoding metadata", "GaussianSplat.Encoding.Metadata": "Encoding metadata",
"GaussianSplat.Encoding.EncodingPositions" : "Encoding positions {encoded} of {total}", "GaussianSplat.Encoding.EncodingPositions": "Encoding positions {encoded} of {total}",
"GaussianSplat.Encoding.EncodingRotations" : "Encoding rotations {encoded} of {total}", "GaussianSplat.Encoding.EncodingRotations": "Encoding rotations {encoded} of {total}",
"GaussianSplat.Encoding.EncodingScales" : "Encoding scales {encoded} of {total}", "GaussianSplat.Encoding.EncodingScales": "Encoding scales {encoded} of {total}",
"GaussianSplat.Encoding.EncodingAlphas" : "Encoding alphas {encoded} of {total}", "GaussianSplat.Encoding.EncodingAlphas": "Encoding alphas {encoded} of {total}",
"GaussianSplat.Encoding.EncodingColors" : "Encoding colors {encoded} of {total}", "GaussianSplat.Encoding.EncodingColors": "Encoding colors {encoded} of {total}",
"GaussianSplat.Encoding.EncodingFinalizing" : "Finalizing encode", "GaussianSplat.Encoding.EncodingFinalizing": "Finalizing encode",
"GaussianSplat.Processing.RemovingSplats" : "Removing Splats", "GaussianSplat.Processing.RemovingSplats": "Removing Splats",
"GaussianSplat.Processing.SplatProgress" : "Processed {count} of {total}", "GaussianSplat.Processing.SplatProgress": "Processed {count} of {total}",
"GaussianSplat.Processing.LoadingData" : "Loading Asset Data", "GaussianSplat.Processing.LoadingData": "Loading Asset Data",
"GaussianSplat.Processing.FailNoData" : "Could not get asset data to process", "GaussianSplat.Processing.FailNoData": "Could not get asset data to process",
"Importer.Video.Title": "Import Video", "Importer.Video.Title": "Import Video",
"Importer.Video.Prompt": "What are you importing?", "Importer.Video.Prompt": "What are you importing?",
@ -1120,10 +1120,10 @@
"Importer.Slices.TitleGrayscale": "Image slices as volumetric texture (grayscale)", "Importer.Slices.TitleGrayscale": "Image slices as volumetric texture (grayscale)",
"Importer.Slices.Description": "Processes all image files in the folder into a volumetric texture", "Importer.Slices.Description": "Processes all image files in the folder into a volumetric texture",
"Importer.UnsupportedRecordType.Heading":"Unsupported Record Type", "Importer.UnsupportedRecordType.Heading": "Unsupported Record Type",
"Importer.UnsupportedRecordType.Description":"The record you are trying to import({url}) has an unsupported type. It's type is: {recordType}. Please report this to us at {bugUrl}.", "Importer.UnsupportedRecordType.Description": "The record you are trying to import({url}) has an unsupported type. It's type is: {recordType}. Please report this to us at {bugUrl}.",
"Importer.Link.Invalid.Heading":"Invalid Folder Link", "Importer.Link.Invalid.Heading": "Invalid Folder Link",
"Importer.Link.Invalid.Description":"The folder link({url}), you are trying to import is invalid. Double check your link and try again.", "Importer.Link.Invalid.Description": "The folder link({url}), you are trying to import is invalid. Double check your link and try again.",
"Inventory.Link.LinkText": "Inventory link to {name}", "Inventory.Link.LinkText": "Inventory link to {name}",
"Exporter.Title": "Export", "Exporter.Title": "Export",
@ -1136,19 +1136,19 @@
"Export.PackageExportable.Package": "Resonite Package", "Export.PackageExportable.Package": "Resonite Package",
"Export.PackageExportable.PackageWithVariants": "Resonite Package <size=75%>(+variants)</size>", "Export.PackageExportable.PackageWithVariants": "Resonite Package <size=75%>(+variants)</size>",
"Export.AudioExportable.OriginalFormat" : "Audio <size=75%>(original format)</size>", "Export.AudioExportable.OriginalFormat": "Audio <size=75%>(original format)</size>",
"Export.VideoExportable.OriginalFormat" : "Video <size=75%>(original format)</size>", "Export.VideoExportable.OriginalFormat": "Video <size=75%>(original format)</size>",
"Export.GaussianSplatExportable.PLY" : "PLY (lossless)", "Export.GaussianSplatExportable.PLY": "PLY (lossless)",
"Export.GaussianSplatExportable.SPZ" : "SPZ (lossy)", "Export.GaussianSplatExportable.SPZ": "SPZ (lossy)",
"Importer.Package.Progress.DecodingPackage" : "Decoding Package", "Importer.Package.Progress.DecodingPackage": "Decoding Package",
"Importer.Package.Progress.DecodingObject" : "Decoding Object", "Importer.Package.Progress.DecodingObject": "Decoding Object",
"Importer.Package.Progress.ImportingAssets" : "Importing Assets", "Importer.Package.Progress.ImportingAssets": "Importing Assets",
"Importer.Package.Progress.LoadingObject" : "Loading Object", "Importer.Package.Progress.LoadingObject": "Loading Object",
"Importer.Package.Progress.Imported" : "Package Imported", "Importer.Package.Progress.Imported": "Package Imported",
"Importer.Package.Progress.Fail" : "Failed to import. Check logs", "Importer.Package.Progress.Fail": "Failed to import. Check logs",
"NewWorld.Title": "New World", "NewWorld.Title": "New World",
"NewWorld.SessionTitle": "New Session", "NewWorld.SessionTitle": "New Session",
@ -1338,19 +1338,19 @@
"Settings.UserMetricsSettings": "User Metrics", "Settings.UserMetricsSettings": "User Metrics",
"Settings.OnlineStatusSettings" : "Online Status", "Settings.OnlineStatusSettings": "Online Status",
"Settings.OnlineStatusSettings.DefaultStatus" : "Default Status", "Settings.OnlineStatusSettings.DefaultStatus": "Default Status",
"Settings.OnlineStatusSettings.DefaultStatus.Description" : "This is the default status that you will start with after logging in, unless there's a previously remembered status.", "Settings.OnlineStatusSettings.DefaultStatus.Description": "This is the default status that you will start with after logging in, unless there's a previously remembered status.",
"Settings.OnlineStatusSettings.RememberMode" : "Remember last status", "Settings.OnlineStatusSettings.RememberMode": "Remember last status",
"Settings.OnlineStatusSettings.RememberMode.Description" : "Use this to control if your last online status should be preserved between logins or not. This includes any statuses other than Invisible, which is controlled via separate setting.", "Settings.OnlineStatusSettings.RememberMode.Description": "Use this to control if your last online status should be preserved between logins or not. This includes any statuses other than Invisible, which is controlled via separate setting.",
"Settings.OnlineStatusSettings.RememberTimespan" : "Remember status for", "Settings.OnlineStatusSettings.RememberTimespan": "Remember status for",
"Settings.OnlineStatusSettings.RememberTimespan.Description" : "Your last online status will be remembered only if you log in again within this timeframe. If you take longer than this, you'll start with your default status instead.", "Settings.OnlineStatusSettings.RememberTimespan.Description": "Your last online status will be remembered only if you log in again within this timeframe. If you take longer than this, you'll start with your default status instead.",
"Settings.OnlineStatusSettings.InvisibleRememberMode" : "Remember last invisible status", "Settings.OnlineStatusSettings.InvisibleRememberMode": "Remember last invisible status",
"Settings.OnlineStatusSettings.InvisibleRememberMode.Description" : "This controls how your last status is remembered specifically if you were last set to Invisible. Otherwise this functions the same.\n\nThe invisible status has a separate setting for privacy reasons, to ensure that if you were last set to invisible, you can ensure that you'll stay invisible at the next login even if your other statuses are not remembered.", "Settings.OnlineStatusSettings.InvisibleRememberMode.Description": "This controls how your last status is remembered specifically if you were last set to Invisible. Otherwise this functions the same.\n\nThe invisible status has a separate setting for privacy reasons, to ensure that if you were last set to invisible, you can ensure that you'll stay invisible at the next login even if your other statuses are not remembered.",
"Settings.OnlineStatusSettings.InvisibleRememberTimespan" : "Remember invisible status for", "Settings.OnlineStatusSettings.InvisibleRememberTimespan": "Remember invisible status for",
"Settings.OnlineStatusSettings.InvisibleRememberTimespan.Description" : "Your last invisible status will be remembered only if you log in again within this timeframe. If you take longer than this, you'll start with your default status instead.", "Settings.OnlineStatusSettings.InvisibleRememberTimespan.Description": "Your last invisible status will be remembered only if you log in again within this timeframe. If you take longer than this, you'll start with your default status instead.",
"Settings.OnlineStatusSettings.AutoAwayTimespan" : "Switch to Away when idle for", "Settings.OnlineStatusSettings.AutoAwayTimespan": "Switch to Away when idle for",
"Settings.OnlineStatusSettings.AutoAwayTimespan.Description" : "When you are idle for this amount of time, your online status will automatically be switched to Away. Once you come back, it will automatically be set back to previous state, unless you set it to Away manually.", "Settings.OnlineStatusSettings.AutoAwayTimespan.Description": "When you are idle for this amount of time, your online status will automatically be switched to Away. Once you come back, it will automatically be set back to previous state, unless you set it to Away manually.",
"Settings.AudioInputDeviceSettings": "Audio Input", "Settings.AudioInputDeviceSettings": "Audio Input",
"Settings.AudioOutputDeviceSettings": "Audio Output", "Settings.AudioOutputDeviceSettings": "Audio Output",
@ -1425,8 +1425,8 @@
"Settings.GrabbingSettings.DefaultHandGrabType.Description": "This determines what your default grab mode for hands is when you spawn in new worlds.\n\n<color=hero.yellow>Palm:</color> You will grab all objects that are near your palm.\n\n<color=hero.yellow>Precision:</color> You will grab a single object between your index finger and thumb.\n\n<color=hero.yellow>Auto:</color> Mode is automatically switched between palm and precision depending on the orientation of your hand.\n\n<color=hero.yellow>Off:</color> You'll only be able to grab items with your lasers.", "Settings.GrabbingSettings.DefaultHandGrabType.Description": "This determines what your default grab mode for hands is when you spawn in new worlds.\n\n<color=hero.yellow>Palm:</color> You will grab all objects that are near your palm.\n\n<color=hero.yellow>Precision:</color> You will grab a single object between your index finger and thumb.\n\n<color=hero.yellow>Auto:</color> Mode is automatically switched between palm and precision depending on the orientation of your hand.\n\n<color=hero.yellow>Off:</color> You'll only be able to grab items with your lasers.",
"Settings.FullBodyTrackingSettings": "Full Body Tracking", "Settings.FullBodyTrackingSettings": "Full Body Tracking",
"Settings.FullBodyTrackingSettings.BodyHorizontalAngle" : "Body Horizontal Angle", "Settings.FullBodyTrackingSettings.BodyHorizontalAngle": "Body Horizontal Angle",
"Settings.FullBodyTrackingSettings.BodyHorizontalAngle.Description" : "This is the angle deviation between feet and head, beyond which you'll be considered in a horizontal pose. This affects certain things like overriding your tracker poses with feet simulation.", "Settings.FullBodyTrackingSettings.BodyHorizontalAngle.Description": "This is the angle deviation between feet and head, beyond which you'll be considered in a horizontal pose. This affects certain things like overriding your tracker poses with feet simulation.",
"Settings.GamepadSettings": "Gamepad", "Settings.GamepadSettings": "Gamepad",
"Settings.GamepadSettings.ThumbstickLookSpeed": "Thumbstick Looking Speed", "Settings.GamepadSettings.ThumbstickLookSpeed": "Thumbstick Looking Speed",
@ -1695,21 +1695,21 @@
"Settings.VoiceSettings.MutePersistence": "Mute Persistence", "Settings.VoiceSettings.MutePersistence": "Mute Persistence",
"Settings.VoiceSettings.MutePersistence.Description": "<color=hero.yellow>Start Unmuted:</color> When you log in, you will always start unmuted.\n\n<color=hero.yellow>Started Muted:</color> When you log in, your voice will always start muted. You will either have to unmute or press the \"push to talk\" key (V by default) to speak.\n\n<color=hero.yellow>Remember Last: </color> When you login, the status from the last time you logged out will be preserved.", "Settings.VoiceSettings.MutePersistence.Description": "<color=hero.yellow>Start Unmuted:</color> When you log in, you will always start unmuted.\n\n<color=hero.yellow>Started Muted:</color> When you log in, your voice will always start muted. You will either have to unmute or press the \"push to talk\" key (V by default) to speak.\n\n<color=hero.yellow>Remember Last: </color> When you login, the status from the last time you logged out will be preserved.",
"Settings.EarmuffSettings" : "Earmuff", "Settings.EarmuffSettings": "Earmuff",
"Settings.EarmuffSettings.EarmuffEnabled" : "Use Earmuff", "Settings.EarmuffSettings.EarmuffEnabled": "Use Earmuff",
"Settings.EarmuffSettings.EarmuffEnabled.Description" : "When earmuff mode is activated, voices of users will be significantly attenuated based on their distance and the direction you are facing.\n\nIn effect, this creates a \"listening cone\", which can help when there are too many overlapping voices in a world.", "Settings.EarmuffSettings.EarmuffEnabled.Description": "When earmuff mode is activated, voices of users will be significantly attenuated based on their distance and the direction you are facing.\n\nIn effect, this creates a \"listening cone\", which can help when there are too many overlapping voices in a world.",
"Settings.EarmuffSettings.Directionality" : "Directionality", "Settings.EarmuffSettings.Directionality": "Directionality",
"Settings.EarmuffSettings.Directionality.Description" : "This controls how directional the voice attenuation is. At 0 %, voices behind you will be at same volume as voices same distance in front of you. At 100 % values, you will not hear voices behind you unless they're really close.\n\nIf you want to hear voices behind you better, lower this value.", "Settings.EarmuffSettings.Directionality.Description": "This controls how directional the voice attenuation is. At 0 %, voices behind you will be at same volume as voices same distance in front of you. At 100 % values, you will not hear voices behind you unless they're really close.\n\nIf you want to hear voices behind you better, lower this value.",
"Settings.EarmuffSettings.Distance" : "Distance", "Settings.EarmuffSettings.Distance": "Distance",
"Settings.EarmuffSettings.Distance.Description" : "This controls the distance in front of you (and behind you if directionality is 0 %) beyond which will voices become quieter.", "Settings.EarmuffSettings.Distance.Description": "This controls the distance in front of you (and behind you if directionality is 0 %) beyond which will voices become quieter.",
"Settings.EarmuffSettings.Angle" : "Angle", "Settings.EarmuffSettings.Angle": "Angle",
"Settings.EarmuffSettings.Angle.Description" : "This controls the angle in front of your face within which the voices are at their normal level. Any voices beyond this angle will start attenuating once they reach the transition distance.", "Settings.EarmuffSettings.Angle.Description": "This controls the angle in front of your face within which the voices are at their normal level. Any voices beyond this angle will start attenuating once they reach the transition distance.",
"Settings.EarmuffSettings.TransitionStart" : "Transition Start", "Settings.EarmuffSettings.TransitionStart": "Transition Start",
"Settings.EarmuffSettings.TransitionStart.Description" : "This controls the distance from the \"listening cone\" at which voices will become quieter. It's recommended to keep this above zero, because that will better include voices on the sides and voices near your head (e.g. users who are technically behind you, but very close).", "Settings.EarmuffSettings.TransitionStart.Description": "This controls the distance from the \"listening cone\" at which voices will become quieter. It's recommended to keep this above zero, because that will better include voices on the sides and voices near your head (e.g. users who are technically behind you, but very close).",
"Settings.EarmuffSettings.TransitionLength" : "Transition Range", "Settings.EarmuffSettings.TransitionLength": "Transition Range",
"Settings.EarmuffSettings.TransitionLength.Description" : "Use this to control the distance over which the voices will fade from their normal volume to fully attenuated. Larger values will transition the volume more smoothly, while lower values will result in more abrupt transition.", "Settings.EarmuffSettings.TransitionLength.Description": "Use this to control the distance over which the voices will fade from their normal volume to fully attenuated. Larger values will transition the volume more smoothly, while lower values will result in more abrupt transition.",
"Settings.EarmuffSettings.VolumeAttenuation" : "Volume Attenuation", "Settings.EarmuffSettings.VolumeAttenuation": "Volume Attenuation",
"Settings.EarmuffSettings.VolumeAttenuation.Description" : "This controls how loud voices beyond the \"listening cone\" will be. Setting this to 0 % will completely mute all users beyond the listening cone.", "Settings.EarmuffSettings.VolumeAttenuation.Description": "This controls how loud voices beyond the \"listening cone\" will be. Setting this to 0 % will completely mute all users beyond the listening cone.",
"Settings.RealtimeNetworkingSettings.DisableLAN": "Disable LAN", "Settings.RealtimeNetworkingSettings.DisableLAN": "Disable LAN",
"Settings.RealtimeNetworkingSettings.DisableLAN.Description": "This disables networking features specific to local networks, such as broadcasting your session on the local network or listening to other sessions broadcasted on this network.", "Settings.RealtimeNetworkingSettings.DisableLAN.Description": "This disables networking features specific to local networks, such as broadcasting your session on the local network or listening to other sessions broadcasted on this network.",
@ -2024,22 +2024,22 @@
"Settings.TextureQualitySettings.ReloadAllTextures": "Reload All Textures (can be heavy)", "Settings.TextureQualitySettings.ReloadAllTextures": "Reload All Textures (can be heavy)",
"Settings.GaussianSplatQualitySettings": "Gaussian Splat Rendering Quality", "Settings.GaussianSplatQualitySettings": "Gaussian Splat Rendering Quality",
"Settings.GaussianSplatQualitySettings.SortMegaOperationsPerCamera" : "Sorting Mega-operations per camera", "Settings.GaussianSplatQualitySettings.SortMegaOperationsPerCamera": "Sorting Mega-operations per camera",
"Settings.GaussianSplatQualitySettings.SortMegaOperationsPerCamera.Description" : "When rendering Gaussian Splats, the splats must be sorted for each camera. Currently, this operation can be quite heavy, so it is spread over time to improve overall framerate.<br><br><color=hero.yellow>Increase</color> the value for sorting to happen faster. This will reduce artifacts when changing the view angle around Gaussian Splats rapidly.<br><br><color=hero.yellow>Decrease</color> the value to reduce the GPU usage if your GPU has trouble handling it. However this will increase artifacts when you rapidly change view angle.", "Settings.GaussianSplatQualitySettings.SortMegaOperationsPerCamera.Description": "When rendering Gaussian Splats, the splats must be sorted for each camera. Currently, this operation can be quite heavy, so it is spread over time to improve overall framerate.<br><br><color=hero.yellow>Increase</color> the value for sorting to happen faster. This will reduce artifacts when changing the view angle around Gaussian Splats rapidly.<br><br><color=hero.yellow>Decrease</color> the value to reduce the GPU usage if your GPU has trouble handling it. However this will increase artifacts when you rapidly change view angle.",
"Settings.GaussianSplatQualitySettings.QualityPreset" : "Quality Preset", "Settings.GaussianSplatQualitySettings.QualityPreset": "Quality Preset",
"Settings.GaussianSplatQualitySettings.QualityPreset.Description" : "This controls the quality of rendered gaussian splats and their VRAM usage. Higher quality will use more VRAM.<br><br><color=hero.yellow>Very Low:</color> ~18.62x smaller<br><color=hero.yellow>Low:</color> ~14x smaller<br><color=hero.yellow>Medium:</color> ~5.14x smaller<br><color=hero.yellow>High:</color> ~2.94x smaller<br><color=hero.yellow>Very High:</color> Uncompressed (original)", "Settings.GaussianSplatQualitySettings.QualityPreset.Description": "This controls the quality of rendered gaussian splats and their VRAM usage. Higher quality will use more VRAM.<br><br><color=hero.yellow>Very Low:</color> ~18.62x smaller<br><color=hero.yellow>Low:</color> ~14x smaller<br><color=hero.yellow>Medium:</color> ~5.14x smaller<br><color=hero.yellow>High:</color> ~2.94x smaller<br><color=hero.yellow>Very High:</color> Uncompressed (original)",
"Settings.GaussianSplatQualitySettings.MinLocalQuality" : "Minimum locally compressed quality", "Settings.GaussianSplatQualitySettings.MinLocalQuality": "Minimum locally compressed quality",
"Settings.GaussianSplatQualitySettings.MinLocalQuality.Description" : "For locally imported gaussian splats, the quality will never be lower than this value.<br><br>We do not recommend setting this below Medium, as lower quality levels are significantly more intense and time consuming to compress and should be left to compress on the cloud.<br><br>Setting this to Very High will make gaussian splats load much faster after import due to not having to be compressed at cost of high VRAM usage.", "Settings.GaussianSplatQualitySettings.MinLocalQuality.Description": "For locally imported gaussian splats, the quality will never be lower than this value.<br><br>We do not recommend setting this below Medium, as lower quality levels are significantly more intense and time consuming to compress and should be left to compress on the cloud.<br><br>Setting this to Very High will make gaussian splats load much faster after import due to not having to be compressed at cost of high VRAM usage.",
"Settings.GaussianSplatQualitySettings.AdvancedQuality" : "Advanced Quality Settings", "Settings.GaussianSplatQualitySettings.AdvancedQuality": "Advanced Quality Settings",
"Settings.GaussianSplatQualitySettings.AdvancedQuality.Description" : "When enabled, you can configure the specific encodings used for different Gaussian Splat buffers. This gives you very fined grained control over the quality. It can also be used for testing/diagnostics purposes.", "Settings.GaussianSplatQualitySettings.AdvancedQuality.Description": "When enabled, you can configure the specific encodings used for different Gaussian Splat buffers. This gives you very fined grained control over the quality. It can also be used for testing/diagnostics purposes.",
"Settings.GaussianSplatQualitySettings.PositionFormat" : "Position data format", "Settings.GaussianSplatQualitySettings.PositionFormat": "Position data format",
"Settings.GaussianSplatQualitySettings.PositionFormat.Description" : "Encoding used for the positions of the splats", "Settings.GaussianSplatQualitySettings.PositionFormat.Description": "Encoding used for the positions of the splats",
"Settings.GaussianSplatQualitySettings.ScaleFormat" : "Scale data format", "Settings.GaussianSplatQualitySettings.ScaleFormat": "Scale data format",
"Settings.GaussianSplatQualitySettings.ScaleFormat.Description" : "Encoding used for the scales of the splats", "Settings.GaussianSplatQualitySettings.ScaleFormat.Description": "Encoding used for the scales of the splats",
"Settings.GaussianSplatQualitySettings.ColorFormat" : "Color data format", "Settings.GaussianSplatQualitySettings.ColorFormat": "Color data format",
"Settings.GaussianSplatQualitySettings.ColorFormat.Description" : "Encoding used for the colors & opacities of the splats", "Settings.GaussianSplatQualitySettings.ColorFormat.Description": "Encoding used for the colors & opacities of the splats",
"Settings.GaussianSplatQualitySettings.SphericalHarmonicsFormat" : "Spherical Harmonics data format", "Settings.GaussianSplatQualitySettings.SphericalHarmonicsFormat": "Spherical Harmonics data format",
"Settings.GaussianSplatQualitySettings.SphericalHarmonicsFormat.Description" : "Encoding used for the spherical harmonic data of the splats", "Settings.GaussianSplatQualitySettings.SphericalHarmonicsFormat.Description": "Encoding used for the spherical harmonic data of the splats",
"Settings.ResolutionSettings": "Resolution", "Settings.ResolutionSettings": "Resolution",
"Settings.ResolutionSettings.Fullscreen": "Fullscreen", "Settings.ResolutionSettings.Fullscreen": "Fullscreen",
@ -2070,7 +2070,7 @@
"Settings.ImportSettings.NetworkUrls": "On Network URL Import", "Settings.ImportSettings.NetworkUrls": "On Network URL Import",
"Settings.ImportSettings.NetworkUrls.Description": "When a Network URL is imported, what should happen. The available options are:\n\n<color=hero.yellow>Open</color> - Open a connection to the session at the URL.\n<color=hero.yellow>SpawnInterface</color> - Spawns a representation(such as a session orb) of the url in your current location.\n<color=hero.yellow>SpawnUrl</color> - Spawns the URL in your current location as a URL Interface.", "Settings.ImportSettings.NetworkUrls.Description": "When a Network URL is imported, what should happen. The available options are:\n\n<color=hero.yellow>Open</color> - Open a connection to the session at the URL.\n<color=hero.yellow>SpawnInterface</color> - Spawns a representation(such as a session orb) of the url in your current location.\n<color=hero.yellow>SpawnUrl</color> - Spawns the URL in your current location as a URL Interface.",
"Settings.MysterySettings" : "Mystery Settings", "Settings.MysterySettings": "Mystery Settings",
"LocomotionArchetype.Walk": "Walk", "LocomotionArchetype.Walk": "Walk",
"LocomotionArchetype.Fly": "Fly", "LocomotionArchetype.Fly": "Fly",
@ -2196,7 +2196,7 @@
"Inspector.MeshCollider.VHACD": "Convex Hull Decomposition (V-HACD 2.0)", "Inspector.MeshCollider.VHACD": "Convex Hull Decomposition (V-HACD 2.0)",
"Inspector.MeshCollider.ReplaceBox": "Replace With Box Collider", "Inspector.MeshCollider.ReplaceBox": "Replace With Box Collider",
"Inspector.Texture3D.SpawnVisualizer" : "Spawn Visualizer", "Inspector.Texture3D.SpawnVisualizer": "Spawn Visualizer",
"Inspector.Skybox.SetActiveSkybox": "Set as active skybox", "Inspector.Skybox.SetActiveSkybox": "Set as active skybox",
"Inspector.AmbientLightSH2.SetActiveAmbientLight": "Set as active ambient light", "Inspector.AmbientLightSH2.SetActiveAmbientLight": "Set as active ambient light",
@ -2352,10 +2352,10 @@
"Inspector.AudioStream.DecodeState": "Total Packets: {total}, Total Lost Packets: {lost}, Packet Loss: {loss, number, percent}", "Inspector.AudioStream.DecodeState": "Total Packets: {total}, Total Lost Packets: {lost}, Packet Loss: {loss, number, percent}",
"Inspector.AudioStream.BufferStats": "Avg codec: {avgCodec}/s, Avg read: {avgRead}/s, Avg written: {avgWritten}/s", "Inspector.AudioStream.BufferStats": "Avg codec: {avgCodec}/s, Avg read: {avgRead}/s, Avg written: {avgWritten}/s",
"Inspector.GaussianSplat.SplatInfo" : "Splat Count: {count}, VRAM usage: {vram}", "Inspector.GaussianSplat.SplatInfo": "Splat Count: {count}, VRAM usage: {vram}",
"Inspector.GaussianSplat.Variant" : "Loaded variant: {variant}", "Inspector.GaussianSplat.Variant": "Loaded variant: {variant}",
"Inspector.GaussianSplat.ColorByIndex" : "Color splats by index", "Inspector.GaussianSplat.ColorByIndex": "Color splats by index",
"Inspector.GaussianSplat.ReorderMorton" : "Reorder splats with Morton ordering", "Inspector.GaussianSplat.ReorderMorton": "Reorder splats with Morton ordering",
"Inspector.DynamicBoneChain.SetupFromChildren": "Setup From Children", "Inspector.DynamicBoneChain.SetupFromChildren": "Setup From Children",
"Inspector.DynamicBoneChain.SetupFromChildrenAll": "Setup From Children (force all)", "Inspector.DynamicBoneChain.SetupFromChildrenAll": "Setup From Children (force all)",
@ -2378,11 +2378,11 @@
"Inspector.CharacterController.Warning": "<color=red><size=150%>WARNING!</size></color><br>It is possible to use this component as a simple rigidbody by checking SimulateRotation. Before you do, please understand that it is not optimized for this purpose and proper Rigidbody Support is coming in the future.<br>Proper rigidbody support will offer:<br><b>- CPU and network efficiency</b> - with CharacterController you'll be getting higher CPU usage and significant amount of network traffic<br><b>- Constraints</b> - you'll be able to create joints, hinges, springs and other constraints between rigidbodies<br><b>- Smooth simulation and interactions for everyone</b> - CharacterController will glitch out if another person tries to interact<br><b>- New Features and Tools</b> - to make using them much easier<br>-----------------------<br>As long as you understand those limitations, have fun!", "Inspector.CharacterController.Warning": "<color=red><size=150%>WARNING!</size></color><br>It is possible to use this component as a simple rigidbody by checking SimulateRotation. Before you do, please understand that it is not optimized for this purpose and proper Rigidbody Support is coming in the future.<br>Proper rigidbody support will offer:<br><b>- CPU and network efficiency</b> - with CharacterController you'll be getting higher CPU usage and significant amount of network traffic<br><b>- Constraints</b> - you'll be able to create joints, hinges, springs and other constraints between rigidbodies<br><b>- Smooth simulation and interactions for everyone</b> - CharacterController will glitch out if another person tries to interact<br><b>- New Features and Tools</b> - to make using them much easier<br>-----------------------<br>As long as you understand those limitations, have fun!",
"Inspector.PrimitiveMemberEditor.Warning": "<color=red><size=150%>WARNING!</size></color><br>It is possible to use this component to interact with references by using their IDs. This process is commonly called 'Ref Hacking'.<br><br><b>Before</b> you do this, please understand that this is <b>not</b> supported and may break at any time. Do not rely on this functionality for your creations.", "Inspector.PrimitiveMemberEditor.Warning": "<color=red><size=150%>WARNING!</size></color><br>It is possible to use this component to interact with references by using their IDs. This process is commonly called 'Ref Hacking'.<br><br><b>Before</b> you do this, please understand that this is <b>not</b> supported and may break at any time. Do not rely on this functionality for your creations.",
"Inspector.FacetPreset.Warning":"<color=red><size=125%>WARNING!</size></color><br>FacetPresets will automatically upgrade their contents when we publish new versions of those presets. If you're making a custom version, we recommend deleting this component.", "Inspector.FacetPreset.Warning": "<color=red><size=125%>WARNING!</size></color><br>FacetPresets will automatically upgrade their contents when we publish new versions of those presets. If you're making a custom version, we recommend deleting this component.",
"Inspector.GrabbableSaveBlock.Warning":"<color=red><size=125%>WARNING!</size></color><br> This component is not designed as a security/asset theft protection system. It is intended to be used for cases where you wish to block the easier methods of saving for gameplay or design reasons. It can easily be bypassed and it will not be made more secure under any circumstances.", "Inspector.GrabbableSaveBlock.Warning": "<color=red><size=125%>WARNING!</size></color><br> This component is not designed as a security/asset theft protection system. It is intended to be used for cases where you wish to block the easier methods of saving for gameplay or design reasons. It can easily be bypassed and it will not be made more secure under any circumstances.",
"Inspector.ParticleSystem.BasicInfo" : "Particles: {count}, FPS: {fps}, Simulation Time: {time}, Submit Time: {renderSubmitTime}, Render allocations: {allocationCount}", "Inspector.ParticleSystem.BasicInfo": "Particles: {count}, FPS: {fps}, Simulation Time: {time}, Submit Time: {renderSubmitTime}, Render allocations: {allocationCount}",
"Inspector.ParticleSystem.TrailInfo" : "Trails: {trailCount} (capacity: {trailCapacity}), Trail Point Capacity: {trailPointCapacity}, Allocations: {allocationCount}", "Inspector.ParticleSystem.TrailInfo": "Trails: {trailCount} (capacity: {trailCapacity}), Trail Point Capacity: {trailPointCapacity}, Allocations: {allocationCount}",
"Inspector.ParticleStyle.CommonTransitions": "Common Transition Templates:", "Inspector.ParticleStyle.CommonTransitions": "Common Transition Templates:",
"Inspector.ParticleStyle.AlphaFadeInOut": "Alpha Fade In & Fade Out", "Inspector.ParticleStyle.AlphaFadeInOut": "Alpha Fade In & Fade Out",
@ -3165,7 +3165,7 @@
"Help.GettingStarted.AvatarBasics": "Avatar Basics", "Help.GettingStarted.AvatarBasics": "Avatar Basics",
"Help.GettingStarted.AvatarBasics.Equipping": "Equipping", "Help.GettingStarted.AvatarBasics.Equipping": "Equipping",
"Help.GettingStarted.AvatarBasics.Equipping.Content": "<b><color=hero.purple>Avatars</closeall> in {appName} are like outfits - you can put on whatever avatar you like whenever you like, and you can own many avatars or spawn many into your world!<br><br>To wear an avatar,{is_desktop, select, True {} other { first press <b><color=hero.purple>{Primary_Input}</closeall> to show your laser. Then,}} aim at it{is_desktop, select, True {} other { with your laser}} and press <b><color=hero.purple>{Primary_Input}</closeall>{is_desktop, select, True {} other { again}}. On the menu that appears, select <sprite name=EquipAvatar> <b><color=hero.green>Equip Avatar</closeall>. Now you're wearing that avatar!", "Help.GettingStarted.AvatarBasics.Equipping.Content": "<b><color=hero.purple>Avatars</closeall> in {appName} are like outfits - you can put on whatever avatar you like whenever you like, and you can own many avatars or spawn many into your world!<br><br>To wear an avatar,{is_desktop, select, True {} other { first press <b><color=hero.purple>{Primary_Input}</closeall> to show your laser. Then,}} aim at it{is_desktop, select, True {} other { with your laser}} and press <b><color=hero.purple>{Primary_Input}</closeall>{is_desktop, select, True {} other { again}}. On the menu that appears, select <sprite name=EquipAvatar> <b><color=hero.green>Equip Avatar</closeall>. Now you're wearing that avatar!",
"Help.GettingStarted.AvatarBasics.Equipping.Content2": "Another way to wear an avatar is to first grab it with <b><color=hero.purple>{Grip_Input}</closeall>, then open your <color=hero.cyan><b>Context Menu</closeall> {is_using_vive_wands, select, True {by quickly pressing} other {with}} <b><color=hero.purple>{Context_Menu_Input}</closeall> and select <sprite name=EquipAvatar> <b><color=hero.green>Equip Avatar</closeall>.", "Help.GettingStarted.AvatarBasics.Equipping.Content2": "Another way to wear an avatar is to first grab it with <b><color=hero.purple>{Grip_Input}</closeall>, then open your <color=hero.cyan><b>Context Menu</closeall> {is_using_vive_wands, select, True {by quickly pressing} other {with}} <b><color=hero.purple>{Context_Menu_Input}</closeall> and select <sprite name=EquipAvatar> <b><color=hero.green>Equip Avatar</closeall>.",
"Help.GettingStarted.AvatarBasics.OpeningYourDashboard": "Opening Your Dashboard", "Help.GettingStarted.AvatarBasics.OpeningYourDashboard": "Opening Your Dashboard",
"Help.GettingStarted.AvatarBasics.OpeningYourDashboard.Content": "If you want the avatar you're currently using to be the one you load in as, you can do this using your <b><color=hero.cyan>Dashboard</closeall>, which is your all-in-one place to talk with others, browse your Inventory, or explore different worlds.<br><br>To open or close it, press {is_using_vive_wands, select, True{and hold } other{}}<b><color=hero.purple>{Menu_Input}</closeall>{is_using_vive_wands, select, True{ until the ring is full, then release} other{}}!", "Help.GettingStarted.AvatarBasics.OpeningYourDashboard.Content": "If you want the avatar you're currently using to be the one you load in as, you can do this using your <b><color=hero.cyan>Dashboard</closeall>, which is your all-in-one place to talk with others, browse your Inventory, or explore different worlds.<br><br>To open or close it, press {is_using_vive_wands, select, True{and hold } other{}}<b><color=hero.purple>{Menu_Input}</closeall>{is_using_vive_wands, select, True{ until the ring is full, then release} other{}}!",
"Help.GettingStarted.AvatarBasics.CreatingAFolder": "Creating A Folder", "Help.GettingStarted.AvatarBasics.CreatingAFolder": "Creating A Folder",