From 22c1f1d0f3031aa8996d721bee1d3e0c64d1846f Mon Sep 17 00:00:00 2001 From: Anry Das Date: Wed, 26 Mar 2025 14:15:14 +0200 Subject: [PATCH] Added missed files --- NovaPoshta/.gitignore | 2 + .../src/main/resources/application.properties | 15 + .../main/resources/languages/lang.properties | 306 ++++++++++++++++++ .../resources/languages/lang_en.properties | 306 ++++++++++++++++++ .../resources/languages/lang_uk.properties | 306 ++++++++++++++++++ 5 files changed, 935 insertions(+) create mode 100644 NovaPoshta/src/main/resources/application.properties create mode 100644 NovaPoshta/src/main/resources/languages/lang.properties create mode 100644 NovaPoshta/src/main/resources/languages/lang_en.properties create mode 100644 NovaPoshta/src/main/resources/languages/lang_uk.properties diff --git a/NovaPoshta/.gitignore b/NovaPoshta/.gitignore index 24ff508..6238c69 100644 --- a/NovaPoshta/.gitignore +++ b/NovaPoshta/.gitignore @@ -35,6 +35,8 @@ build/ ### App ### *.properties +!application.properties +!lang*.properties mvnw mvnw.cmd *.zip diff --git a/NovaPoshta/src/main/resources/application.properties b/NovaPoshta/src/main/resources/application.properties new file mode 100644 index 0000000..9590219 --- /dev/null +++ b/NovaPoshta/src/main/resources/application.properties @@ -0,0 +1,15 @@ +spring.main.banner-mode=off +spring.application.name=Nova Poshta Tracker + +logging.level.das=off +logging.file.name=logs/NP.log +logging.logback.rollingpolicy.max-history=5 +logging.logback.rollingpolicy.max-file-size=10MB + +driverClassName=org.sqlite.JDBC +url=jdbc:sqlite:DB/np.db +spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect +spring.datasource.initSQL=PRAGMA foreign_keys = ON +#spring.datasource.username=your_username +#spring.datasource.password=your_password +app.transaction.timeout.seconds=10 diff --git a/NovaPoshta/src/main/resources/languages/lang.properties b/NovaPoshta/src/main/resources/languages/lang.properties new file mode 100644 index 0000000..25eefb1 --- /dev/null +++ b/NovaPoshta/src/main/resources/languages/lang.properties @@ -0,0 +1,306 @@ +# Default Language locale file +# Application +number.type.in=Inbound +number.type.out=Outbound +number.type.undef=Undefined +number.status.new=New +number.status.error=Error +number.status.processing=Delivering +number.status.waiting=Waiting +number.status.complete=Completed +# Number item +item.tooltip.type=Cargo type: %s +item.tooltip.status=Cargo status: %s +item.tooltip.added.date=Added date +item.tooltip.created.date=Created date +item.tooltip.updated.date=Last updated date +# Number info +info.tooltip.comment=User added comment +info.tooltip.descr=Cargo description +info.label.group=Group: +info.tooltip.group=Number's group +info.label.status=Status: +info.tooltip.status=Cargo status +info.label.type=Type: +info.tooltip.type=Cargo type +info.label.cost=Cost: +info.tooltip.cost=Cost of delivery, UAH +info.label.seats=Seats: +info.tooltip.seats=Seats amount +info.label.price=Price: +info.tooltip.price=Announced Price, UAH +info.label.weight=Weight: +info.tooltip.weight=Weight, kg +info.label.created=Created: +info.tooltip.created=Date created +info.label.scheduled=Scheduled: +info.tooltip.scheduled=Scheduled Delivery Date +info.label.updated=Updated: +info.tooltip.updated=Last updated date +info.label.recipient.name=For: +info.tooltip.recipient.name=Recipient Full Name +info.label.recipient.city=in: +info.tooltip.recipient.city=Recipient's city +info.label.recipient.warehouse=at: +info.tooltip.recipient.warehouse=Recipient's warehouse +info.label.sender.name=From: +info.tooltip.sender.name=Sender Full Name +info.label.sender.phone=(%s) +info.tooltip.sender.phone=Sender phone number +info.label.sender.city=in: +info.tooltip.sender.city=Sender's city +info.label.sender.warehouse=at: +info.tooltip.sender.warehouse=Sender's Warehouse +info.tooltip.barcode=Number's Barcode +info.button.tooltip.copy=Copy to clipboard +info.button.message.copy=Copied to clipboard +info.button.tooltip.open=Open in new window +info.label.detailed=Detailed Info: +info.field.detailed.name=Field Name +info.field.detailed.value=Field Value +info.field.menu.copy.name=Copy Field Name +info.field.menu.copy.value=Copy Field value +info.field.menu.copy.kv=Copy Key and Value as K=V +info.field.menu.copy.kv1=Copy Key and Value as K->V +info.field.menu.copy.all=Copy All Rows +# Fields +number.field.id=ID +number.field.number=Number +number.field.group=Group +number.field.appStatus=Number Status +number.field.numberType=Number Type +number.field.comment=User Comment +number.field.dateCreated=Date Created +number.field.weight=Weight +number.field.cost=Cost +number.field.seatsAmount=Seats Amount +number.field.description=Description +number.field.cargoType=Type +number.field.statusCode=Status Code +number.field.announcedPrice=Announced Price +number.field.scheduledDeliveryDate=Scheduled Delivery Date +number.field.recipientFullName=Recipient Full Name +number.field.cityRecipient=Recipient's City +number.field.warehouseRecipient=Recipient's Warehouse +number.field.warehouseRecipientNumber=Recipient Warehouse's Number +number.field.phoneRecipient=Recipient's Phone +number.field.recipientAddress=Recipient's Address +number.field.citySender=Sender's City +number.field.phoneSender=Sender's Phone +number.field.warehouseSender=Sender's Warehouse +number.field.senderAddress=Sender's Address +number.field.fullData=Response Full Data +number.field.created=Created Date +number.field.updated=Last Updated Date +number.field.groupName=Group name +number.field.descr=Describe* +number.field.autoUpdated=Auto Update +# Config window +config.title=Configuration: +config.label.url=API URL: +config.label.phone=Phone: +config.label.language=Language: +config.label.maxHistory=Search history records: +config.tooltip.maxHistory=Search history maximum records: from %d to %d\nZero value means 'Do not save search history' +config.label.maxLogRecords=LOG records: +config.label.autoUpdate=Enable Auto Update +config.alert.title=Error in config +config.alert.message.wrongApiUrl=Field must contain valid NP's API endpoint value +config.alert.message.wrongPhone=Field must contain valid phone number +# Detailed Info window +detail.title=Detailed info for %s +# Add Number window +add.title=Adding new number +add.label.number=Number: +add.label.type=Type: +add.label.phone=Phone: +add.label.update=Auto Update +add.label.another=Add another +add.label.comment=Comment: +add.label.group=Group: +add.edit.comment.prompt=Comment for new Cargo Number (could be empty) +add.alert.title.error=Error +add.alert.message.WrongNumber=Wrong number +add.alert.message.NumberAlreadyAdded=Number '%s' already added +add.alert.message.WrongPhone=Wrong phone +add.tooltip.AddPhone=Add this phone into DB +add.tooltip.EditPhones=Edit all phones +add.message.PhoneAdded=The phone '%s' have been added into DB +add.message.PhoneExists=The phone '%s' already exists in DB +# Edit Phones window +edit.phones.title=Edit all pones +edit.phones.dialog.title=Editing Phones +edit.phones.newPhone=New Phone number: +edit.phones.alert.title=Wrong phone number '%s' +edit.phones.alert.message=There was a wrong phone number entered.\nPlease correct and try again. +edit.phones.confirm.title=Confirm deletion +edit.phones.confirm.header=Confirm deletion of '%s' +edit.phones.confirm.message=Are you sure to remove the phone? +edit.phones.alert.phoneUsed.title=The '%s' phone is used in number(s) +edit.phones.alert.phoneUsed.message=Phone used in number(s). So it couldn't be deleted +# Edit Search Options window +edit.options.action.moveUp=Move Up +edit.options.action.moveDn=Move Down +edit.options.action.add=Add item +edit.options.action.edit=Edit item +edit.options.action.apply=Apply changes +edit.options.action.remove=Remove item +edit.options.title=Edit all pones +edit.options.confirm.title=Confirm deletion +edit.options.confirm.header=Confirm deletion of '%s' +edit.options.confirm.message=Are you sure to remove the Search Option? +edit.options.alert.title=Wrong parameter +edit.options.alert.message=The Search Options' name couldn't be empty.\nPlease correct and try again. +edit.options.toast.message.applied=Changes have been applied +edit.options.toast.message.noChanges=There were no changes +edit.options.toast.message.removed=The option '%s' have been removed +edit.options.name.newOption=New search options +edit.options.label.name=Name: +edit.options.label.text=Search text: +# Edit Groups window +edit.groups.title=Edit all groups +edit.groups.dialog.title=Editing Groups +edit.groups.newGroup=New Group name: +edit.groups.alert.title=Group '%s' already exists +edit.groups.alert.message=Group name you have been entered already exists.\nEnter new one please. +edit.groups.confirm.title=Confirm deletion +edit.groups.confirm.header=Confirm deletion of '%s' +edit.groups.confirm.message=Are you sure to remove the Group? +edit.groups.toast.message.removed=The Group '%s' have been removed +edit.groups.alert.notEmpty.title=Group '%s' is not empty +edit.groups.alert.notEmpty.message=The Group contains %d numbers.\nNot empty group couldn't be deleted. +# Search window +search.window.title=Search +search.fields.tooltip=Selected fields:\n%s +search.fields.tooltip.selectAll=Select all fields +search.fields.tooltip.SelectNone=Clear selected fields +search.label.what=Search for: +search.edit.what.prompt=Enter search text +search.label.searchOptions=Options: +search.button=Search +search.label.options=Search options +search.button.save=Save search options +search.button.restore=Restore search options +search.label.results=Search Results +search.button.plugins.tooltip=Send numbers list to Plugin +search.button.simpleSearch=Simple search +search.button.extSearch=in Extended search +search.button.searchArchive=in Archive +search.button.sendAllItems=Send all items +search.button.sendAllItems.tooltip=Send all items to plugin (if checked) or selected items only +search.alert.input.title=Search name +search.alert.input.header=Enter new search name: +search.alert.input.content=Name: +search.alert.error.header=Error saving options +search.alert.error.message.alreadyExists=Name '%s' already exists. Please enter new one. +search.alert.select.title=Select option +search.alert.select.header=Search option name selection +search.alert.select.content=Select name: +search.alert.info.results.header=Search Results +search.alert.info.results.content=There are no results was found for your request +search.log.numbersFound=For search query '%s' found %d number(s) +search.log.numbersNotFound=For search query '%s' doesn't found any number(s) +search.log.searchMethodChanged=Search results have been cleared due to search method was changed from 'Search in Archive' to 'Regular Search' +# search options pane +options.label.group=Group +options.label.groupName=Group Name +options.label.weight=Weight +options.label.cost=Cost +options.label.price=Announced Price +options.label.seats=Seats Amount +options.label.numberStatus=Number Status +options.label.numberType=Number Type +options.label.status=Status +options.label.createDate=Create date +options.label.scheduledDate=Scheduled delivery date +# Main Menu +menu.group.number=Numbers +menu.number.add=Add number +menu.number.update=Update number +menu.number.updateUncompleted=Update Uncompleted numbers +menu.number.moveToArchive=Move to archive +menu.number.addToCustom=Add to custom view +menu.number.restoreFromArchive=Restore from archive +menu.number.exit=Exit +menu.group.moveToGroup=Move to Group +menu.group.edit=Edit +menu.edit.newGroup=New Group +menu.edit.editGroups=Edit Groups +menu.edit.editPhones=Edit Phones +menu.edit.editSearchOptions=Edit Search Options +menu.edit.search=Search +menu.edit.config=Configuration +menu.group.view=View +menu.group.viewMode=View Mode +menu.group.filterMode=Filtering Mode +menu.view.detail=Detailed view +menu.view.showLog=Show Log +menu.group.plugins=Plugins +menu.plugins.loadPlugins=Load Plugins +menu.group.windows=Windows +menu.windows.customList=Custom numbers list +menu.windows.archivedList=Archived numbers +menu.windows.cascade=Show all as cascade +menu.windows.closeAll=Close all windows +menu.group.help=Help +menu.help.about=About +menu.log.copy=Copy LOG messages +menu.log.clear=Clear LOG messages +# Main window alerts +alert.firstLaunch.title=First launch +alert.firstLaunch.header=Welcome! There is a first launch of the Application. +alert.firstLaunch.message=Please fill all necessary configuration fields. +alert.NoNumber.title=No Uncompleted numbers +alert.NoNumber.message=There is no Uncompleted numbers in list +alert.log.NoNumber.message=Auto Update: There is no Uncompleted numbers in list +alert.CouldNotExit.title=Couldn't exit +alert.CouldNotExit.message=There is an opened windows potentially with unsaved data.\nClose it and try again +alert.archive.moveTo.header.numberExists=Error moving number to archive +alert.archive.moveTo.content.numberExists=The number '%s' already exists in archive.\nRemove it first and try again. +alert.archive.restore.header.numberExists=Error restoring number from archive +alert.archive.restore.content.numberExists=The number '%s' already exists in database.\nRestoring impossible +alert.archive.restore.content.numberNotFoundInArchive=The number '%s' doesn't exist in archive +alert.archive.title.confirmDelete=Confirm deletion +alert.archive.header.confirmDelete=Are you sure to permanently remove number '%s'?\nThis is an irreversible operation, it will be impossible to restore number. +alert.log.number.movedToArchive=The number '%s' moved to archive +alert.log.number.restoredFromArchive=The number '%s' restored from archive +alert.log.gettingResponse=Error getting response: +alert.message.gettingResponse=There was error occurred while getting data from server +# Main window view modes +label.vm.tooltip=View mode +vm.numbers=Numbers +vm.groups=Groups +vm.calendarUpdate=Calendar (Update) +vm.calendarCreate=Calendar (Create) +# Main window Filtering Mode +label.fm.filter.tooltip=View filter +fm.all=All +fm.uncompleted=Uncompleted +fm.inbound=Inbound +fm.outbound=Outbound +# Add Group window +group.add.title=Adding new group +group.add.label.name=Name: +group.alert.exists.title=Group already exists +group.alert.exists.message=Group '%s' already exists +group.alert.EmptyName.title=Empty group name +group.alert.EmptyName.message=Group name couldn't be empty +group.message.newGroup=Added new group '%s' +group.message.movedToGroup=Number '%s' moved to group '%s' +group.alert.cantMove.header=Can not move number +group.alert.cantMove.message=Can not move Number '%s'\nto Group it's already in +# List window commons +lw.menu.ctx.remove=Remove +lw.menu.ctx.clear=Clear +lw.alert.title=Deletion confirmation +# Custom Number List window +cnl.title=Custom Numbers List window +cnl.label=Numbers List: +cnl.alert.message=Are you sure to remove %d custom numbers from Custom List? +# Archived Number List window +anl.title=Archived Numbers List window +anl.label=Numbers List: +anl.alert.message=Are you sure to remove %d archived numbers? +anl.alert.content=This operation couldn't be reverted! +anl.log.numberRemoved=The number '%s' have been permanently removed +anl.log.numbersCleared=There was permanently removed all archived numbers \ No newline at end of file diff --git a/NovaPoshta/src/main/resources/languages/lang_en.properties b/NovaPoshta/src/main/resources/languages/lang_en.properties new file mode 100644 index 0000000..51d05d8 --- /dev/null +++ b/NovaPoshta/src/main/resources/languages/lang_en.properties @@ -0,0 +1,306 @@ +# English Language locale file +# Application +number.type.in=Inbound +number.type.out=Outbound +number.type.undef=Undefined +number.status.new=New +number.status.error=Error +number.status.processing=Delivering +number.status.waiting=Waiting +number.status.complete=Completed +# Number item +item.tooltip.type=Cargo type: %s +item.tooltip.status=Cargo status: %s +item.tooltip.added.date=Added date +item.tooltip.created.date=Created date +item.tooltip.updated.date=Last updated date +# Number info +info.tooltip.comment=User added comment +info.tooltip.descr=Cargo description +info.label.group=Group: +info.tooltip.group=Number's group +info.label.status=Status: +info.tooltip.status=Cargo status +info.label.type=Type: +info.tooltip.type=Cargo type +info.label.cost=Cost: +info.tooltip.cost=Cost of delivery, UAH +info.label.seats=Seats: +info.tooltip.seats=Seats amount +info.label.price=Price: +info.tooltip.price=Announced Price, UAH +info.label.weight=Weight: +info.tooltip.weight=Weight, kg +info.label.created=Created: +info.tooltip.created=Date created +info.label.scheduled=Scheduled: +info.tooltip.scheduled=Scheduled Delivery Date +info.label.updated=Updated: +info.tooltip.updated=Last updated date +info.label.recipient.name=For: +info.tooltip.recipient.name=Recipient Full Name +info.label.recipient.city=in: +info.tooltip.recipient.city=Recipient's city +info.label.recipient.warehouse=at: +info.tooltip.recipient.warehouse=Recipient's warehouse +info.label.sender.name=From: +info.tooltip.sender.name=Sender Full Name +info.label.sender.phone=(%s) +info.tooltip.sender.phone=Sender phone number +info.label.sender.city=in: +info.tooltip.sender.city=Sender's city +info.label.sender.warehouse=at: +info.tooltip.sender.warehouse=Sender's Warehouse +info.tooltip.barcode=Number's Barcode +info.button.tooltip.copy=Copy to clipboard +info.button.message.copy=Copied to clipboard +info.button.tooltip.open=Open in new window +info.label.detailed=Detailed Info: +info.field.detailed.name=Field Name +info.field.detailed.value=Field Value +info.field.menu.copy.name=Copy Field Name +info.field.menu.copy.value=Copy Field value +info.field.menu.copy.kv=Copy Key and Value as K=V +info.field.menu.copy.kv1=Copy Key and Value as K->V +info.field.menu.copy.all=Copy All Rows +# Fields +number.field.id=ID +number.field.number=Number +number.field.group=Group +number.field.appStatus=Number Status +number.field.numberType=Number Type +number.field.comment=User Comment +number.field.dateCreated=Date Created +number.field.weight=Weight +number.field.cost=Cost +number.field.seatsAmount=Seats Amount +number.field.description=Description +number.field.cargoType=Type +number.field.statusCode=Status Code +number.field.announcedPrice=Announced Price +number.field.scheduledDeliveryDate=Scheduled Delivery Date +number.field.recipientFullName=Recipient Full Name +number.field.cityRecipient=Recipient's City +number.field.warehouseRecipient=Recipient's Warehouse +number.field.warehouseRecipientNumber=Recipient Warehouse's Number +number.field.phoneRecipient=Recipient's Phone +number.field.recipientAddress=Recipient's Address +number.field.citySender=Sender's City +number.field.phoneSender=Sender's Phone +number.field.warehouseSender=Sender's Warehouse +number.field.senderAddress=Sender's Address +number.field.fullData=Response Full Data +number.field.created=Created Date +number.field.updated=Last Updated Date +number.field.groupName=Group name +number.field.descr=Describe* +number.field.autoUpdated=Auto Update +# Config window +config.title=Configuration: +config.label.url=API URL: +config.label.phone=Phone: +config.label.language=Language: +config.label.maxHistory=Search history records: +config.tooltip.maxHistory=Search history maximum records: from %d to %d\nZero value means 'Do not save search history' +config.label.maxLogRecords=LOG records: +config.label.autoUpdate=Enable Auto Update +config.alert.title=Error in config +config.alert.message.wrongApiUrl=Field must contain valid NP's API endpoint value +config.alert.message.wrongPhone=Field must contain valid phone number +# Detailed Info window +detail.title=Detailed info for %s +# Add Number window +add.title=Adding new number +add.label.number=Number: +add.label.type=Type: +add.label.phone=Phone: +add.label.update=Auto Update +add.label.another=Add another +add.label.comment=Comment: +add.label.group=Group: +add.edit.comment.prompt=Comment for new Cargo Number (could be empty) +add.alert.title.error=Error +add.alert.message.WrongNumber=Wrong number +add.alert.message.NumberAlreadyAdded=Number '%s' already added +add.alert.message.WrongPhone=Wrong phone +add.tooltip.AddPhone=Add this phone into DB +add.tooltip.EditPhones=Edit all phones +add.message.PhoneAdded=The phone '%s' have been added into DB +add.message.PhoneExists=The phone '%s' already exists in DB +# Edit Phones window +edit.phones.title=Edit all pones +edit.phones.dialog.title=Editing Phones +edit.phones.newPhone=New Phone number: +edit.phones.alert.title=Wrong phone number '%s' +edit.phones.alert.message=There was a wrong phone number entered.\nPlease correct and try again. +edit.phones.confirm.title=Confirm deletion +edit.phones.confirm.header=Confirm deletion of '%s' +edit.phones.confirm.message=Are you sure to remove the phone? +edit.phones.alert.phoneUsed.title=The '%s' phone is used in number(s) +edit.phones.alert.phoneUsed.message=Phone used in number(s). So it couldn't be deleted +# Edit Search Options window +edit.options.action.moveUp=Move Up +edit.options.action.moveDn=Move Down +edit.options.action.add=Add item +edit.options.action.edit=Edit item +edit.options.action.apply=Apply changes +edit.options.action.remove=Remove item +edit.options.title=Edit all pones +edit.options.confirm.title=Confirm deletion +edit.options.confirm.header=Confirm deletion of '%s' +edit.options.confirm.message=Are you sure to remove the Search Option? +edit.options.alert.title=Wrong parameter +edit.options.alert.message=The Search Options' name couldn't be empty.\nPlease correct and try again. +edit.options.toast.message.applied=Changes have been applied +edit.options.toast.message.noChanges=There were no changes +edit.options.toast.message.removed=The option '%s' have been removed +edit.options.name.newOption=New search options +edit.options.label.name=Name: +edit.options.label.text=Search text: +# Edit Groups window +edit.groups.title=Edit all groups +edit.groups.dialog.title=Editing Groups +edit.groups.newGroup=New Group name: +edit.groups.alert.title=Group '%s' already exists +edit.groups.alert.message=Group name you have been entered already exists.\nEnter new one please. +edit.groups.confirm.title=Confirm deletion +edit.groups.confirm.header=Confirm deletion of '%s' +edit.groups.confirm.message=Are you sure to remove the Group? +edit.groups.toast.message.removed=The Group '%s' have been removed +edit.groups.alert.notEmpty.title=Group '%s' is not empty +edit.groups.alert.notEmpty.message=The Group contains %d numbers.\nNot empty group couldn't be deleted. +# Search window +search.window.title=Search +search.fields.tooltip=Selected fields:\n%s +search.fields.tooltip.selectAll=Select all fields +search.fields.tooltip.SelectNone=Clear selected fields +search.label.what=Search for: +search.edit.what.prompt=Enter search text +search.label.searchOptions=Search in: +search.button=Search +search.label.options=Search options +search.button.save=Save search options +search.button.restore=Restore search options +search.label.results=Search Results +search.button.plugins.tooltip=Send numbers list to Plugin +search.button.simpleSearch=Simple search +search.button.extSearch=in Extended search +search.button.searchArchive=in Archive +search.button.sendAllItems=Send all items +search.button.sendAllItems.tooltip=Send all items to plugin (if checked) or selected items only +search.alert.input.title=Search name +search.alert.input.header=Enter new search name: +search.alert.input.content=Name: +search.alert.error.header=Error saving options +search.alert.error.message.alreadyExists=Name '%s' already exists. Please enter new one. +search.alert.select.title=Select option +search.alert.select.header=Search option name selection +search.alert.select.content=Select name: +search.alert.info.results.header=Search Results +search.alert.info.results.content=There are no results was found for your request +search.log.numbersFound=For search query '%s' found %d number(s) +search.log.numbersNotFound=For search query '%s' doesn't found any number(s) +search.log.searchMethodChanged=Search results have been cleared due to search method was changed from 'Search in Archive' to 'Regular Search' +# search options pane +options.label.group=Group +options.label.groupName=Group Name +options.label.weight=Weight +options.label.cost=Cost +options.label.price=Announced Price +options.label.seats=Seats Amount +options.label.numberStatus=Number Status +options.label.numberType=Number Type +options.label.status=Status +options.label.createDate=Create date +options.label.scheduledDate=Scheduled delivery date +# Main Menu +menu.group.number=Numbers +menu.number.add=Add number +menu.number.update=Update number +menu.number.updateUncompleted=Update Uncompleted numbers +menu.number.moveToArchive=Move to archive +menu.number.addToCustom=Add to custom view +menu.number.restoreFromArchive=Restore from archive +menu.number.exit=Exit +menu.group.moveToGroup=Move to Group +menu.group.edit=Edit +menu.edit.newGroup=New Group +menu.edit.editGroups=Edit Groups +menu.edit.editPhones=Edit Phones +menu.edit.editSearchOptions=Edit Search Options +menu.edit.search=Search +menu.edit.config=Configuration +menu.group.view=View +menu.group.viewMode=View Mode +menu.group.filterMode=Filtering Mode +menu.view.detail=Detailed view +menu.view.showLog=Show Log +menu.group.plugins=Plugins +menu.plugins.loadPlugins=Load Plugins +menu.group.windows=Windows +menu.windows.customList=Custom numbers list +menu.windows.archivedList=Archived numbers +menu.windows.cascade=Show all as cascade +menu.windows.closeAll=Close all windows +menu.group.help=Help +menu.help.about=About +menu.log.copy=Copy LOG messages +menu.log.clear=Clear LOG messages +# Main window alerts +alert.firstLaunch.title=First launch +alert.firstLaunch.header=Welcome! There is a first launch of the Application. +alert.firstLaunch.message=Please fill all necessary configuration fields. +alert.NoNumber.title=No Uncompleted numbers +alert.NoNumber.message=There is no Uncompleted numbers in list +alert.log.NoNumber.message=Auto Update: There is no Uncompleted numbers in list +alert.CouldNotExit.title=Couldn't exit +alert.CouldNotExit.message=There is an opened windows potentially with unsaved data.\nClose it and try again +alert.archive.moveTo.header.numberExists=Error moving number to archive +alert.archive.moveTo.content.numberExists=The number '%s' already exists in archive.\nRemove it first and try again. +alert.archive.restore.header.numberExists=Error restoring number from archive +alert.archive.restore.content.numberExists=The number '%s' already exists in database.\nRestoring impossible +alert.archive.restore.content.numberNotFoundInArchive=The number '%s' doesn't exists in archive +alert.archive.title.confirmDelete=Confirm deletion +alert.archive.header.confirmDelete=Are you sure to permanently remove number '%s'?\nThis is an irreversible operation, it will be impossible to restore number. +alert.log.number.movedToArchive=The number '%s' moved to archive +alert.log.number.restoredFromArchive=The number '%s' restored from archive +alert.log.gettingResponse=Error getting response: +alert.message.gettingResponse=There was error occurred while getting data from server +# Main window view modes +label.vm.tooltip=View mode +vm.numbers=Numbers +vm.groups=Groups +vm.calendarUpdate=Calendar (Update) +vm.calendarCreate=Calendar (Create) +# Main window Filtering Mode +label.fm.filter.tooltip=View filter +fm.all=All +fm.uncompleted=Uncompleted +fm.inbound=Inbound +fm.outbound=Outbound +# Add Group window +group.add.title=Adding new group +group.add.label.name=Name: +group.alert.exists.title=Group already exists +group.alert.exists.message=Group '%s' already exists +group.alert.EmptyName.title=Empty group name +group.alert.EmptyName.message=Group name couldn't be empty +group.message.newGroup=Added new group '%s' +group.message.movedToGroup=Number '%s' moved to group '%s' +group.alert.cantMove.header=Can not move number +group.alert.cantMove.message=Can not move Number '%s'\nto Group it's already in +# List window commons +lw.menu.ctx.remove=Remove +lw.menu.ctx.clear=Clear +lw.alert.title=Deletion confirmation +# Custom Number List window +cnl.title=Custom Numbers List window +cnl.label=Numbers List: +cnl.alert.message=Are you sure to remove %d custom numbers from Custom List? +# Archived Number List window +anl.title=Archived Numbers List window +anl.label=Numbers List: +anl.alert.message=Are you sure to remove %d archived numbers? +anl.alert.content=This operation couldn't be reverted! +anl.log.numberRemoved=The number '%s' have been permanently removed +anl.log.numbersCleared=There was permanently removed all archived numbers \ No newline at end of file diff --git a/NovaPoshta/src/main/resources/languages/lang_uk.properties b/NovaPoshta/src/main/resources/languages/lang_uk.properties new file mode 100644 index 0000000..bf764a6 --- /dev/null +++ b/NovaPoshta/src/main/resources/languages/lang_uk.properties @@ -0,0 +1,306 @@ +# Ukrainian Language locale file +# Application +number.type.in=Вхідний +number.type.out=Вихідний +number.type.undef=Не визначено +number.status.new=Новий +number.status.error=Помилка +number.status.processing=Доставляється +number.status.waiting=Очікує +number.status.complete=Завершено +# Number item +item.tooltip.type=Тип вантажу: %s +item.tooltip.status=Стан вантажу: %s +item.tooltip.added.date=Дата додавання у БД +item.tooltip.created.date=Дата створення у НП +item.tooltip.updated.date=Дата останнього оновлення +# Number info +info.tooltip.comment=Коментар до вантажу, доданий користувачем +info.tooltip.descr=Опис вантажу +info.label.group=Група: +info.tooltip.group=Група, до якої внесено номер +info.label.status=Стан: +info.tooltip.status=Стан вантажу +info.label.type=Тип: +info.tooltip.type=Тип вантажу +info.label.cost=Вартість: +info.tooltip.cost=Вартість доставки, грн +info.label.seats=Місця: +info.tooltip.seats=Кількість місць +info.label.price=Ціна: +info.tooltip.price=Оголошена ціна, грн +info.label.weight=Вага: +info.tooltip.weight=Вага вантажу, кг +info.label.created=Створено: +info.tooltip.created=Дата створення +info.label.scheduled=Заплановано: +info.tooltip.scheduled=Планова дата доставки +info.label.updated=Оновлено: +info.tooltip.updated=Дата останнього оновлення +info.label.recipient.name=Для: +info.tooltip.recipient.name=Повне ім'я отримувача +info.label.recipient.city=у: +info.tooltip.recipient.city=Місто отримувача +info.label.recipient.warehouse=до: +info.tooltip.recipient.warehouse=Склад отримувача +info.label.sender.name=Від: +info.tooltip.sender.name=Повне ім'я відправника +info.label.sender.phone=(%s) +info.tooltip.sender.phone=Номер телефону відправника +info.label.sender.city=у: +info.tooltip.sender.city=Місто відправника +info.label.sender.warehouse=з: +info.tooltip.sender.warehouse=Склад відправника +info.tooltip.barcode=Штрих-код номера +info.button.tooltip.copy=Скопіювати текст +info.button.message.copy=Скопійовано +info.button.tooltip.open=Відкрити у новому вікні +info.label.detailed=Детальна інформація: +info.field.detailed.name=Поле +info.field.detailed.value=Значення +info.field.menu.copy.name=Копіювати ім'я поля +info.field.menu.copy.value=Копіювати значення поля +info.field.menu.copy.kv=Копіювати поле як ім'я=значення +info.field.menu.copy.kv1=Копіювати поле як ім'я->значення +info.field.menu.copy.all=Копіювати все +# Fields +number.field.id=ID +number.field.number=Номер +number.field.group=Група +number.field.appStatus=Статус номеру +number.field.numberType=Тип номеру +number.field.comment=Коментар користувача +number.field.dateCreated=Дата створення +number.field.weight=Вага +number.field.cost=Вартість +number.field.seatsAmount=Кількість місць +number.field.description=Опис +number.field.cargoType=Тип +number.field.statusCode=Код стану +number.field.announcedPrice=Оголошена вартість +number.field.scheduledDeliveryDate=Запланована дата доставки +number.field.recipientFullName=Повне ім'я Отримувача +number.field.cityRecipient=Місто Отримувача +number.field.warehouseRecipient=Відділення Отримувача +number.field.warehouseRecipientNumber=Номер відділення Отримувача +number.field.phoneRecipient=Номер телефону Отримувача +number.field.recipientAddress=Адреса Отримувача +number.field.citySender=Місто Відправника +number.field.phoneSender=Номер телефону Відправника +number.field.warehouseSender=Відділення Відправника +number.field.senderAddress=Адреса Відправника +number.field.fullData=Повні дані з сервера +number.field.created=Створено +number.field.updated=Оновлено +number.field.groupName=Ім'я групи +number.field.descr=Опис* +number.field.autoUpdated=Автоматичне оновлення +# Config window +config.title=Конфігурація: +config.label.url=API URL: +config.label.phone=Телефон: +config.label.language=Мова: +config.label.maxHistory=Записів у історії пошуку: +config.tooltip.maxHistory=Кількість записів у історії пошуку: від %d до %d\nНуль означає "Не зберігати історію" +config.label.maxLogRecords=Записів у журналі: +config.label.autoUpdate=Увімкнути автоматичне оновлення +config.alert.title=Error in config +config.alert.message.wrongApiUrl=У поле має бути правильний URL API НП +config.alert.message.wrongPhone=У поле має бути правильний номер телефону +# Detailed Info window +detail.title=Детально про номер %s +# Add Number window +add.title=Додавання нового номеру +add.label.number=Номер: +add.label.type=Тип: +add.label.phone=Телефон: +add.label.update=Автоматичне оновлення +add.label.another=Додати інший +add.label.comment=Коментар: +add.label.group=Група: +add.edit.comment.prompt=Коментар для нового номера ТТН (може бути порожнім) +add.alert.title.error=Помилка +add.alert.message.WrongNumber=Невірно введений номер +add.alert.message.NumberAlreadyAdded=Номер '%s' вже додано +add.alert.message.WrongPhone=Неправильний номер телефону +add.tooltip.AddPhone=Додати номер телефону до БД +add.tooltip.EditPhones=Редагувати всі номери телефонів +add.message.PhoneAdded=Телефон '%s' було додано до БД +add.message.PhoneExists=Телефон '%s' вже додано до БД +# Edit Phones window +edit.phones.title=Редагувати номери телефонів +edit.phones.dialog.title=Зміна номеру телефону +edit.phones.newPhone=Новий номер: +edit.phones.alert.title=Неправильний номер телефону '%s' +edit.phones.alert.message=Введено неправильний номер телефону.\nВиправте та спробуйте ще раз. +edit.phones.confirm.title=Підтвердження видалення +edit.phones.confirm.header=Підтвердіть видалення номеру '%s' +edit.phones.confirm.message=Ви дійсно хочете видалити вказаний номер? +edit.phones.alert.phoneUsed.title=Номер телефону '%s' використовується в ТТН +edit.phones.alert.phoneUsed.message=Номер телефону використовується в ТТН. Т.ч. його не можна видалити +# Edit Search Options window +edit.options.action.moveUp=Вгору +edit.options.action.moveDn=Вниз +edit.options.action.add=Додати +edit.options.action.edit=Редагувати +edit.options.action.apply=Підтвердити зміні +edit.options.action.remove=Видалити +edit.options.title=Редагувати налаштування пошуку +edit.options.confirm.title=Підтвердження видалення +edit.options.confirm.header=Підтвердіть видалення налаштувань пошуку '%s' +edit.options.confirm.message=Ви дійсно хочете видалити вказані налаштуваня пошуку? +edit.options.alert.title=Невірний параметр +edit.options.alert.message=Ім'я параметрів пошуку не може бути порожнім.\nВиправте та спробуйте ще раз. +edit.options.toast.message.applied=Зміни застосовано +edit.options.toast.message.noChanges=Змін не було зроблено +edit.options.toast.message.removed=Налаштування '%s' було видалено +edit.options.name.newOption=Нові налаштування пошуку +edit.options.label.name=Назва: +edit.options.label.text=Текст для пошуку: +# Edit Groups window +edit.groups.title=Редагувати групи +edit.groups.dialog.title=Редагування груп +edit.groups.newGroup=Ім'я нової групи: +edit.groups.alert.title=Група '%s' вже існує +edit.groups.alert.message=Група з таким іменем вже є.\nВведіт, будь ласка, нове ім'я групи. +edit.groups.confirm.title=Підтвердження видалення +edit.groups.confirm.header=Підтвердіть видалення групи '%s' +edit.groups.confirm.message==Ви дійсно хочете видалити вказану групу? +edit.groups.toast.message.removed=Групу '%s' було видалено +edit.groups.alert.notEmpty.title=Група '%s' не порожня +edit.groups.alert.notEmpty.message=Група містить %d ТТН.\nНепорожню групу видалити неможна. +# Search window +search.window.title=Пошук +search.fields.tooltip=Обрані для пошуку поля:\n%s +search.fields.tooltip.selectAll=Обрати всі поля +search.fields.tooltip.SelectNone=Очистити обрані поля +search.label.what=Що шукати: +search.edit.what.prompt=Введіть текст для пошуку +search.label.searchOptions=Шукати у: +search.button=Шукати +search.button.options=Налаштування пошуку +search.button.save=Зберегти налаштування пошуку +search.button.restore=Відновити налаштування пошуку +search.label.results=Результати пошуку +search.button.plugins.tooltip=Надіслати список до плагіну +search.button.simpleSearch=Простий пошук +search.button.extSearch=Розширений пошук +search.button.searchArchive=в архіві +search.button.sendAllItems=Усі ТТН +search.button.sendAllItems.tooltip=Надіслати до плагіну усі ТТН (якщо обрано) чи лише вибрані ТТН +search.alert.input.title=Назва пошуку +search.alert.input.header=Введіть нову назву для пошуку: +search.alert.input.content=Назва: +search.alert.error.header=Помилка зберігання налаштувань +search.alert.error.message.alreadyExists=Назва '%s' вже збережено. Будь ласка введіть нове. +search.alert.select.title=Вибір налаштувань +search.alert.select.header=Вибір назви налаштувань пошуку +search.alert.select.content=Виберіть назву: +search.alert.info.results.header=Результати пошуку +search.alert.info.results.content=За вашим запитом не знайдено жодного результату +search.log.numbersFound=За запитом '%s' знайдено %d ТТН +search.log.numbersNotFound=За запитом '%s' не знайдено жодного ТТН +search.log.searchMethodChanged=Результати пошуку очищено т.я. метод пошуку змінено з 'Шукати в архіві' на 'Звичайний пошук' +# search options pane +options.label.group=Група +options.label.groupName=Назва групи +options.label.weight=Вага +options.label.cost=Вартість +options.label.price=Оголошена вартість +options.label.seats=Кількість місць +options.label.numberStatus=Стан накладної +options.label.numberType=Тип накладної +options.label.status=Статус +options.label.createDate=Дата створення +options.label.scheduledDate=Планова доставка +# Main Menu +menu.group.number=Номери +menu.number.add=Додати номер +menu.number.update=Оновити номер +menu.number.updateUncompleted=Оновити незавершені номери +menu.number.moveToArchive=Перемістити до архіву +menu.number.addToCustom=Додати до обраних +menu.number.restoreFromArchive=Відновити з архіву +menu.number.exit=Вихід +menu.group.moveToGroup=Перемістити до групи +menu.group.edit=Змінити +menu.edit.newGroup=Нова група +menu.edit.editGroups=Змінити групи +menu.edit.editPhones=Змінити телефони +menu.edit.editSearchOptions=Змінити опції пошуку +menu.edit.search=Пошук +menu.edit.config=Конфігурація +menu.group.view=Вигляд +menu.group.viewMode=Перегляд +menu.group.filterMode=Фільтр +menu.view.detail=Детально +menu.view.showLog=Показати журнал +menu.group.plugins=Плагіни +menu.plugins.loadPlugins=Завантажити плагіни +menu.group.windows=Вікна +menu.windows.customList=Обрані номери +menu.windows.archivedList=Архівні номери +menu.windows.cascade=Показати всі каскадом +menu.windows.closeAll=Закрити всі +menu.group.help=Допомога +menu.help.about=Про додаток +menu.log.copy=Копіювати +menu.log.clear=Очистити +# Main window alerts +alert.firstLaunch.title=Перший запуск +alert.firstLaunch.header=Ласкаво прошу! Це перший запуск додатка. +alert.firstLaunch.message=Будь ласка, заповніть усі необхідні поля конфігурації. +alert.NoNumber.title=Немає незавершених номерів +alert.NoNumber.message=Жодного незавершеного номера у списку +alert.log.NoNumber.message=Автоматичне оновлення: Жодного незавершеного номера у списку +alert.CouldNotExit.title=Вихід неможливий +alert.CouldNotExit.message=Є відкриті вікна потенційно з незбереженими даними.\nЗакрийте їх та спробуйте ще раз +alert.archive.moveTo.header.numberExists=Помилка переміщення ТТН до архіву +alert.archive.moveTo.content.numberExists=ТТН '%s' вже є в архіві.\nСпершу видаліть цей ТТН з архіву та спробуйте ще раз. +alert.archive.restore.header.numberExists=Помилка відновлення номеру з архіву +alert.archive.restore.content.numberExists=ТТН '%s' вже є в основній БД.\nВідновлення неможливе. +alert.archive.restore.content.numberNotFoundInArchive=ТТН '%s' не знайдено в архіві +alert.archive.title.confirmDelete=Підтвердження видалення +alert.archive.header.confirmDelete=Ви впевнені, що ТТН '%s' потрібно видалити?\nЦе незворотня операція, відновити ТТН буде неможливо. +alert.log.number.movedToArchive=ТТН '%s' переміщено до архіву +alert.log.number.restoredFromArchive=ТТН '%s' відновлено з архіву +alert.log.gettingResponse=Помилка отримання даних: +alert.message.gettingResponse=Виникла помилка отримання даних з серверу +# Main window view modes +label.vm.tooltip=Перегляд +vm.numbers=Номери +vm.groups=Групи +vm.calendarUpdate=Календар (Оновлено) +vm.calendarCreate=Календар (Створено) +# Main window Filtering Mode +label.fm.filter.tooltip=Фільтр +fm.all=Всі +fm.uncompleted=Незавершені +fm.inbound=Вхідні +fm.outbound=Вихідні +# Add Group window +group.add.title=Додати нову групу +group.add.label.name=Назва: +group.alert.exists.title=Групу вже додано +group.alert.exists.message=Група '%s' вже існує +group.alert.EmptyName.title=Порожнє ім'я групи +group.alert.EmptyName.message=Ім'я групи не може бути порожнім +group.message.newGroup=Додано нову групу '%s' +group.message.movedToGroup=ТТН '%s' переміщено до групи '%s' +group.alert.cantMove.header=Неможливо перемістити ТТН +group.alert.cantMove.message=Неможливо перемістити ТТН '%s'\nдо групи т.я. він вже у групі +# List window commons +lw.menu.ctx.remove=Видалити +lw.menu.ctx.clear=Очистити +lw.alert.title=Підтвердження видалення +# Custom Number List window +cnl.title=Вікно обраних ТТН +cnl.label=Список номерів: +cnl.alert.message=Ви впевнені, що потрібно видалити %d обраних номерів зі списку обраних? +# Archived Number List window +anl.title=Вікно архівних ТТН +anl.label=Список номерів: +anl.alert.message=Ви впевнеі, що потрібно видалити %d номерів з архіву? +anl.alert.content=Цю операцію неможливо буде відмінити! +anl.log.numberRemoved=ТТН '%s' було повністю видалено +anl.log.numbersCleared=Було повністю видалено всі архівні ТТН \ No newline at end of file