diff --git a/.intellijPlatform/self-update.lock b/.intellijPlatform/self-update.lock index f28644c..3564d85 100644 --- a/.intellijPlatform/self-update.lock +++ b/.intellijPlatform/self-update.lock @@ -1 +1 @@ -2024-08-17 \ No newline at end of file +2024-08-23 \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 47e9494..1bb6a7f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,6 +26,7 @@ repositories { //RR: //rustRover("2024.1.5") //bundledPlugins("JavaScriptBase","com.jetbrains.rust","org.toml.lang") + // IDEA //intellijIdeaUltimate("2024.2") //plugins("com.jetbrains.rust:242.20224.309") @@ -33,7 +34,8 @@ repositories { dependencies { intellijPlatform { - rustRover("2024.1.5") +// rustRover("2024.1.5") + local("/Users/ldd/Applications/RustRover.app") bundledPlugins("JavaScriptBase","com.jetbrains.rust","org.toml.lang") zipSigner() instrumentationTools() diff --git a/readme.md b/readme.md index 2d69b8a..87e4e31 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -salvo.rs快速开发工具 +JB RustRover Rust dev tool -文档: [https://mdddj.github.io/SalvoRsToolDocument](https://mdddj.github.io/SalvoRsToolDocument) +document: [https://mdddj.github.io/SalvoRsToolDocument](https://mdddj.github.io/SalvoRsToolDocument) diff --git a/src/main/kotlin/shop/itbug/salvorstool/action/GenerateDtoAction.kt b/src/main/kotlin/shop/itbug/salvorstool/action/GenerateDtoAction.kt index 9d6e7da..e4e7dbe 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/action/GenerateDtoAction.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/action/GenerateDtoAction.kt @@ -6,6 +6,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent import shop.itbug.salvorstool.dialog.GenerateDtoDialog import shop.itbug.salvorstool.i18n.MyI18n import shop.itbug.salvorstool.tool.myManager +import shop.itbug.salvorstool.tool.structItemManager import shop.itbug.salvorstool.tool.tryGetRsStructPsiElement class GenerateDtoAction : AnAction() { @@ -15,7 +16,8 @@ class GenerateDtoAction : AnAction() { } } override fun update(e: AnActionEvent) { - e.presentation.isVisible = e.project != null && e.tryGetRsStructPsiElement()!=null + val struct = e.tryGetRsStructPsiElement() + e.presentation.isVisible = e.project != null && struct!=null && struct.structItemManager.getTableName != null e.presentation.text = MyI18n.getMessage("g_dto") super.update(e) } diff --git a/src/main/kotlin/shop/itbug/salvorstool/action/GenerateRouterAction.kt b/src/main/kotlin/shop/itbug/salvorstool/action/GenerateRouterAction.kt index 9e4bdc1..845eabb 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/action/GenerateRouterAction.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/action/GenerateRouterAction.kt @@ -6,6 +6,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent import shop.itbug.salvorstool.dialog.GenerateRouterDialog import shop.itbug.salvorstool.i18n.MyI18n import shop.itbug.salvorstool.tool.myManager +import shop.itbug.salvorstool.tool.structItemManager import shop.itbug.salvorstool.tool.tryGetRsStructPsiElement class GenerateRouterAction : AnAction() { @@ -17,7 +18,8 @@ class GenerateRouterAction : AnAction() { } override fun update(e: AnActionEvent) { - e.presentation.isVisible = e.project != null && e.tryGetRsStructPsiElement() != null + val struct = e.tryGetRsStructPsiElement() + e.presentation.isVisible = e.project != null && struct != null && struct.structItemManager.getTableName != null e.presentation.text = MyI18n.getMessage("g_router") super.update(e) } diff --git a/src/main/kotlin/shop/itbug/salvorstool/action/GenerateServiceAction.kt b/src/main/kotlin/shop/itbug/salvorstool/action/GenerateServiceAction.kt index 0bb981b..edef3ac 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/action/GenerateServiceAction.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/action/GenerateServiceAction.kt @@ -6,6 +6,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent import shop.itbug.salvorstool.dialog.GenerateServiceDialog import shop.itbug.salvorstool.i18n.MyI18n import shop.itbug.salvorstool.tool.myManager +import shop.itbug.salvorstool.tool.structItemManager import shop.itbug.salvorstool.tool.tryGetRsStructPsiElement class GenerateServiceAction : AnAction() { @@ -16,7 +17,8 @@ class GenerateServiceAction : AnAction() { } override fun update(e: AnActionEvent) { - e.presentation.isVisible = e.project != null && e.tryGetRsStructPsiElement() != null + val struct = e.tryGetRsStructPsiElement() + e.presentation.isVisible = e.project != null && struct != null && struct.structItemManager.getTableName != null e.presentation.text = MyI18n.getMessage("g_service") super.update(e) } diff --git a/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateAntdFormDialog.kt b/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateAntdFormDialog.kt index 9931345..fb7b25a 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateAntdFormDialog.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateAntdFormDialog.kt @@ -18,7 +18,7 @@ class GenerateAntdFormDialog(project: Project, psiElement: RsStructItemImpl) : D init { super.init() title = "Generate Antd Form" - tabview.add("预览", TypeJavaScriptEditor(project, AntdFactory.generateAntdForm(psiElement))) + tabview.add("Preview", TypeJavaScriptEditor(project, AntdFactory.generateAntdForm(psiElement))) } override fun createCenterPanel(): JComponent { diff --git a/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateDtoDialog.kt b/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateDtoDialog.kt index bfabb91..49b8647 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateDtoDialog.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/dialog/GenerateDtoDialog.kt @@ -1,21 +1,27 @@ package shop.itbug.salvorstool.dialog -import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory import com.intellij.openapi.project.Project -import com.intellij.openapi.project.guessProjectDir +import com.intellij.openapi.ui.DialogPanel import com.intellij.openapi.ui.DialogWrapper +import com.intellij.openapi.ui.ValidationInfo import com.intellij.ui.components.JBTabbedPane import com.intellij.ui.dsl.builder.Align +import com.intellij.ui.dsl.builder.Panel import com.intellij.ui.dsl.builder.bindText import com.intellij.ui.dsl.builder.panel +import com.intellij.util.ui.components.BorderLayoutPanel import org.rust.lang.core.psi.RsNamedFieldDecl import org.rust.lang.core.psi.impl.RsStructItemImpl +import shop.itbug.salvorstool.dsl.SaveToBindModel +import shop.itbug.salvorstool.dsl.saveTo import shop.itbug.salvorstool.i18n.MyI18n import shop.itbug.salvorstool.tool.* import shop.itbug.salvorstool.widget.RsEditor import java.awt.Dimension +import java.io.File import java.util.* import javax.swing.JComponent +import javax.swing.SwingUtilities data class GenerateDtoDialogParam( @@ -52,28 +58,30 @@ fun GenerateDtoDialogResultEnum.getOuterAttr(): String { } ///过滤字段 -fun GenerateDtoDialogResultEnum.getFields(list: List) : List { +fun GenerateDtoDialogResultEnum.getFields(list: List): List { return when (this) { GenerateDtoDialogResultEnum.AddRequest -> list.filter { !it.namedFieldManager.isPrimaryKey } GenerateDtoDialogResultEnum.UpdateRequest -> list GenerateDtoDialogResultEnum.Response -> list } } + ///预处理 -fun GenerateDtoDialogResultEnum.preview(field: RsNamedFieldDecl) : String? { +fun GenerateDtoDialogResultEnum.preview(field: RsNamedFieldDecl): String? { return when (this) { GenerateDtoDialogResultEnum.UpdateRequest -> { - if(field.namedFieldManager.isPrimaryKey){ + if (field.namedFieldManager.isPrimaryKey) { return " #[salvo(extract(source(from = \"param\")))]" } return null } + else -> null } } ///执行写入 -fun GenerateDtoDialogParam.save(project: Project,psiElement: RsStructItemImpl) { +fun GenerateDtoDialogParam.save(project: Project, psiElement: RsStructItemImpl) { val sb = StringBuilder() val imports = Tools.getDtoImportPackagesText sb.append(imports) @@ -81,31 +89,39 @@ fun GenerateDtoDialogParam.save(project: Project,psiElement: RsStructItemImpl) { //添加add sb.appendLine(MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.AddRequest, psiElement)) //添加update - sb.appendLine(MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.UpdateRequest,psiElement)) + sb.appendLine(MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.UpdateRequest, psiElement)) //添加response - sb.appendLine(MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.Response,psiElement)) + sb.appendLine(MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.Response, psiElement)) - val newPsiFile = Tools.createRsPsiFile(fileName,sb.toString(),project) + val newPsiFile = Tools.createRsPsiFile(fileName, sb.toString(), project) Tools.saveTo(project, newPsiFile, saveTo) } - ///生成dto对象 -class GenerateDtoDialog(private val project: Project, private val psiElement: RsStructItemImpl) : DialogWrapper(project) { +class GenerateDtoDialog(private val project: Project, private val psiElement: RsStructItemImpl) : + DialogWrapper(project) { private val model = GenerateDtoDialogParam( addRequestText = MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.AddRequest, psiElement), - addRequestName = GenerateDtoDialogResultEnum.AddRequest.getStructName(psiElement.structItemManager.getTableName ?: ""), - updateRequestText = MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.UpdateRequest,psiElement), - updateRequestName = GenerateDtoDialogResultEnum.UpdateRequest.getStructName(psiElement.structItemManager.getTableName ?: ""), - responseText = MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.Response,psiElement), - responseName = GenerateDtoDialogResultEnum.Response.getStructName(psiElement.structItemManager.getTableName ?: ""), + addRequestName = GenerateDtoDialogResultEnum.AddRequest.getStructName( + psiElement.structItemManager.getTableName ?: "" + ), + updateRequestText = MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.UpdateRequest, psiElement), + updateRequestName = GenerateDtoDialogResultEnum.UpdateRequest.getStructName( + psiElement.structItemManager.getTableName ?: "" + ), + responseText = MyRsPsiFactory.generateDto(GenerateDtoDialogResultEnum.Response, psiElement), + responseName = GenerateDtoDialogResultEnum.Response.getStructName( + psiElement.structItemManager.getTableName ?: "" + ), saveTo = Tools.getDtoFolder(project)?.path ?: "", - fileName = (psiElement.structItemManager.getTableName?:"root") + fileName = (psiElement.structItemManager.getTableName ?: "root") ) private val tabView = JBTabbedPane() + private lateinit var myPanel: DialogPanel + private lateinit var settingPanel: Panel init { super.init() @@ -137,31 +153,26 @@ class GenerateDtoDialog(private val project: Project, private val psiElement: R } override fun createCenterPanel(): JComponent { - - return panel { - row { - scrollCell(tabView).align(Align.FILL) - } - group(MyI18n.saveTo) { - row(MyI18n.selectDir) { - textFieldWithBrowseButton( - project = project, - fileChooserDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor().withRoots( - project.guessProjectDir() - ) - ).align(Align.FILL) - .bindText(model::saveTo) - } - row (MyI18n.getMessage("file_name")) { - textField().bindText(model::fileName) - } - } + myPanel = panel { + settingPanel = saveTo( + project, SaveToBindModel( + model::saveTo, + model::fileName + ) + ) + } + SwingUtilities.invokeLater { + myPanel.registerValidators(disposable) + } + return BorderLayoutPanel().apply { + addToCenter(tabView) + addToBottom(myPanel) } } override fun doOKAction() { - model.save(project,psiElement) + model.save(project, psiElement) super.doOKAction() } @@ -169,4 +180,14 @@ class GenerateDtoDialog(private val project: Project, private val psiElement: R return Dimension(550, super.getPreferredSize().height) } + override fun doValidate(): ValidationInfo? { + if (!project.fileIsExits(model.saveTo)) { + return ValidationInfo(MyI18n.folderIsNotFound) + } else if (project.fileIsExits(model.saveTo.removeSuffix(File.separator) + File.separator + model.fileName + ".rs")) { + return ValidationInfo(MyI18n.fileIsExist) + } + return super.doValidate() + } + + } \ No newline at end of file diff --git a/src/main/kotlin/shop/itbug/salvorstool/dsl/PanelDsl.kt b/src/main/kotlin/shop/itbug/salvorstool/dsl/PanelDsl.kt new file mode 100644 index 0000000..7dbc53a --- /dev/null +++ b/src/main/kotlin/shop/itbug/salvorstool/dsl/PanelDsl.kt @@ -0,0 +1,53 @@ +package shop.itbug.salvorstool.dsl + +import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory +import com.intellij.openapi.project.Project +import com.intellij.openapi.project.guessProjectDir +import com.intellij.openapi.ui.DialogWrapper +import com.intellij.ui.dsl.builder.Align +import com.intellij.ui.dsl.builder.Panel +import com.intellij.ui.dsl.builder.bindText +import com.intellij.ui.layout.ValidationInfoBuilder +import shop.itbug.salvorstool.i18n.MyI18n +import shop.itbug.salvorstool.tool.fileIsExits +import java.io.File +import kotlin.reflect.KMutableProperty0 + +data class SaveToBindModel(var folder: KMutableProperty0, var fileName: KMutableProperty0) + +/** + * 保存文件到目录的基本配置 + */ +fun Panel.saveTo(project: Project,bind: SaveToBindModel) : Panel { + this.group(MyI18n.saveTo) { + row(MyI18n.selectDir) { + textFieldWithBrowseButton( + project = project, + fileChooserDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor().withRoots( + project.guessProjectDir() + ) + ).align(Align.FILL) + .bindText(bind.folder).validationOnInput { + val fullPath = it.text + if(!project.fileIsExits(fullPath)) { + return@validationOnInput ValidationInfoBuilder(it.textField).error(MyI18n.folderIsNotFound) + } + return@validationOnInput null + } + } + row (MyI18n.getMessage("file_name")) { + textField().bindText(bind.fileName).validationOnInput { + var folderPath = bind.folder.get() + if(!folderPath.endsWith(File.separatorChar)){ + folderPath += File.separator + } + val fullPath = folderPath + it.text + ".rs" + if(project.fileIsExits(fullPath)){ + return@validationOnInput ValidationInfoBuilder(it).error(MyI18n.fileIsExist) + } + return@validationOnInput null + } + } + } + return this +} \ No newline at end of file diff --git a/src/main/kotlin/shop/itbug/salvorstool/i18n/MyPluginBundle.kt b/src/main/kotlin/shop/itbug/salvorstool/i18n/MyPluginBundle.kt index 8dc2f85..5fe9eaf 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/i18n/MyPluginBundle.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/i18n/MyPluginBundle.kt @@ -15,6 +15,10 @@ object MyI18n: MyPluginBundle(){ val selectDir: String get() = getMessage("select_directory") //数据验证失败 val fieldValidFailed: String get() = getMessage("valid_failed") + //文件已存在 + val fileIsExist: String get() = getMessage("file_is_exits") + //目录不存在 + val folderIsNotFound: String get() = getMessage("folder_is_not_found") } open class MyPluginBundle : AbstractBundle("messages.pluginBundle") { diff --git a/src/main/kotlin/shop/itbug/salvorstool/tool/ExtendedFuntions.kt b/src/main/kotlin/shop/itbug/salvorstool/tool/ExtendedFuntions.kt index eae2eff..f4c81ec 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/tool/ExtendedFuntions.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/tool/ExtendedFuntions.kt @@ -8,6 +8,8 @@ import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.fileTypes.FileTypeManager import com.intellij.openapi.ide.CopyPasteManager +import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.LocalFileSystem import com.intellij.pom.Navigatable import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile @@ -118,11 +120,18 @@ fun PsiFile.getUseAge(element: PsiElement) : List { * 尝试跳转到代码为止 */ fun PsiElement.tryNavTo() { - ApplicationManager.getApplication().invokeLater { - if (navigationElement != null && navigationElement is Navigatable && (navigationElement as Navigatable).canNavigate()) { - (navigationElement as Navigatable).navigate(true) - }else{ - FileEditorManager.getInstance(project).openFile(this.containingFile.virtualFile) - } + if (navigationElement != null && navigationElement is Navigatable && (navigationElement as Navigatable).canNavigate()) { + (navigationElement as Navigatable).navigate(true) + }else{ + FileEditorManager.getInstance(project).openFile(this.containingFile.virtualFile) } +} + + +/** + * 验证[path]是否存在,可以是目录或者文件 + */ +fun Project.fileIsExits(path: String) : Boolean { + val vf = LocalFileSystem.getInstance().findFileByPath(path) + return vf != null } \ No newline at end of file diff --git a/src/main/kotlin/shop/itbug/salvorstool/window/ApiScanWindow.kt b/src/main/kotlin/shop/itbug/salvorstool/window/ApiScanWindow.kt index 40cb487..7595b3b 100644 --- a/src/main/kotlin/shop/itbug/salvorstool/window/ApiScanWindow.kt +++ b/src/main/kotlin/shop/itbug/salvorstool/window/ApiScanWindow.kt @@ -86,12 +86,19 @@ class ApiScanWindow(private val myProject: Project, toolWindow: ToolWindow) : Bo override fun apiScanEnd(apiList: List) { allApis = apiList list.model = ItemModel(apiList) + + if(searchTextField.text.isNotBlank()){ + startFilterApi(searchTextField.text) + } } }) } - + /** + * 列表选中时间回调 + */ override fun valueChanged(e: ListSelectionEvent?) { + println("value is adjusting :${e?.valueIsAdjusting} ${list.selectedIndex}") e?.let { if (!it.valueIsAdjusting) { val selectedIndex = list.selectedIndex @@ -102,6 +109,11 @@ class ApiScanWindow(private val myProject: Project, toolWindow: ToolWindow) : Bo } } + + /** + * api筛选 + * @param[search] 要筛选的字符串 + */ fun startFilterApi(search: String) { val filterList = if (search.isEmpty()) { allApis diff --git a/src/main/resources/messages/pluginBundle.properties b/src/main/resources/messages/pluginBundle.properties index db4e9b9..f14974c 100644 --- a/src/main/resources/messages/pluginBundle.properties +++ b/src/main/resources/messages/pluginBundle.properties @@ -30,3 +30,7 @@ run=运行 nav_to_psi=跳转到 run_sraorm_command_success=执行成功 + +folder_is_not_found=目录不存在 + +file_is_exits=文件已存在 diff --git a/src/main/resources/messages/pluginBundle_ar.properties b/src/main/resources/messages/pluginBundle_ar.properties index 15b22ca..da3eacf 100644 --- a/src/main/resources/messages/pluginBundle_ar.properties +++ b/src/main/resources/messages/pluginBundle_ar.properties @@ -30,3 +30,7 @@ run=تشغيل . nav_to_psi=القفز run_sraorm_command_success=تنفيذ بنجاح + +folder_is_not_found=الدليل غير موجود + +file_is_exits=الملف موجود بالفعل diff --git a/src/main/resources/messages/pluginBundle_de.properties b/src/main/resources/messages/pluginBundle_de.properties index c81eed7..bb86e53 100644 --- a/src/main/resources/messages/pluginBundle_de.properties +++ b/src/main/resources/messages/pluginBundle_de.properties @@ -30,3 +30,7 @@ run=Funktion nav_to_psi=Springen zu run_sraorm_command_success=Ausführung erfolgreich + +folder_is_not_found=Verzeichnis existiert nicht + +file_is_exits=Datei bereits vorhanden diff --git a/src/main/resources/messages/pluginBundle_en.properties b/src/main/resources/messages/pluginBundle_en.properties index 46f4cfe..d9d1c14 100644 --- a/src/main/resources/messages/pluginBundle_en.properties +++ b/src/main/resources/messages/pluginBundle_en.properties @@ -30,3 +30,7 @@ run=function nav_to_psi=Jump to run_sraorm_command_success=Execution successful + +folder_is_not_found=directory does not exist + +file_is_exits=file already exist diff --git a/src/main/resources/messages/pluginBundle_fr.properties b/src/main/resources/messages/pluginBundle_fr.properties index 41d0b1d..1641ee7 100644 --- a/src/main/resources/messages/pluginBundle_fr.properties +++ b/src/main/resources/messages/pluginBundle_fr.properties @@ -30,3 +30,7 @@ run=Fonctionnement nav_to_psi=Sauter à run_sraorm_command_success=Exécution réussie + +folder_is_not_found=Le catalogue n'existe pas + +file_is_exits=Le fichier existe déjà diff --git a/src/main/resources/messages/pluginBundle_hk.properties b/src/main/resources/messages/pluginBundle_hk.properties index e6498be..104b39d 100644 --- a/src/main/resources/messages/pluginBundle_hk.properties +++ b/src/main/resources/messages/pluginBundle_hk.properties @@ -28,3 +28,7 @@ run=運行 nav_to_psi=跳轉到 run_sraorm_command_success=執行成功 + +folder_is_not_found=目錄不存在 + +file_is_exits=檔案已存在 diff --git a/src/main/resources/messages/pluginBundle_it.properties b/src/main/resources/messages/pluginBundle_it.properties index ac48d1f..570fde5 100644 --- a/src/main/resources/messages/pluginBundle_it.properties +++ b/src/main/resources/messages/pluginBundle_it.properties @@ -30,3 +30,7 @@ run=funzione nav_to_psi=Vai a run_sraorm_command_success=Esecuzione riuscita + +folder_is_not_found=directory non esiste + +file_is_exits=file già esistente diff --git a/src/main/resources/messages/pluginBundle_ja.properties b/src/main/resources/messages/pluginBundle_ja.properties index 42e2b0b..c543c35 100644 --- a/src/main/resources/messages/pluginBundle_ja.properties +++ b/src/main/resources/messages/pluginBundle_ja.properties @@ -30,3 +30,7 @@ run=うんてん nav_to_psi=ジャンプ先 run_sraorm_command_success=実行に成功しました + +folder_is_not_found=ディレクトリが存在しません + +file_is_exits=ファイルは既に存在します diff --git a/src/main/resources/messages/pluginBundle_ko.properties b/src/main/resources/messages/pluginBundle_ko.properties index 81aa430..15fe7e0 100644 --- a/src/main/resources/messages/pluginBundle_ko.properties +++ b/src/main/resources/messages/pluginBundle_ko.properties @@ -30,3 +30,7 @@ run=실행 nav_to_psi=다음으로 이동 run_sraorm_command_success=실행 성공 + +folder_is_not_found=디렉토리가 없습니다. + +file_is_exits=파일이 이미 있습니다. diff --git a/src/main/resources/messages/pluginBundle_nl.properties b/src/main/resources/messages/pluginBundle_nl.properties index d288b9d..1e041a0 100644 --- a/src/main/resources/messages/pluginBundle_nl.properties +++ b/src/main/resources/messages/pluginBundle_nl.properties @@ -30,3 +30,7 @@ run=functie nav_to_psi=Ga naar run_sraorm_command_success=Uitvoering succesvol + +folder_is_not_found=map bestaat niet + +file_is_exits=bestand bestaat al diff --git a/src/main/resources/messages/pluginBundle_pl.properties b/src/main/resources/messages/pluginBundle_pl.properties index 28f9a1a..b25efc8 100644 --- a/src/main/resources/messages/pluginBundle_pl.properties +++ b/src/main/resources/messages/pluginBundle_pl.properties @@ -30,3 +30,7 @@ run=funkcja nav_to_psi=Przejdź do run_sraorm_command_success=Wykonanie pomyślne + +folder_is_not_found=katalog nie istnieje + +file_is_exits=plik już istnieje diff --git a/src/main/resources/messages/pluginBundle_pt.properties b/src/main/resources/messages/pluginBundle_pt.properties index c89abbe..fb1b306 100644 --- a/src/main/resources/messages/pluginBundle_pt.properties +++ b/src/main/resources/messages/pluginBundle_pt.properties @@ -30,3 +30,7 @@ run=função nav_to_psi=Saltar para run_sraorm_command_success=Execução bem sucedida + +folder_is_not_found=a pasta não existe + +file_is_exits=ficheiro já existe diff --git a/src/main/resources/messages/pluginBundle_ru.properties b/src/main/resources/messages/pluginBundle_ru.properties index 9296a52..b473207 100644 --- a/src/main/resources/messages/pluginBundle_ru.properties +++ b/src/main/resources/messages/pluginBundle_ru.properties @@ -30,3 +30,7 @@ run=Запуск nav_to_psi=Перейти на run_sraorm_command_success=Успешное осуществление + +folder_is_not_found=Каталог не существует + +file_is_exits=Файл уже существует