diff --git a/en/OpenHarmony-Overview.md b/en/OpenHarmony-Overview.md
index 99b54ccfb9742bbde4516cf46f8579ca1e1a8909..fe725c9e7722b73ef79d49329bf680994e90abb3 100644
--- a/en/OpenHarmony-Overview.md
+++ b/en/OpenHarmony-Overview.md
@@ -380,7 +380,7 @@ For details about how to contribute, see [How to Contribute](contribute/how-to-
OpenHarmony complies with Apache License Version 2.0. For details, see the LICENSE in each repository.
-OpenHarmony uses third-party open-source software and licenses. For details, see [Third-Party Open-Source Software](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6%E5%8F%8A%E8%AE%B8%E5%8F%AF%E8%AF%81%E8%AF%B4%E6%98%8E.md).
+OpenHarmony uses third-party open-source software and licenses. For details, see [Third-Party Open-Source Software](https://gitee.com/openharmony/docs/blob/master/en/contribute/third-party-open-source-software-and-license-notice.md).
## Contact Info
diff --git a/en/application-dev/ability/fa-formability.md b/en/application-dev/ability/fa-formability.md
index 49f2cf96d7d515fe60c9b8d85e793e7c9fbb9111..7a8720f75af16d96de19999cb8ce86fccc5e9640 100644
--- a/en/application-dev/ability/fa-formability.md
+++ b/en/application-dev/ability/fa-formability.md
@@ -7,10 +7,15 @@ A widget displays brief information about an application on the UI of another ap
Basic concepts:
- Widget provider
+
The widget provider is an atomic service that provides the content to be displayed. It controls the display content, component layout, and component click events of a widget.
+
- Widget host
+
The widget host is an application that displays the widget content and controls the position where the widget is displayed in the host application.
+
- Widget Manager
+
The Widget Manager is a resident agent that manages widgets added to the system and provides functions such as periodic widget update.
>  **NOTE**
diff --git a/en/application-dev/ui/ui-ts-building-data-model.md b/en/application-dev/ui/ui-ts-building-data-model.md
index 66b713bf5e693cfc6f58b7172ecd370450c8dd99..8ca60a2c02f5310baf8ec4fa581dc2117c62decd 100644
--- a/en/application-dev/ui/ui-ts-building-data-model.md
+++ b/en/application-dev/ui/ui-ts-building-data-model.md
@@ -8,8 +8,9 @@ On the created page, we use various items to describe food, such as food names,
1. Create a folder named model and create a file named FoodData.ets therein.
- 
-
+
+
+
2. Define a food data storage model, FoodData, and an enum variable, Category. The FoodData class contains the food ID, name, category, image, calories, protein, fat, carbohydrates, and vitamin C attributes.
The eTS programming language is an extension of the TS language and also supports the TS syntax.
diff --git a/en/contribute/contribution-process.md b/en/contribute/contribution-process.md
index 2544af35936a29020d37f26bc72516a555740f60..97e7742034627eeae65dfcac2b9295dd886b1302 100755
--- a/en/contribute/contribution-process.md
+++ b/en/contribute/contribution-process.md
@@ -34,12 +34,14 @@ Perform the following steps to download the code in the repository to your compu
```
2. Clone the remote repository.
- - You can copy the address of the remote repository on the repository page.
+ - You can copy the address of the remote repository on the repository page.
- **Figure 1**
+ **Figure 1**
- - Run the following command on the local host:
+ 
+ - Run the following command on the local host:
+
```
git clone $remote_link
```
diff --git a/en/contribute/figures/clone.png b/en/contribute/figures/clone.png
index dc499827a432f72adda7c12a70576f5e6e2a212b..14297059405ba2035f5f165e38e62624c2178e29 100644
Binary files a/en/contribute/figures/clone.png and b/en/contribute/figures/clone.png differ
diff --git a/en/device-dev/faqs/faqs-building.md b/en/device-dev/faqs/faqs-building.md
index cb7adfc3ad888cdc16a76398d7a2b3a275aceba2..f2460c5ac8c75df731e69fe73cb8185cb3144e01 100644
--- a/en/device-dev/faqs/faqs-building.md
+++ b/en/device-dev/faqs/faqs-building.md
@@ -7,25 +7,30 @@
### "usr/sbin/ninja: invalid option -- w" Displayed During the Build Process
- **Symptom**
- The compilation fails, and **usr/sbin/ninja: invalid option -- w** is displayed.
-
+
+The compilation fails, and **usr/sbin/ninja: invalid option -- w** is displayed.
+
- **Possible Causes**
- The Ninja version in the compilation environment is outdated and does not support the **--w** option.
-
+
+The Ninja version in the compilation environment is outdated and does not support the **--w** option.
+
- **Solution**
+
Uninstall Ninja and GN in the environment and reinstall them by following instructions in [Obtaining Tools](../get-code/gettools-ide.md).
### "/usr/bin/ld: cannot find -lncurses" Displayed During the Build Process
- **Symptom**
- The compilation fails, and **/usr/bin/ld: cannot find -lncurses** is displayed.
-
+
+The compilation fails, and **/usr/bin/ld: cannot find -lncurses** is displayed.
+
- **Possible Causes**
- The ncurses library is not installed.
-
+
+The ncurses library is not installed.
+
- **Solution**
-
+
```
Run **sudo apt-get install lib32ncurses5-dev** to install the library.
```
@@ -34,13 +39,15 @@
### "line 77: mcopy: command not found" Displayed During the Build Process
- **Symptom**
- The compilation fails, and **line 77: mcopy: command not found** is displayed.
-
+
+The compilation fails, and **line 77: mcopy: command not found** is displayed.
+
- **Possible Causes**
- Mcopy is not installed.
-
+
+Mcopy is not installed.
+
- **Solution**
-
+
```
Run **sudo apt-get install dosfstools mtools** to install mcopy.
```
@@ -49,37 +56,43 @@
### "riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory" Displayed During the Build Process
- **Symptom**
- The compilation fails, and the following information is displayed: **riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory**.
-
+
+The compilation fails, and the following information is displayed: **riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory**.
+
- **Possible Causes**
- Permission is required to access files in the **riscv** compiler path.
-
+
+Permission is required to access files in the **riscv** compiler path.
+
- **Solution**
- Run the following command to query the directory where **gcc_riscv32** is located:
+ Run the following command to query the directory where **gcc_riscv32** is located:
+
```
which riscv32-unknown-elf-gcc
- ```
-
+```
+
Run the **chmod** command to change the directory permission to **755**.
### "No module named 'Crypto'" Displayed During the Build Process
- **Symptom**
- The compilation fails, and **No module named'Crypto loaded** is displayed.
-
+
+The compilation fails, and **No module named'Crypto loaded** is displayed.
+
- **Possible Causes**
- Crypto is not installed in Python3.
-
+
+Crypto is not installed in Python3.
+
- **Solution**
+
1. Run the following command to query the Python version:
-
+
```
python3 --version
```
2. Ensure that Python 3.7 or later is installed, and then run the following command to install pycryptodome:
-
+
```
sudo pip3 install pycryptodome
```
@@ -88,13 +101,15 @@
### "xx.sh : xx unexpected operator" Displayed During the Build Process
- **Symptom**
- The compilation fails, and **xx.sh [: xx unexpected operator** is displayed.
-
+
+The compilation fails, and **xx.sh [: xx unexpected operator** is displayed.
+
- **Possible Causes**
- The compilation environment is shell instead of bash.
-
+
+The compilation environment is shell instead of bash.
+
- **Solution**
-
+
```
sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh
@@ -104,52 +119,58 @@
### "Could not find a version that satisfies the requirement six>=1.9.0" Displayed During the Build Process
- **Symptom**
- The following error occurs during compilation and building:
-
-
+
+The following error occurs during compilation and building:
+
+
```
Could not find a version that satisfies the requirement six>=1.9.0
- ```
-
+```
+
- **Possible Causes**
- **six** is not installed.
-
+
+**six** is not installed.
+
- **Solution**
- Solution 1: Run the **pip3 install six** command to install **six** online.
-
- Method 2: Offline installation
-
- Download the installation package from [PyPI](https://pypi.org/project/six/#files).
-
- 
-
- Save the source code to the Linux server and run the **pip3 install six-1.14.0-py2.py3-none-any.whl** command to install **six**.
-
+
+Solution 1: Run the **pip3 install six** command to install **six** online.
+
+Method 2: Offline installation
+
+Download the installation package from [PyPI](https://pypi.org/project/six/#files).
+
+
+
+Save the source code to the Linux server and run the **pip3 install six-1.14.0-py2.py3-none-any.whl** command to install **six**.
+
After the preceding installation is complete, rebuild an environment.
### "cannot find -lgcc" Displayed During the Build Process
- **Symptom**
- The following error occurs during the build process:
-
-
+
+The following error occurs during the build process:
+
+
```
riscv32-unknown-elf-ld: cannot find -lgcc
- ```
-
+```
+
- **Possible Causes**
- The PATH is incorrectly written by **gcc_riscv32**. There is an extra slash (/).
-
-
+
+The PATH is incorrectly written by **gcc_riscv32**. There is an extra slash (/).
+
+
```
~/gcc_riscv32/bin/:/data/toolchain/
- ```
-
+```
+
- **Solution**
- Modify the PATH by deleting the slash (/).
-
-
+
+Modify the PATH by deleting the slash (/).
+
+
```
~/gcc_riscv32/bin:/data/toolchain/
```
@@ -158,42 +179,47 @@
### The Message Indicating Python Cannot Be Found Is Displayed During the Build Process
- **Symptom**
- The following error occurs during the build process:
-
-
+
+The following error occurs during the build process:
+
+
```
-bash: /usr/bin/python: No such file or directory
- ```
-
+```
+
- **Possible Cause 1**
- Python is not installed.
-
+
+Python is not installed.
+
- **Solution**
- Run the following command to install Python. The following uses Python 3.8 as an example.
-
-
+
+Run the following command to install Python. The following uses Python 3.8 as an example.
+
+
```
sudo apt-get install python3.8
- ```
-
+```
+
- **Possible Cause 2**
- The soft link that points to the Python does not exist in the **usr/bin** directory.
-
- 
-
+
+The soft link that points to the Python does not exist in the **usr/bin** directory.
+
+
+
- **Solution**
- Run the following commands to add a soft link:
-
-
+
+Run the following commands to add a soft link:
+
+
```
# cd /usr/bin/
# which python3
# ln -s /usr/local/bin/python3 python
# python --version
- ```
-
- Example:
-
+```
+
+Example:
+

@@ -204,12 +230,14 @@

- **Possible Causes**
- Python 3 is not installed.
-
+
+Python 3 is not installed.
+
- **Solution**
- Run the following command to install Python 3:
-
-
+
+Run the following command to install Python 3:
+
+
```
sudo apt-get install python3.8
```
diff --git a/en/device-dev/faqs/faqs-burning.md b/en/device-dev/faqs/faqs-burning.md
index 631579e20b792fe56b181a412c639b53348cf1a6..80d948564f2c43db713774ff954070b2c1fa0720 100644
--- a/en/device-dev/faqs/faqs-burning.md
+++ b/en/device-dev/faqs/faqs-burning.md
@@ -7,30 +7,32 @@
### "Error: Opening COMxx: Access denied" Displayed When I Start Burning
- **Symptom**
- **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port.
-
+
+**Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port.
+
**Figure 1** Failed to open the serial port
- 
-
+ 
+
- **Possible Causes**
- The serial port is in use.
-
+
+The serial port is in use.
+
- **Solution**
1. Search for the terminal using serial-xx from the drop-down list in the **TERMINAL** panel.
-
+
**Figure 2** Checking whether the serial port is in use

2. Click the dustbin icon as shown below to disable the terminal using the serial port.
-
+
**Figure 3** Disabling the terminal using the serial port

3. Click **Burn**, select the serial port, and start burning images again.
-
+
**Figure 4** Restarting the burning task

@@ -39,34 +41,42 @@
### The Image Failed To Be Burnt
- **Symptom**
- The burning status is not displayed after clicking **Burn** and selecting a serial port.
-
+
+The burning status is not displayed after clicking **Burn** and selecting a serial port.
+
- **Possible Causes**
- The IDE is not restarted after the DevEco plug-in is installed.
-
+
+The IDE is not restarted after the DevEco plug-in is installed.
+
- **Solution**
+
Restart the IDE.
### No Command Output Is Displayed
- **Symptom**
- The serial port shows that the connection has been established. After the board is restarted, nothing is displayed when you press **Enter**.
-
+
+The serial port shows that the connection has been established. After the board is restarted, nothing is displayed when you press **Enter**.
+
- **Possible Cause 1**
- The serial port is connected incorrectly.
-
+
+The serial port is connected incorrectly.
+
- **Solution**
- Change the serial port number.
-
- Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step 1 in the **Running an Image** section to change the serial port number.
-
+
+Change the serial port number.
+
+Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step 1 in the **Running an Image** section to change the serial port number.
+
- **Possible Cause 2**
- The U-Boot of the board is damaged.
-
+
+The U-Boot of the board is damaged.
+
- **Solution**
- Burn the U-Boot.
-
+
+Burn the U-Boot.
+
If the fault persists after you perform the preceding operations, the U-Boot of the board may be damaged. You can burn the U-Boot by performing the following steps:
1. Obtain the U-Boot file.
@@ -90,41 +100,42 @@
### Windows-based PC Failed to Be Connected to the Board
- **Symptom**
- The file image cannot be obtained after clicking **Burn** and selecting a serial port.
-
+
+The file image cannot be obtained after clicking **Burn** and selecting a serial port.
+
**Figure 6** Failed to obtain the file image due to network disconnection
-
- 
-
+
+ 
+
- **Possible Causes**
- The board is disconnected from the Windows-based PC.
-
- Windows Firewall does not allow Visual Studio Code to access the network.
-
+
+The board is disconnected from the Windows-based PC.
+
+Windows Firewall does not allow Visual Studio Code to access the network.
+
- **Solution**
-1. Check whether the network cable is properly connected.
+ 1. Check whether the network cable is properly connected.
+ 2. Click **Windows Firewall**.
-2. Click **Windows Firewall**.
-
- **Figure 7** Setting the firewall
-
- 
+**Figure 7** Setting the firewall
+
+
3. Click **Firewall & network protection**, and on the displayed page, click **Allow an app through the firewall**.
-
- **Figure 8** Firewall & network protection
-
- 
+
+**Figure 8** Firewall & network protection
+
+
4. Select Visual Studio Code.
-
- **Figure 9** Selecting Visual Studio Code
+
+**Figure 9** Selecting Visual Studio Code
- 
+
5. Select the **Private** and **Public** network access rights for Visual Studio Code.
-
- **Figure 10** Allowing Visual Studio Code to access the network
-
- 
+
+**Figure 10** Allowing Visual Studio Code to access the network
+
+
\ No newline at end of file
diff --git a/en/device-dev/faqs/faqs-environment-setup.md b/en/device-dev/faqs/faqs-environment-setup.md
index 7203aa59ffcf0f3bde473bfe78585856916f19b1..effd86528992a588f8c760c1e2b5c2e47e9a9e06 100644
--- a/en/device-dev/faqs/faqs-environment-setup.md
+++ b/en/device-dev/faqs/faqs-environment-setup.md
@@ -7,15 +7,18 @@
### What should I do if garbled characters and segmentation faults occur during hb installation?
- **Symptom**
- Garbled characters and segmentation faults occur during the execution of the **python3 -m pip install --user ohos-build** command.
-
+
+Garbled characters and segmentation faults occur during the execution of the **python3 -m pip install --user ohos-build** command.
+
- **Possible Causes**
- pip is of an early version.
-
+
+pip is of an early version.
+
- **Solution**
- Upgrade pip.
-
-
+
+Upgrade pip.
+
+
```
python3 -m pip install -U pip
```
@@ -24,15 +27,18 @@
### What should I do if the message "cannot import 'sysconfig' from 'distutils'" is displayed during hb installation?
- **Symptom**
- The message "cannot import 'sysconfig' from 'distutils'" is displayed during the execution of the **python3 -m pip install --user ohos-build** command.
-
+
+The message "cannot import 'sysconfig' from 'distutils'" is displayed during the execution of the **python3 -m pip install --user ohos-build** command.
+
- **Possible Causes**
- The **distutils** module is unavailable.
-
+
+The **distutils** module is unavailable.
+
- **Solution**
- Install **distutils**.
-
-
+
+Install **distutils**.
+
+
```
sudo apt-get install python3.8-distutils
```
@@ -41,15 +47,18 @@
### What should I do if the message "module 'platform' has no attribute 'linux_distribution'" is displayed during hb installation?
- **Symptom**
- The message "module 'platform' has no attribute 'linux_distribution'" is displayed during the execution of the **python3 -m pip install --user ohos-build** command.
-
+
+The message "module 'platform' has no attribute 'linux_distribution'" is displayed during the execution of the **python3 -m pip install --user ohos-build** command.
+
- **Possible Causes**
- There is a compatibility issue of python3-pip.
-
+
+There is a compatibility issue of python3-pip.
+
- **Solution**
- Reinstall pip.
-
-
+
+Reinstall pip.
+
+
```
sudo apt remove python3-pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
@@ -60,15 +69,18 @@
### What should I do if the message "Could not find a version that satisfies the requirement ohos-build" is displayed during hb installation?
- **Symptom**
- The message "Could not find a version that satisfies the requirement ohos-build" is displayed during the execution of the **python3 -m pip install --user ohos-build** command.
-
+
+The message "Could not find a version that satisfies the requirement ohos-build" is displayed during the execution of the **python3 -m pip install --user ohos-build** command.
+
- **Possible Causes**
- The installation fails due to poor network connectivity.
-
+
+The installation fails due to poor network connectivity.
+
- **Solution**
+
1. Ensure that your computer has a good network connection. If the network connection is unstable, rectify the network fault and reinstall hb.
2. If the network is functional, run the following commands to install hb by specifying a temporary PyPI source:
-
+
```
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ohos-build
```
@@ -77,17 +89,20 @@
### What should I do if the message "configure: error: no acceptable C compiler found in $PATH" is displayed during Python 3 installation?
- **Symptom**
- The following error occurs during Python 3 installation:
-
-
+
+The following error occurs during Python 3 installation:
+
+
```
configure: error: no acceptable C compiler found in $PATH. See 'config.log' for more details
- ```
-
+```
+
- **Possible Causes**
- **gcc** is not installed.
-
+
+**gcc** is not installed.
+
- **Solution**
+
1. Run the **apt-get install gcc** command to install **gcc** online.
2. After the installation, reinstall Python 3.
@@ -95,17 +110,20 @@
### What should I do if the message "-bash: make: command not found is displayed" during Python 3 installation?
- **Symptom**
- The following error occurs during Python 3 installation:
-
-
+
+The following error occurs during Python 3 installation:
+
+
```
-bash: make: command not found
- ```
-
+```
+
- **Possible Causes**
- **Make** is not installed.
-
+
+**Make** is not installed.
+
- **Solution**
+
1. Run the **apt-get install make** command to install Make online.
2. After the installation, reinstall Python 3.
@@ -113,92 +131,104 @@
### What should I do if the message **zlib not available** is displayed during Python 3 installation?
- **Symptom**
- The following error occurs during Python 3 installation:
-
-
+
+The following error occurs during Python 3 installation:
+
+
```
zipimport.ZipImportError: can't decompress data; zlib not available
- ```
-
+```
+
- **Possible Causes**
- **zlib** is not installed.
-
+
+**zlib** is not installed.
+
- **Solution**
- Solution 1: Run the **apt-get install zlib** command to install **zlib** online.
-
- Solution 2: If the software source does not contain **zlib**, download the source code from