From 4e1cda9885a6ef508396a8f60c292350af8f3f3d Mon Sep 17 00:00:00 2001
From: Brecht Van Lommel <brechtvanlommel@gmail.com>
Date: Wed, 31 Jul 2019 13:27:19 +0200
Subject: [PATCH] Spelling fixes in comments and descriptions, patch by luzpaz

Differential Revision: https://developer.blender.org/D5240
---
 add_curve_sapling/utils.py                    |  2 +-
 add_mesh_BoltFactory/createMesh.py            | 10 ++++----
 animation_add_corrective_shape_key.py         | 14 +++++------
 archimesh/achm_roof_maker.py                  |  2 +-
 archipack/archipack_gl.py                     |  2 +-
 archipack/archipack_manipulator.py            |  4 ++--
 blenderkit/__init__.py                        |  2 +-
 blenderkit/append_link.py                     |  2 +-
 blenderkit/download.py                        | 24 +++++++++----------
 blenderkit/paths.py                           |  4 ++--
 blenderkit/search.py                          | 14 +++++------
 blenderkit/ui.py                              |  4 ++--
 blenderkit/upload.py                          |  4 ++--
 blenderkit/utils.py                           |  2 +-
 io_anim_bvh/export_bvh.py                     |  2 +-
 io_coat3D/tex.py                              |  4 ++--
 io_export_paper_model.py                      |  4 ++--
 io_mesh_atomic/utility_panel.py               |  2 +-
 io_scene_fbx/export_fbx_bin.py                |  2 +-
 .../com/gltf2_blender_material_helpers.py     |  2 +-
 .../blender/exp/gltf2_blender_gather_nodes.py |  2 +-
 .../imp/gltf2_blender_animation_node.py       |  2 +-
 .../blender/imp/gltf2_blender_primitive.py    |  2 +-
 .../blender/imp/gltf2_blender_scene.py        |  2 +-
 .../gltf2_io_draco_compression_extension.py   |  2 +-
 io_scene_x3d/import_x3d.py                    |  2 +-
 mesh_auto_mirror.py                           |  6 ++---
 mesh_bsurfaces.py                             |  4 ++--
 mesh_inset/triquad.py                         |  2 +-
 mesh_looptools.py                             |  2 +-
 mesh_snap_utilities_line/op_line.py           |  2 +-
 mesh_tiny_cad/VTX.py                          |  2 +-
 mesh_tissue/colors_groups_exchanger.py        |  4 ++--
 mesh_tissue/tessellate_numpy.py               |  2 +-
 mesh_tissue/utils.py                          |  2 +-
 object_carver/carver_draw.py                  |  4 ++--
 object_color_rules.py                         |  2 +-
 object_fracture_cell/fracture_cell_setup.py   |  2 +-
 rigify/__init__.py                            |  2 +-
 rigify/legacy/utils.py                        |  2 +-
 rigify/rig_ui_template.py                     |  2 +-
 rigify/utils/widgets.py                       |  2 +-
 space_view3d_align_tools.py                   |  4 ++--
 space_view3d_copy_attributes.py               |  4 ++--
 space_view3d_math_vis/__init__.py             |  2 +-
 45 files changed, 85 insertions(+), 85 deletions(-)

diff --git a/add_curve_sapling/utils.py b/add_curve_sapling/utils.py
index 4ec2cd839..3dbe53afe 100644
--- a/add_curve_sapling/utils.py
+++ b/add_curve_sapling/utils.py
@@ -1358,7 +1358,7 @@ def perform_pruning(baseSize, baseSplits, childP, cu, currentMax, currentMin, cu
                         stemsegL, lengthV[n], taperCrown, boneStep, rotate, rotateV
                         )
 
-        # If pruning is enabled then we must to the check to see if the end of the spline is within the evelope
+        # If pruning is enabled then we must check to see if the end of the spline is within the envelope
         if prune:
             # Check each endpoint to see if it is inside
             for s in splineList:
diff --git a/add_mesh_BoltFactory/createMesh.py b/add_mesh_BoltFactory/createMesh.py
index 71f22bf7f..6c18eeef8 100644
--- a/add_mesh_BoltFactory/createMesh.py
+++ b/add_mesh_BoltFactory/createMesh.py
@@ -233,20 +233,20 @@ def Mirror_Verts_Faces(VERTS, FACES, AXIS, FLIP_POINT=0):
 
 # Returns a list of faces that
 # make up an array of 4 point polygon.
-def Build_Face_List_Quads(OFFSET, COLUM, ROW, FLIP=0):
+def Build_Face_List_Quads(OFFSET, COLUMN, ROW, FLIP=0):
     Ret = []
     RowStart = 0
     for j in range(ROW):
-        for i in range(COLUM):
+        for i in range(COLUMN):
             Res1 = RowStart + i
-            Res2 = RowStart + i + (COLUM + 1)
-            Res3 = RowStart + i + (COLUM + 1) + 1
+            Res2 = RowStart + i + (COLUMN + 1)
+            Res3 = RowStart + i + (COLUMN + 1) + 1
             Res4 = RowStart + i + 1
             if FLIP:
                 Ret.append([OFFSET + Res1, OFFSET + Res2, OFFSET + Res3, OFFSET + Res4])
             else:
                 Ret.append([OFFSET + Res4, OFFSET + Res3, OFFSET + Res2, OFFSET + Res1])
-        RowStart += COLUM + 1
+        RowStart += COLUMN + 1
     return Ret
 
 
diff --git a/animation_add_corrective_shape_key.py b/animation_add_corrective_shape_key.py
index dcfd6811b..320acc830 100644
--- a/animation_add_corrective_shape_key.py
+++ b/animation_add_corrective_shape_key.py
@@ -50,12 +50,12 @@ Limitations and new delta option for 2.8
   it will be set to zero.
   
 - new "delta" option usage, when you hope to make new shape-key with keep currently visible other shape keys value.
- it can generate new shape key, with value as 1.00. then deform target shape as soruce shape  with keep other shape key values relative.
-  
-- If overwrite shape key,<select active shape key of target as non "base shape"> 
- current shape key value is ignored and turn as 1.00. 
- 
- then if active shape key was driven (bone rotation etc), you may get un-expected result. When transfer, I recommend, keep set active-shape key as base . so transfered shape key do not "overwrite". but generate new shape key. 
+ it can generate new shape key, with value as 1.00. then deform target shape as source shape with keep other shape key values relative.
+
+- If overwrite shape key,<select active shape key of target as non "base shape">
+ current shape key value is ignored and turn as 1.00.
+
+ then if active shape key was driven (bone rotation etc), you may get un-expected result. When transfer, I recommend, keep set active-shape key as base. so transferred shape key do not "overwrite". but generate new shape key.
  if active-shape key have no driver, you can overwrite it (but as 1.00 value )
 """
 
@@ -254,7 +254,7 @@ class add_corrective_pose_shape(bpy.types.Operator):
 class add_corrective_pose_shape_delta (bpy.types.Operator):
     """Adds first object as shape to second object for the current pose """ \
     """while maintaining modifiers and currently used other shape keys""" \
-    """with keep other shape key value, generate new shape key which deform to soruce shape """
+    """with keep other shape key value, generate new shape key which deform to source shape """
 
     bl_idname = "object.add_corrective_pose_shape_delta"
     bl_label = "Add object as corrective pose shape delta"
diff --git a/archimesh/achm_roof_maker.py b/archimesh/achm_roof_maker.py
index 1b446779e..c125eb84c 100644
--- a/archimesh/achm_roof_maker.py
+++ b/archimesh/achm_roof_maker.py
@@ -172,7 +172,7 @@ def create_roof_mesh(self):
     bpy.context.view_layer.objects.active = myroof
     myroof.select_set(True)
 
-    # Thicknes
+    # Thickness
     if self.roof_thick > 0.0:
         set_modifier_solidify(myroof, self.roof_thick)
     # Subsurf
diff --git a/archipack/archipack_gl.py b/archipack/archipack_gl.py
index 172117873..f3ef034af 100644
--- a/archipack/archipack_gl.py
+++ b/archipack/archipack_gl.py
@@ -584,7 +584,7 @@ class GlLine(GlBaseLine):
     def sized_normal(self, t, size):
         """
             GlLine perpendicular on plane defined by z_axis and of given size
-            positionned at t in current line
+            positioned at t in current line
             lie on the right side
             p1
             |--x
diff --git a/archipack/archipack_manipulator.py b/archipack/archipack_manipulator.py
index 2b9010d60..60a057381 100644
--- a/archipack/archipack_manipulator.py
+++ b/archipack/archipack_manipulator.py
@@ -1073,7 +1073,7 @@ class SizeLocationManipulator(SizeManipulator):
 
         Also take care of moving linked objects too
         Changing size is not necessary as link does
-        allredy handle this and childs panels are
+        already handle this and childs panels are
         updated by base object.
     """
     def __init__(self, context, o, datablock, manipulator, handle_size, snap_callback=None):
@@ -1185,7 +1185,7 @@ class SnapSizeLocationManipulator(SizeLocationManipulator):
 
         Also take care of moving linked objects too
         Changing size is not necessary as link does
-        allredy handle this and childs panels are
+        already handle this and childs panels are
         updated by base object.
 
 
diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index 4fbf3783e..6a2a68b35 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -274,7 +274,7 @@ class BlenderKitUIProps(PropertyGroup):
     thumb_size: IntProperty(name="Thumbnail Size", default=thumb_size_def, min=-1, max=256)
 
     margin: IntProperty(name="Margin", default=margin_def, min=-1, max=256)
-    highlight_margin: IntProperty(name="Higlight Margin", default=int(margin_def / 2), min=-10, max=256)
+    highlight_margin: IntProperty(name="Highlight Margin", default=int(margin_def / 2), min=-10, max=256)
 
     bar_height: IntProperty(name="Bar Height", default=thumb_size_def + 2 * margin_def, min=-1, max=2048)
     bar_x_offset: IntProperty(name="Bar X Offset", default=20, min=0, max=5000)
diff --git a/blenderkit/append_link.py b/blenderkit/append_link.py
index 8b399986b..efbd14928 100644
--- a/blenderkit/append_link.py
+++ b/blenderkit/append_link.py
@@ -45,7 +45,7 @@ def append_material(file_name, matname=None, link=False, fake_user=True):
     '''append a material type asset'''
     # first, we have to check if there is a material with same name
     # in previous step there's check if the imported material
-    # is allready in the scene, so we know same name != same material
+    # is already in the scene, so we know same name != same material
 
     mats_before = bpy.data.materials.keys()
 
diff --git a/blenderkit/download.py b/blenderkit/download.py
index b0830a4ee..ac43bc88c 100644
--- a/blenderkit/download.py
+++ b/blenderkit/download.py
@@ -312,7 +312,7 @@ def append_asset(asset_data, **kwargs):  # downloaders=[], location=None,
             sprops.append_link = 'APPEND'
             sprops.import_as = 'INDIVIDUAL'
 
-        # set consistency for objects allready in scene, otherwise this literally breaks blender :)
+        # set consistency for objects already in scene, otherwise this literally breaks blender :)
         ain = asset_in_scene(asset_data)
         if ain is not False:
             if ain == 'LINKED':
@@ -382,7 +382,7 @@ def append_asset(asset_data, **kwargs):  # downloaders=[], location=None,
 
     elif asset_data['asset_type'] == 'brush':
 
-        # TODO if allready in scene, should avoid reappending.
+        # TODO if already in scene, should avoid reappending.
         inscene = False
         for b in bpy.data.brushes:
 
@@ -539,7 +539,7 @@ class Downloader(threading.Thread):
         get_download_url(asset_data, scene_id, api_key, tcom=tcom)
         if tcom.error:
             return
-        # only now we can check if the file allready exists. This should have 2 levels, for materials and for brushes
+        # only now we can check if the file already exists. This should have 2 levels, for materials and for brushes
         # different than for the non free content. delete is here when called after failed append tries.
         if check_existing(asset_data) and not tcom.passargs.get('delete'):
             # this sends the thread for processing, where another check should occur, since the file might be corrupted.
@@ -622,7 +622,7 @@ def download(asset_data, **kwargs):
 
 
 def check_downloading(asset_data, **kwargs):
-    ''' check if an asset is allready downloading, if yes, just make a progress bar with downloader object.'''
+    ''' check if an asset is already downloading, if yes, just make a progress bar with downloader object.'''
     global download_threads
 
     downloading = False
@@ -646,7 +646,7 @@ def check_existing(asset_data):
 
     file_names = paths.get_download_filenames(asset_data)
 
-    utils.p('check if file allready exists')
+    utils.p('check if file already exists')
     if len(file_names) == 2:
         # TODO this should check also for failed or running downloads.
         # If download is running, assign just the running thread. if download isn't running but the file is wrong size,
@@ -663,11 +663,11 @@ def check_existing(asset_data):
 
 
 def try_finished_append(asset_data, **kwargs):  # location=None, material_target=None):
-    ''' try to append asset, if not successfull delete source files.
+    ''' try to append asset, if not successfully delete source files.
      This means probably wrong download, so download should restart'''
     file_names = paths.get_download_filenames(asset_data)
     done = False
-    utils.p('try to append allready existing asset')
+    utils.p('try to append already existing asset')
     if len(file_names) > 0:
         if os.path.isfile(file_names[-1]):
             kwargs['name'] = asset_data['name']
@@ -688,7 +688,7 @@ def try_finished_append(asset_data, **kwargs):  # location=None, material_target
 
 
 def asset_in_scene(asset_data):
-    '''checks if the asset is allready in scene. If yes, modifies asset data so the asset can be reached again.'''
+    '''checks if the asset is already in scene. If yes, modifies asset data so the asset can be reached again.'''
     scene = bpy.context.scene
     au = scene.get('assets used', {})
 
@@ -746,7 +746,7 @@ def get_download_url(asset_data, scene_id, api_key, tcom=None):
     if r.status_code == 403:
         r = 'You need Full plan to get this item.'
         tcom.report = r
-        r1 = 'All materials and brushes are aviable for free. Only users registered to Standart plan can use all models.'
+        r1 = 'All materials and brushes are available for free. Only users registered to Standard plan can use all models.'
         tasks_queue.add_task((ui.add_report, (r1, 5, colors.RED)))
         tcom.error = True
 
@@ -764,7 +764,7 @@ def start_download(asset_data, **kwargs):
     '''
     check if file isn't downloading or doesn't exist, then start new download
     '''
-    # first check if the asset is allready in scene. We can use that asset without checking with server
+    # first check if the asset is already in scene. We can use that asset without checking with server
     quota_ok = asset_in_scene(asset_data) is not False
 
     # otherwise, check on server
@@ -774,7 +774,7 @@ def start_download(asset_data, **kwargs):
     # is the asseet being currently downloaded?
     downloading = check_downloading(asset_data, **kwargs)
     if not downloading:
-        # check if there are files allready. This check happens 2x once here(for free assets),
+        # check if there are files already. This check happens 2x once here(for free assets),
         # once in thread(for non-free)
         fexists = check_existing(asset_data)
 
@@ -823,7 +823,7 @@ class BlenderkitKillDownloadOperator(bpy.types.Operator):
 
 
 class BlenderkitDownloadOperator(bpy.types.Operator):
-    """Download and link asset to scene. Only link if asset allready available locally."""
+    """Download and link asset to scene. Only link if asset already available locally."""
     bl_idname = "scene.blenderkit_download"
     bl_label = "BlenderKit Asset Download"
     bl_options = {'REGISTER', 'UNDO'}
diff --git a/blenderkit/paths.py b/blenderkit/paths.py
index c2d2ab06b..c3f924844 100644
--- a/blenderkit/paths.py
+++ b/blenderkit/paths.py
@@ -164,7 +164,7 @@ def get_download_filenames(asset_data):
     file_names = []
     # fn = asset_data['file_name'].replace('blend_', '')
     if asset_data.get('url') is not None:
-        # this means asset is allready in scene and we don't nedd to check
+        # this means asset is already in scene and we don't nedd to check
 
         fn = extract_filename_from_url(asset_data['url'])
         fn.replace('_blend', '')
@@ -236,7 +236,7 @@ def get_addon_thumbnail_path(name):
     # fpath = os.path.join(p, subpath)
     ext = name.split('.')[-1]
     next = ''
-    if not (ext == 'jpg' or ext == 'png'):  # allready has ext?
+    if not (ext == 'jpg' or ext == 'png'):  # already has ext?
         next = '.jpg'
     subpath = "thumbnails" + os.sep + name + next
     return os.path.join(script_path, subpath)
diff --git a/blenderkit/search.py b/blenderkit/search.py
index 468aaf8bf..dd7df4408 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -92,7 +92,7 @@ def refresh_token_timer():
 def scene_load(context):
     wm = bpy.context.window_manager
     fetch_server_data()
-    # following doesn't necessarilly happen if version isn't checked yet or similar, first run.
+    # following doesn't necessarily happen if version isn't checked yet or similar, first run.
     # wm['bkit_update'] = version_checker.compare_versions(blenderkit)
     categories.load_categories()
     if not bpy.app.timers.is_registered(refresh_token_timer):
@@ -116,7 +116,7 @@ def fetch_server_data():
 def timer_update():  # TODO might get moved to handle all blenderkit stuff.
 
     global search_threads
-    # don't do anything while dragging - this could switch asset type during drag, and make results list lenght different,
+    # don't do anything while dragging - this could switch asset type during drag, and make results list length different,
     # causing a lot of throuble literally.
     if len(search_threads) == 0 or bpy.context.scene.blenderkitUI.dragging:
         return 1
@@ -803,7 +803,7 @@ class Searcher(threading.Thread):
         full_thbs = zip(thumb_full_filepaths, thumb_full_urls)
 
         # we save here because a missing thumbnail check is in the previous loop
-        # we can also prepend previous results. These have allready thumbnails downloaded...
+        # we can also prepend previous results. These have already thumbnails downloaded...
         if params['get_next']:
             rdata['results'][0:0] = origdata['results']
 
@@ -1149,12 +1149,12 @@ def unregister_search():
 
 
 '''
-search - 
+search -
 build query
 START THREAD
-send query (bg allready)
-get result - metadata, small thumbnails, big thumbnails paths (now genereate this?)
-write metadata, possibly to 
+send query (bg already)
+get result - metadata, small thumbnails, big thumbnails paths (now generate this?)
+write metadata, possibly to
 download small thumbnails first
 start big thumbnails download. these don't have to be there on updates, if they aren't the Image in image editor doesn't get updated.
 parse metadata, save it in json in the temp dir which gets read on each update of the search.
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index d58c489b7..b03875f09 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -977,7 +977,7 @@ def is_rating_possible():
             ad = ao.get('asset_data')
             if ad is not None:
                 rated = bpy.context.scene['assets rated'].get(ad['asset_base_id'])
-                # originally hidden for allready rated assets
+                # originally hidden for already rated assets
                 return True, rated, ao, ad
 
             # check also materials
@@ -1599,7 +1599,7 @@ class AssetBarOperator(bpy.types.Operator):
                 # this sends message to the originally running operator, so it quits, and then it ends this one too.
                 # If it initiated a search, the search will finish in a thread. The switch off procedure is run
                 # by the 'original' operator, since if we get here, it means
-                # same operator is allready running.
+                # same operator is already running.
                 ui_props.turn_off = True
                 # if there was an error, we need to turn off these props so we can restart after 2 clicks
                 ui_props.assetbar_on = False
diff --git a/blenderkit/upload.py b/blenderkit/upload.py
index 0910a6661..717e457e2 100644
--- a/blenderkit/upload.py
+++ b/blenderkit/upload.py
@@ -631,7 +631,7 @@ def start_upload(self, context, asset_type, as_new, metadata_only):
                 json_metadata["verificationStatus"] = "uploading"
             r = requests.put(url, json=json_metadata, headers=headers, verify=True)  # files = files,
             props.upload_state = 'uploaded metadata'
-            # parse the reqest
+            # parse the request
             # print('uploaded metadata')
             # print(r.text)
         except requests.exceptions.RequestException as e:
@@ -714,7 +714,7 @@ class ModelUploadOperator(Operator):
 
     as_new: BoolProperty(
         name="upload as new",
-        description="delets asset id and uploads as new file",
+        description="deletes asset id and uploads as new file",
         default=False,
         options={'SKIP_SAVE'}
     )
diff --git a/blenderkit/utils.py b/blenderkit/utils.py
index b6e93e1db..7c56ce8a9 100644
--- a/blenderkit/utils.py
+++ b/blenderkit/utils.py
@@ -184,7 +184,7 @@ def save_prefs(self, context):
     # first check context, so we don't do this on registration or blender startup
     if not bpy.app.background: #(hasattr kills blender)
         user_preferences = bpy.context.preferences.addons['blenderkit'].preferences
-        # we test the api key for lenght, so not a random accidentaly typed sequence gets saved.
+        # we test the api key for length, so not a random accidentally typed sequence gets saved.
         lk = len(user_preferences.api_key)
         if 0 < lk < 25:
             # reset the api key in case the user writes some nonsense, e.g. a search string instead of the Key
diff --git a/io_anim_bvh/export_bvh.py b/io_anim_bvh/export_bvh.py
index a8b589df0..f400a8fe3 100644
--- a/io_anim_bvh/export_bvh.py
+++ b/io_anim_bvh/export_bvh.py
@@ -161,7 +161,7 @@ def write_armature(
             "pose_mat",
             # Blender rest matrix (armature space).
             "rest_arm_mat",
-            # Blender rest batrix (local space).
+            # Blender rest matrix (local space).
             "rest_local_mat",
             # Pose_mat inverted.
             "pose_imat",
diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py
index 75d50e72f..ddae543c6 100644
--- a/io_coat3D/tex.py
+++ b/io_coat3D/tex.py
@@ -347,7 +347,7 @@ def readtexturefolder(objekti, mat_list, texturelist, is_new, udim_textures): #r
                 coat3D.remove_path = True
             createnodes(index_mat, texcoat, create_group_node, tile_list, objekti, ind, is_new)
 
-def createnodes(active_mat,texcoat, create_group_node, tile_list, objekti, ind, is_new): # Cretes new nodes and link textures into them
+def createnodes(active_mat,texcoat, create_group_node, tile_list, objekti, ind, is_new): # Creates new nodes and link textures into them
     bring_color = True # Meaning of these is to check if we can only update textures or do we need to create new nodes
     bring_metalness = True
     bring_roughness = True
@@ -366,7 +366,7 @@ def createnodes(active_mat,texcoat, create_group_node, tile_list, objekti, ind,
     main_material = coatMat.node_tree
     applink_group_node = False
 
-    # First go throug all image nodes and let's check if it starts with 3DC and reload if needed
+    # First go through all image nodes and let's check if it starts with 3DC and reload if needed
 
     for node in coatMat.node_tree.nodes:
         if (node.type == 'OUTPUT_MATERIAL'):
diff --git a/io_export_paper_model.py b/io_export_paper_model.py
index 39b65505e..4edbea429 100644
--- a/io_export_paper_model.py
+++ b/io_export_paper_model.py
@@ -216,7 +216,7 @@ class Unfolder:
 
     def save(self, properties):
         """Export the document"""
-        # Note about scale: input is direcly in blender length
+        # Note about scale: input is directly in blender length
         # Mesh.scale_islands multiplies everything by a user-defined ratio
         # exporters (SVG or PDF) multiply everything by 1000 (output in millimeters)
         Exporter = SVG if properties.file_format == 'SVG' else PDF
@@ -438,7 +438,7 @@ class Mesh:
     def generate_stickers(self, default_width, do_create_numbers=True):
         """Add sticker faces where they are needed."""
         def uvedge_priority(uvedge):
-            """Retuns whether it is a good idea to stick something on this edge's face"""
+            """Returns whether it is a good idea to stick something on this edge's face"""
             # TODO: it should take into account overlaps with faces and with other stickers
             face = uvedge.uvface.face
             return face.calc_area() / face.calc_perimeter()
diff --git a/io_mesh_atomic/utility_panel.py b/io_mesh_atomic/utility_panel.py
index 7fb2d8fae..cce9ba141 100644
--- a/io_mesh_atomic/utility_panel.py
+++ b/io_mesh_atomic/utility_panel.py
@@ -390,7 +390,7 @@ def modify_objects(action_type,
                 break
 
 
-# Separating atoms from a dupliverts strucutre.
+# Separating atoms from a dupliverts structure.
 def separate_atoms(scn):
 
     # Get the mesh.
diff --git a/io_scene_fbx/export_fbx_bin.py b/io_scene_fbx/export_fbx_bin.py
index 762fb5b9d..35c17c3d1 100644
--- a/io_scene_fbx/export_fbx_bin.py
+++ b/io_scene_fbx/export_fbx_bin.py
@@ -2972,7 +2972,7 @@ def save_single(operator, scene, depsgraph, filepath="",
         path_mode,
         os.path.dirname(bpy.data.filepath),  # base_src
         os.path.dirname(filepath),  # base_dst
-        # Local dir where to put images (medias), using FBX conventions.
+        # Local dir where to put images (media), using FBX conventions.
         os.path.splitext(os.path.basename(filepath))[0] + ".fbm",  # subdir
         embed_textures,
         set(),  # copy_set
diff --git a/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py b/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py
index 53acb5620..ebb357a87 100755
--- a/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py
+++ b/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py
@@ -14,7 +14,7 @@
 
 
 def get_output_node(node_tree):
-    """Retrive output node."""
+    """Retrieve output node."""
     output = [node for node in node_tree.nodes if node.type == 'OUTPUT_MATERIAL'][0]
     return output
 
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
index f1fc31a2c..7780a9b24 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
@@ -239,7 +239,7 @@ def __gather_mesh(blender_object, export_settings):
 
         armature_modifiers = {}
         if export_settings[gltf2_blender_export_keys.SKINS]:
-            # temprorary disable Armature modifiers if exporting skins
+            # temporarily disable Armature modifiers if exporting skins
             for idx, modifier in enumerate(blender_object.modifiers):
                 if modifier.type == 'ARMATURE':
                     armature_modifiers[idx] = modifier.show_viewport
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py b/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py
index 87e072464..498cbc89b 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py
@@ -106,7 +106,7 @@ class BlenderNodeAnim():
             if channel.target.path in ['translation', 'rotation', 'scale']:
 
                 # There is an animation on object
-                # We can't remove Yup2Zup oject
+                # We can't remove Yup2Zup object
                 gltf.animation_object = True
 
                 if animation.samplers[channel.sampler].interpolation == "CUBICSPLINE":
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
index 24acd3c57..ec74294f0 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
@@ -131,7 +131,7 @@ class BlenderPrimitive():
                 elif gltf.import_settings['import_shading'] == "SMOOTH":
                     poly.use_smooth = True
                 else:
-                    pass  # Should not happend
+                    pass  # Should not happen
 
         offset = offset + pyprimitive.vertices_length
         return offset
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py
index dc19a5494..479167c01 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py
@@ -159,7 +159,7 @@ class BlenderScene():
                     #bpy.context.scene.collection.objects.unlink(obj_rotation)
                     bpy.data.objects.remove(obj_rotation)
 
-                    # Restore collection hiden / disabled values
+                    # Restore collection hidden / disabled values
                     if gltf.blender_active_collection is not None:
                         bpy.data.collections[gltf.blender_active_collection].hide_viewport = gltf.collection_hide_viewport
                         # TODO restore visibility when expose in bpy
diff --git a/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py b/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py
index 6ae48fff9..222aab3ac 100644
--- a/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py
+++ b/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py
@@ -199,7 +199,7 @@ def __compress_primitive(primitive, dll, export_settings):
     # it can finally be compressed.
     if dll.compress(compressor):
 
-        # Compression was successfull.
+        # Compression was successful.
         # Move compressed data into a bytes object,
         # which is referenced by a 'gltf2_io_binary_data.BinaryData':
         #
diff --git a/io_scene_x3d/import_x3d.py b/io_scene_x3d/import_x3d.py
index e2f79ad0c..ea591d7a2 100644
--- a/io_scene_x3d/import_x3d.py
+++ b/io_scene_x3d/import_x3d.py
@@ -2896,7 +2896,7 @@ def importShape_LoadAppearance(vrmlname, appr, ancestry, node, is_vcol):
     USE on an Appearance node and USE on a Material node
     call for different approaches.
 
-    Tools generate repeating, idential material definitions.
+    Tools generate repeating, identical material definitions.
     Can't rely on USE alone. Repeating texture definitions
     are entirely possible, too.
 
diff --git a/mesh_auto_mirror.py b/mesh_auto_mirror.py
index 4407585de..6ec0c059f 100644
--- a/mesh_auto_mirror.py
+++ b/mesh_auto_mirror.py
@@ -1,7 +1,7 @@
 ######################################################################################################
-# An simple add-on to auto cut in two and mirror an object                                           #
-# Actualy partialy uncommented (see further version)                                                 #
-# Author: Lapineige, Bookyakuno                                                                                  #
+# A simple add-on to auto cut in two and mirror an object                                            #
+# Actually partially uncommented (see further version)                                               #
+# Author: Lapineige, Bookyakuno                                                                      #
 # License: GPL v3                                                                                    #
 ######################################################################################################
 # 2.8 update by Bookyakuno, meta-androcto
diff --git a/mesh_bsurfaces.py b/mesh_bsurfaces.py
index 11c80686e..3291134f1 100644
--- a/mesh_bsurfaces.py
+++ b/mesh_bsurfaces.py
@@ -3457,8 +3457,8 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
 class GPENCIL_OT_SURFSK_init(Operator):
     bl_idname = "gpencil.surfsk_init"
     bl_label = "Bsurfaces initialize"
-    bl_description = "Bsurfaces initialiaze"
-    
+    bl_description = "Bsurfaces initialize"
+
     active_object: PointerProperty(type=bpy.types.Object)
 
     def execute(self, context):
diff --git a/mesh_inset/triquad.py b/mesh_inset/triquad.py
index b94da8b03..1a5c266f0 100644
--- a/mesh_inset/triquad.py
+++ b/mesh_inset/triquad.py
@@ -815,7 +815,7 @@ def _EMatch(er):
         return (er, er[1][1])
     i = random.randint(0, len(er) - 1)
     eri = (wi, _, tl, tr) = er[i]
-    # case a: include eri.  exlude other edges that touch tl or tr
+    # case a: include eri. exclude other edges that touch tl or tr
     a = _CopyExcluding(er, tl, tr)
     a.append(eri)
     (amatch, wa) = _DCMatch(a)
diff --git a/mesh_looptools.py b/mesh_looptools.py
index 383bbbed3..1190bfe72 100644
--- a/mesh_looptools.py
+++ b/mesh_looptools.py
@@ -4207,7 +4207,7 @@ class Relax(Operator):
 class Space(Operator):
     bl_idname = "mesh.looptools_space"
     bl_label = "Space"
-    bl_description = "Space the vertices in a regular distrubtion on the loop"
+    bl_description = "Space the vertices in a regular distribution on the loop"
     bl_options = {'REGISTER', 'UNDO'}
 
     influence: FloatProperty(
diff --git a/mesh_snap_utilities_line/op_line.py b/mesh_snap_utilities_line/op_line.py
index 20d5f0b82..685ebca40 100644
--- a/mesh_snap_utilities_line/op_line.py
+++ b/mesh_snap_utilities_line/op_line.py
@@ -210,7 +210,7 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
     wait_for_input : bpy.props.BoolProperty(name="Wait for Input", default=True)
 
     def _exit(self, context):
-        #avoids unpredictable crashs
+        #avoids unpredictable crashes
         del self.main_snap_obj
         del self.main_bm
         del self.list_edges
diff --git a/mesh_tiny_cad/VTX.py b/mesh_tiny_cad/VTX.py
index 531b99b6b..f98e85cb6 100644
--- a/mesh_tiny_cad/VTX.py
+++ b/mesh_tiny_cad/VTX.py
@@ -122,7 +122,7 @@ def do_vtx_if_appropriate(bm, edges):
     if not coplanar:
         return {'NON_PLANAR_EDGES'}
 
-    # point must lie on an edge or the virtual extention of an edge
+    # point must lie on an edge or the virtual extension of an edge
     bm = perform_vtx(bm, point, edges, (p1, p2, p3, p4), vertex_indices)
     return bm
 
diff --git a/mesh_tissue/colors_groups_exchanger.py b/mesh_tissue/colors_groups_exchanger.py
index 00fd36496..b3ffe31fc 100644
--- a/mesh_tissue/colors_groups_exchanger.py
+++ b/mesh_tissue/colors_groups_exchanger.py
@@ -18,10 +18,10 @@
 
 #-------------------------- COLORS / GROUPS EXCHANGER -------------------------#
 #                                                                              #
-# Vertex Color to Vertex Group allow you to convert colors channles to weight  #
+# Vertex Color to Vertex Group allow you to convert colors channels to weight  #
 # maps.                                                                        #
 # The main purpose is to use vertex colors to store information when importing #
-# files from other softwares. The script works with the active vertex color    #
+# files from other software. The script works with the active vertex color     #
 # slot.                                                                        #
 # For use the command "Vertex Clors to Vertex Groups" use the search bar       #
 # (space bar).                                                                 #
diff --git a/mesh_tissue/tessellate_numpy.py b/mesh_tissue/tessellate_numpy.py
index 52b50e604..00d0237cb 100644
--- a/mesh_tissue/tessellate_numpy.py
+++ b/mesh_tissue/tessellate_numpy.py
@@ -2964,7 +2964,7 @@ class TISSUE_PT_tessellate_object(Panel):
                 if props.bool_multi_components:
                     col2.enabled = False
 
-                # TRANFER DATA ### OFF
+                # TRANSFER DATA ### OFF
                 if props.fill_mode != 'PATCH' and False:
                     col = layout.column(align=True)
                     col.label(text="Component Data:")
diff --git a/mesh_tissue/utils.py b/mesh_tissue/utils.py
index f91861204..8e343feaf 100644
--- a/mesh_tissue/utils.py
+++ b/mesh_tissue/utils.py
@@ -78,7 +78,7 @@ def read_weight(_weight, vertex_group):
     #for t in processes: t.join()
     return weight
 
-#Recursivly transverse layer_collection for a particular name
+#Recursively transverse layer_collection for a particular name
 def recurLayerCollection(layerColl, collName):
     found = None
     if (layerColl.name == collName):
diff --git a/object_carver/carver_draw.py b/object_carver/carver_draw.py
index 1e8d636cb..be2b5a4d3 100644
--- a/object_carver/carver_draw.py
+++ b/object_carver/carver_draw.py
@@ -63,7 +63,7 @@ def draw_string(self, color1, color2, left, bottom, text, max_option, divide = 1
 	line_height = (blf.dimensions(font_id, "gM")[1] * 1.45)
 	y_offset = 5
 
-	# Test if the text is a list formated like : ('option', 'key')
+	# Test if the text is a list formatted like : ('option', 'key')
 	if isinstance(text,list):
 		for string in text:
 			blf.position(font_id, (left), (bottom + y_offset), 0)
@@ -76,7 +76,7 @@ def draw_string(self, color1, color2, left, bottom, text, max_option, divide = 1
 			blf.draw(font_id, string[1])
 			y_offset += line_height
 	else:
-		# The text is formated like : ('option')
+		# The text is formatted like : ('option')
 		blf.position(font_id, left, (bottom + y_offset), 0)
 		blf.color(font_id, *color1)
 		blf.draw(font_id, text)
diff --git a/object_color_rules.py b/object_color_rules.py
index dfa835aa3..ad8d75f2f 100644
--- a/object_color_rules.py
+++ b/object_color_rules.py
@@ -167,7 +167,7 @@ def object_colors_calc(rules, objects):
                 if is_set is False:
                     obj_color = color
                 else:
-                    # prevent mixing colors loosing saturation
+                    # prevent mixing colors losing saturation
                     obj_color_s = obj_color.s
                     obj_color = (obj_color * blend[0]) + (color * blend[1])
                     obj_color.s = (obj_color_s * blend[0]) + (color.s * blend[1])
diff --git a/object_fracture_cell/fracture_cell_setup.py b/object_fracture_cell/fracture_cell_setup.py
index 83f7cdd1f..cb72aa1f8 100644
--- a/object_fracture_cell/fracture_cell_setup.py
+++ b/object_fracture_cell/fracture_cell_setup.py
@@ -249,7 +249,7 @@ def cell_fracture_objects(context, obj,
             except RuntimeError:
                 import traceback
                 traceback.print_exc()
-        # Smooth faces will remain only inner faces, after appling boolean modifier.
+        # Smooth faces will remain only inner faces, after applying boolean modifier.
         if use_smooth_faces:
             for bm_face in bm.faces:
                 bm_face.smooth = True
diff --git a/rigify/__init__.py b/rigify/__init__.py
index 4374116f6..000100f4d 100644
--- a/rigify/__init__.py
+++ b/rigify/__init__.py
@@ -143,7 +143,7 @@ class RigifyPreferences(AddonPreferences):
             print('Reloading external metarigs...')
             metarig_menu.get_external_metarigs(set_list)
 
-            # Re-register rig paramaters
+            # Re-register rig parameters
             register_rig_parameters()
 
     legacy_mode: BoolProperty(
diff --git a/rigify/legacy/utils.py b/rigify/legacy/utils.py
index f74a7abfe..6a92a961a 100644
--- a/rigify/legacy/utils.py
+++ b/rigify/legacy/utils.py
@@ -354,7 +354,7 @@ def obj_to_bone(obj, rig, bone_name):
 
 def create_circle_polygon(number_verts, axis, radius=1.0, head_tail=0.0):
     """ Creates a basic circle around of an axis selected.
-        number_verts: number of vertices of the poligon
+        number_verts: number of vertices of the polygon
         axis: axis normal to the circle
         radius: the radius of the circle
         head_tail: where along the length of the bone the circle is (0.0=head, 1.0=tail)
diff --git a/rigify/rig_ui_template.py b/rigify/rig_ui_template.py
index 3fbcf9965..6180ad036 100644
--- a/rigify/rig_ui_template.py
+++ b/rigify/rig_ui_template.py
@@ -526,7 +526,7 @@ def ik2fk_leg(obj, fk, ik):
 
     else:
         # Stretch
-        if 'stretch_lenght' in footi.keys() and 'stretch_lenght' in thigh.keys():
+        if 'stretch_length' in footi.keys() and 'stretch_length' in thigh.keys():
             # Kept for compat with legacy rigify Human
             footi['stretch_length'] = thigh['stretch_length']
 
diff --git a/rigify/utils/widgets.py b/rigify/utils/widgets.py
index 8f1e34424..85b81cffb 100644
--- a/rigify/utils/widgets.py
+++ b/rigify/utils/widgets.py
@@ -98,7 +98,7 @@ def create_widget(rig, bone_name, bone_transform_name=None):
 
 def create_circle_polygon(number_verts, axis, radius=1.0, head_tail=0.0):
     """ Creates a basic circle around of an axis selected.
-        number_verts: number of vertices of the poligon
+        number_verts: number of vertices of the polygon
         axis: axis normal to the circle
         radius: the radius of the circle
         head_tail: where along the length of the bone the circle is (0.0=head, 1.0=tail)
diff --git a/space_view3d_align_tools.py b/space_view3d_align_tools.py
index 8a9212f66..b8c02968b 100644
--- a/space_view3d_align_tools.py
+++ b/space_view3d_align_tools.py
@@ -141,7 +141,7 @@ def align_function(subject, active_too, consistent, self_or_active, loc_x, loc_y
 
         me = obj.data
         co_list = []
-        # let's get all the points coodinates
+        # let's get all the points coordinates
         if space == "global":
             ok = False
             obj_mtx = obj.matrix_world
@@ -626,7 +626,7 @@ class OBJECT_OT_align_tools(Operator):
             name="Selection reference",
             description="Moved objects reference point"
             )
-    # Active Oject Option:
+    # Active Object Option:
     ref2: EnumProperty(
             items=(("3", "Max", "Align to the maximum point"),
                    ("1", "Center", "Align to the center point"),
diff --git a/space_view3d_copy_attributes.py b/space_view3d_copy_attributes.py
index 7037354c6..f75d185be 100644
--- a/space_view3d_copy_attributes.py
+++ b/space_view3d_copy_attributes.py
@@ -144,7 +144,7 @@ def pLoopExec(self, context, funk):
         funk(bone, active, context)
 
 
-# The following functions are used o copy attributes from active to bone
+# The following functions are used to copy attributes from active to bone
 
 def pLocLocExec(bone, active, context):
     bone.location = active.location
@@ -316,7 +316,7 @@ def world_to_basis(active, ob, context):
     return(mat)
 
 
-# The following functions are used o copy attributes from
+# The following functions are used to copy attributes from
 # active to selected object
 
 def obLoc(ob, active, context):
diff --git a/space_view3d_math_vis/__init__.py b/space_view3d_math_vis/__init__.py
index 94d871d33..e110ac529 100644
--- a/space_view3d_math_vis/__init__.py
+++ b/space_view3d_math_vis/__init__.py
@@ -246,7 +246,7 @@ class MathVis(PropertyGroup):
     in_front: BoolProperty(
         name="Always In Front",
         default=True,
-        description="Draw Points and lines alwasy in front",
+        description="Draw Points and lines always in front",
         update=call_console_hook
     )
 
-- 
GitLab