diff --git a/README.md b/README.md
index 5e1e9ec..35e7358 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,7 @@ Sometimes I add new posts about this project [on my home page](https://developer
* Vietnamese by [Hai Phan Nguyen (pnghai)](https://github.com/pnghai)
* Czech by [Spenaat](https://github.com/spenaat)
* Chinese (Traditional) by [qazrfv1234](https://github.com/qazrfv1234)
+* Arabic by [eslamabdel](https://github.com/eslamabdel)
### System requirements
diff --git a/pom.xml b/pom.xml
index e900a92..ac9c186 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
NS-USBloader
ns-usbloader
- 4.5-SNAPSHOT
+ 5.0-SNAPSHOT
https://github.com/developersu/ns-usbloader/
diff --git a/src/main/java/nsusbloader/NSLMain.java b/src/main/java/nsusbloader/NSLMain.java
index 606c89c..f3c9d98 100644
--- a/src/main/java/nsusbloader/NSLMain.java
+++ b/src/main/java/nsusbloader/NSLMain.java
@@ -32,7 +32,7 @@ import java.util.ResourceBundle;
public class NSLMain extends Application {
- public static final String appVersion = "v4.5";
+ public static final String appVersion = "v5.0";
public static boolean isCli;
@Override
diff --git a/src/main/resources/locale_ar_AR.properties b/src/main/resources/locale_ar_AR.properties
new file mode 100644
index 0000000..1f5db48
--- /dev/null
+++ b/src/main/resources/locale_ar_AR.properties
@@ -0,0 +1,71 @@
+btn_OpenFile=\u0627\u062E\u062A\u0631 \u0627\u0644\u0645\u0644\u0641\u0627\u062A
+btn_Upload=\u0627\u0631\u0641\u0639 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0644\u0644\u062C\u0647\u0627\u0632
+tab3_Txt_EnteredAsMsg1=\u0644\u0642\u062F \u0633\u062C\u0644\u062A \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0625\u0633\u0645 :
+tab3_Txt_EnteredAsMsg2=\u064A\u0646\u0628\u063A\u064A \u0623\u0646 \u062A\u0643\u0648\u0646 root \u0623\u0648 \u0639\u062F\u0644\u062A \u0635\u0644\u0627\u062D\u064A\u0627\u062A 'udev' \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0644\u062A\u062C\u0646\u0628 \u0623\u064A \u0645\u0634\u0643\u0644\u0629.
+tab3_Txt_FilesToUploadTitle=\u0645\u0644\u0641\u0627\u062A \u0644\u0644\u0631\u0641\u0639 :
+tab3_Txt_GreetingsMessage=\u0645\u0631\u062D\u0628\u0627 \u0628\u0643 \u0641\u064A \u0628\u0631\u0646\u0627\u0645\u062C \u0646\u064A\u0646\u062A\u0627\u0646\u062F\u0648 \u0633\u0648\u064A\u062A\u0634 "\u064A\u0648 \u0625\u0633 \u0628\u064A \u0644\u0648\u062F\u0631"
+tab3_Txt_NoFolderOrFileSelected=\u0644\u0645 \u064A\u062A\u0645 \u0627\u062E\u062A\u064A\u0627\u0631 \u0623\u064A \u0645\u0644\u0641\u0627\u062A : \u0644\u0627 \u0634\u064A\u0626 \u0644\u0644\u0631\u0641\u0639.
+windowBodyConfirmExit=\u062C\u0627\u0631\u064A \u0646\u0642\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0648\u0627\u0646\u0647\u0627\u0621 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0633\u0648\u0641 \u064A\u0648\u0642\u0641\u0647\u0627.\n\u0630\u0644\u0643 \u0623\u0633\u0648\u0623 \u0645\u0627 \u064A\u0645\u0643\u0646\u0643 \u0639\u0645\u0644\u0647 \u0627\u0644\u0622\u0646.\n\u0627\u064A\u0642\u0627\u0641 \u0627\u0644\u0639\u0645\u0644\u064A\u0629 \u0645\u0639 \u0627\u0644\u062E\u0631\u0648\u062C?
+windowTitleConfirmExit=\u0644\u0627 , \u0644\u0627 \u062A\u0641\u0639\u0644 \u0630\u0644\u0643!
+btn_Stop=\u0625\u064A\u0642\u0627\u0641
+tab3_Txt_GreetingsMessage2=--\n\
+\u0627\u0644\u0645\u0635\u062F\u0631: https://github.com/developersu/ns-usbloader/\n\
+\u0627\u0644\u0645\u0648\u0642\u0639: https://developersu.blogspot.com/search/label/NS-USBloader\n\
+Dmitry Isaenko [developer.su]
+tab1_table_Lbl_Status=\u0627\u0644\u062D\u0627\u0644\u0629
+tab1_table_Lbl_FileName=\u0627\u0633\u0645 \u0627\u0644\u0645\u0644\u0641
+tab1_table_Lbl_Size=\u0627\u0644\u062D\u062C\u0645
+tab1_table_Lbl_Upload=\u0631\u0641\u0639?
+tab1_table_contextMenu_Btn_BtnDelete=\u062D\u0630\u0641
+tab1_table_contextMenu_Btn_DeleteAll=\u062D\u0630\u0641 \u0627\u0644\u0643\u0644
+tab2_Lbl_HostIP=\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0640 "\u0623\u064A \u0628\u064A" \u0644\u0644\u0645\u0636\u064A\u0641:
+tab1_Lbl_NSIP=\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0640 "\u0623\u064A \u0628\u064A" \u0644\u0644\u0646\u064A\u0646\u062A\u0627\u0646\u062F\u0648 \u0633\u0648\u064A\u062A\u0634:
+tab2_Cb_ValidateNSHostName=\u062A\u062D\u0642\u0642 \u062F\u0627\u0626\u0645\u0627 \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644 "\u0623\u064A \u0628\u064A" \u0644\u0644\u0646\u064A\u0646\u062A\u0627\u0646\u062F\u0648 \u0633\u0648\u064A\u062A\u0634.
+windowBodyBadIp=\u0647\u0644 \u0627\u0646\u062A \u0645\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644\u0643 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0640 "\u0623\u064A \u0628\u064A" \u0644\u0644\u0646\u064A\u0646\u062A\u0627\u0646\u062F\u0648 \u0633\u0648\u064A\u062A\u0634 \u0628\u0635\u0648\u0631\u0629 \u0635\u062D\u064A\u062D\u0629\u061F
+windowTitleBadIp=\u0639\u0646\u0648\u0627\u0646 \u0627\u0644 \u0623\u064A \u0628\u064A \u0644\u0644\u0646\u064A\u0646\u062A\u0627\u0646\u062F\u0648 \u0633\u0648\u064A\u062A\u0634 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D \u0641\u064A \u0627\u0644\u063A\u0627\u0644\u0628.
+tab2_Cb_ExpertMode=\u0648\u0636\u0639 \u0627\u0644\u0645\u062D\u062A\u0631\u0641\u064A\u0646 (\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0646\u062A)
+tab2_Lbl_HostPort=\u0627\u0644\u0645\u0646\u0641\u0630
+tab2_Cb_AutoDetectIp=\u0643\u0634\u0641 \u062A\u0644\u0642\u0627\u0626\u064A \u0639\u0646 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0640 "\u0623\u064A \u0628\u064A"
+tab2_Cb_RandSelectPort=\u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0634\u0648\u0627\u0626\u064A\u0627 \u0639\u0646 \u0645\u0646\u0641\u0630
+tab2_Cb_DontServeRequests=\u0644\u0627 \u062A\u062C\u064A\u0628 \u0639\u0644\u0649 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0627\u062A
+tab2_Lbl_DontServeRequestsDesc=\u0627\u0630\u0627 \u062A\u0645 \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631 , \u0641\u0625\u0646 \u0647\u0630\u0627 \u0627\u0644\u062D\u0627\u0633\u0628 \u0644\u0646 \u064A\u0633\u062A\u062C\u064A\u0628 \u0644\u0637\u0644\u0628\u0627\u062A \u0627\u0644\u0646\u064A\u0646\u062A\u0627\u0646\u062F\u0648 \u0633\u0648\u064A\u062A\u0634 \u0628\u0634\u0623\u0646 \u0645\u0644\u0641\u0627\u062A \u0627\u0644\u0640 "\u0625\u0646 \u0625\u0633 \u0628\u064A" (\u0639\u0628\u0631 \u0627\u0644\u0627\u0646\u062A\u0631\u0646\u062A) \u0648\u064A\u0633\u062A\u062E\u062F\u0645 \u0625\u0639\u062F\u0627\u062F\u062A \u0645\u062D\u062F\u062F\u0629 \u0644\u064A\u062E\u0628\u0631 \u0628\u0631\u0646\u0627\u0645\u062C "\u062A\u064A\u0646\u0641\u0648\u064A\u0644" \u0623\u064A\u0646 \u064A\u0646\u0628\u063A\u064A \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0627\u0644\u0645\u0644\u0641\u0627\u062A.
+tab2_Lbl_HostExtra=\u0625\u0636\u0627\u0641\u0627\u062A
+windowTitleErrorPort=\u0625\u0639\u062F\u0627\u062F \u062E\u0627\u0637\u0626 \u0644\u0644\u0645\u0646\u0641\u0630
+windowBodyErrorPort=\u0627\u0644\u0645\u0646\u0641\u0630 \u0644\u0627 \u064A\u0645\u0643\u0646 \u0623\u0646 \u064A\u0643\u0648\u0646 0 \u0623\u0648 \u0623\u0643\u0628\u0631 \u0645\u0646 65535.
+tab2_Cb_AutoCheckForUpdates=\u0628\u062D\u062B \u062A\u0644\u0642\u0627\u0626\u064A \u0644\u0644\u062A\u062D\u062F\u064A\u062B\u0627\u062A
+windowTitleNewVersionAval=\u064A\u0648\u062C\u062F \u0625\u0635\u062F\u0627\u0631 \u062C\u062F\u064A\u062F \u0644\u0644\u0628\u0631\u0646\u0627\u0645\u062C
+windowTitleNewVersionNOTAval=\u0644\u0627 \u064A\u0648\u062C\u062F \u0625\u0635\u062F\u0627\u0631 \u062C\u062F\u064A\u062F
+windowTitleNewVersionUnknown=\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0627\u0644\u062A\u062D\u062F\u064A\u062B\u0627\u062A
+windowBodyNewVersionUnknown=\u064A\u0648\u062C\u062F \u062E\u0637\u0623 \u0645\u0627\n\u0631\u0628\u0645\u0627 \u0627\u0646\u0642\u0637\u0639 \u0627\u0644\u0625\u062A\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A , \u0623\u0648 \u0623\u0646 \u0627\u0644\u0645\u0648\u0642\u0639 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u0627\u0644\u0622\u0646
+windowBodyNewVersionNOTAval=\u0644\u062F\u064A\u0643 \u0623\u062D\u062F\u062B \u0625\u0635\u062F\u0627\u0631
+tab2_Cb_AllowXciNszXcz=\u0627\u0644\u0633\u0645\u0627\u062D \u0644\u0628\u0631\u0646\u0627\u0645\u062C "\u062A\u064A\u0646\u0641\u0648\u064A\u0644" \u0628\u0625\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 "\u0625\u0643\u0633 \u0633\u064A \u0622\u064A" \u0623\u0648 "\u0625\u0646 \u0625\u0633 \u0632\u062F" \u0623\u0648 "\u0625\u0643\u0633 \u0633\u064A \u0632\u062F"
+tab2_Lbl_AllowXciNszXczDesc=\u0645\u0633\u062A\u062E\u062F\u0645 \u0628\u0627\u0644\u0628\u0631\u0627\u0645\u062C \u0627\u0644\u062A\u064A \u062A\u062F\u0639\u0645 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 "\u0625\u0643\u0633 \u0633\u064A \u0622\u064A" \u0623\u0648 "\u0625\u0646 \u0625\u0633 \u0632\u062F" \u0623\u0648 "\u0625\u0643\u0633 \u0633\u064A \u0632\u062F" \u0648\u062A\u0633\u062A\u062E\u062F\u0645 \u0628\u0631\u0648\u062A\u0648\u0643\u0648\u0644 \u0627\u0644\u0646\u0642\u0644 \u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644 "\u062A\u064A\u0646\u0641\u0648\u064A\u0644". \u0644\u0627 \u062A\u0639\u062F\u0644 \u0625\u0630\u0627 \u0644\u0645 \u062A\u0643\u0646 \u0645\u062A\u0623\u0643\u062F . \u0648\u0641\u0639\u0644\u0647 \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0633\u062A\u062E\u062F\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u062A\u0646\u0635\u064A\u0628 "\u0623\u0648\u0648\u0648".
+tab2_Lbl_Language=\u0627\u0644\u0644\u063A\u0629
+windowBodyRestartToApplyLang=\u0645\u0646 \u0641\u0636\u0644\u0643 \u0623\u0639\u062F \u062A\u0634\u0641\u064A\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0644\u062A\u0637\u0628\u064A\u0642 \u0627\u0644\u062A\u0639\u062F\u064A\u0644\u0627\u062A.
+btn_OpenSplitFile=\u0627\u062E\u062A\u0631 \u062A\u0642\u0633\u064A\u0645 \u0645\u0644\u0641 \u0627\u0644 "\u0625\u0646 \u0625\u0633 \u0628\u064A"
+tab2_Lbl_ApplicationSettings=\u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629
+tabSplMrg_Lbl_SplitNMergeTitle=\u0623\u062F\u0627\u0629 \u062A\u0642\u0633\u064A\u0645 \u0648\u062F\u0645\u062C \u0627\u0644\u0645\u0644\u0641\u0627\u062A
+tabSplMrg_RadioBtn_Split=\u062A\u0642\u0633\u064A\u0645
+tabSplMrg_RadioBtn_Merge=\u062F\u0645\u062C
+tabSplMrg_Txt_File=\u0645\u0644\u0641:
+tabSplMrg_Txt_Folder=\u062A\u0642\u0633\u064A\u0645 \u0645\u0644\u0641 (\u0627\u0644\u0645\u062C\u0644\u062F):
+tabSplMrg_Btn_SelectFile=\u0627\u062E\u062A\u0631 \u0645\u0644\u0641
+tabSplMrg_Btn_SelectFolder=\u0627\u062E\u062A\u0631 \u0645\u062C\u0644\u062F
+tabSplMrg_Lbl_SaveToLocation=\u062D\u0641\u0638 \u0625\u0644\u0649:
+tabSplMrg_Btn_ChangeSaveToLocation=\u062A\u0639\u062F\u064A\u0644
+tabSplMrg_Btn_Convert=\u062A\u062D\u0648\u064A\u0644
+windowTitleError=\u062E\u0637\u0623
+windowBodyPleaseFinishTransfersFirst=\u0644\u0627 \u064A\u0645\u0643\u0646 \u062A\u0642\u0633\u064A\u0645 \u0623\u0648 \u062F\u0645\u062C \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0623\u062B\u0646\u0627\u0621 \u0642\u064A\u0627\u0645 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0628\u0639\u0645\u0644\u064A\u0627\u062A \u0623\u062E\u0631\u0649 \u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u0644 "\u064A\u0648 \u0625\u0633 \u0628\u064A" \u0623\u0648 \u0627\u0644\u0634\u0628\u0643\u0629. \u0645\u0646 \u0641\u0636\u0644\u0643 \u0642\u0645 \u0628\u0625\u064A\u0642\u0627\u0641 \u0623\u064A \u0639\u0645\u0644\u064A\u0629 \u0623\u062E\u0631\u0649 \u0623\u0648\u0644\u0627.
+done_txt=\u062A\u0645!
+failure_txt=\u0641\u0634\u0644
+btn_Select=\u0627\u062E\u062A\u0631
+btn_InjectPayloader=\u0627\u062F\u062E\u0644 \u0645\u0644\u0641 \u0627\u0644\u0640 "\u0628\u0627\u064A \u0644\u0648\u062F"
+tabNXDT_Btn_Start=\u0627\u0628\u062F\u0623!
+tab2_Btn_InstallDrivers=\u062D\u0645\u0644 \u0648\u0646\u0635\u0628 \u0627\u0644\u0640 "\u062F\u0631\u0627\u064A\u0641\u0631\u0632"
+windowTitleDownloadDrivers=\u062D\u0645\u0644 \u0648\u0646\u0635\u0628 \u0627\u0644\u0640 "\u062F\u0631\u0627\u064A\u0641\u0631\u0632"
+windowBodyDownloadDrivers=\u062C\u0627\u0631\u064A \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0640 "\u062F\u0631\u0627\u064A\u0641\u0631\u0632" (libusbK v3.0.7.0)...
+btn_Cancel=\u0625\u0644\u063A\u0627\u0621
+btn_Close=\u0625\u063A\u0644\u0627\u0642
+tab2_Cb_GlVersion=\u0625\u0635\u062F\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0640 "\u062C\u0648\u0644\u062F \u0644\u064A\u0641"
+tab2_Cb_GLshowNspOnly=\u0627\u0639\u0631\u0636 \u0641\u0642\u0637 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0625\u0645\u062A\u062F\u0627\u062F "\u0625\u0646 \u0625\u0633 \u0628\u064A" \u0641\u064A \u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0640 "\u062C\u0648\u0644\u062F \u0644\u064A\u0641".
+windowBodyPleaseStopOtherProcessFirst=\u0645\u0646 \u0641\u0636\u0644\u0643 \u0642\u0645 \u0628\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0623\u062E\u0631\u0649 \u0642\u0628\u0644 \u0627\u0644\u0625\u0633\u062A\u0645\u0631\u0627\u0631.