Compare commits

5 Commits

Author SHA1 Message Date
das
9e428f7a03 Merge pull request 'removed necessary files' (#5) from dev into main
Reviewed-on: #5
2025-03-19 16:02:41 +02:00
das
e163796bcb Merge pull request 'Updated README.md' (#4) from dev into main
Reviewed-on: #4
2025-03-15 15:02:40 +02:00
das
e9d39e26dc Merge pull request 'Correctet README.md' (#3) from dev into main
Reviewed-on: #3
2025-03-15 15:00:23 +02:00
das
a33dbdeb65 Merge pull request 'dev' (#2) from dev into main
Reviewed-on: #2
2025-03-15 14:57:45 +02:00
das
91002037df Merge pull request 'Corrected README.m' (#1) from dev into main
Reviewed-on: #1
2025-03-15 14:52:27 +02:00
13 changed files with 5 additions and 945 deletions

View File

@@ -35,9 +35,6 @@ build/
### App ###
*.properties
!application.properties
!lang*.properties
.mvn
mvnw
mvnw.cmd
*.zip

View File

@@ -27,10 +27,8 @@ That it.
You can download archive from [Releases section](https://github.com/anrydas/NovaPoshta/releases) or clone the repository.
Find full application's documentation at: [Ukrainian](help/uk/help.md) and [English](help/en/help.md).
### 🚀 Launch<a id='Launch'/>
First you need to set the `JFX_PATH` variable as full path to JavaFX in provided `run.*` script.<br/>
If you haven't the JavaFX you need to install it from [https://gluonhq.com/products/javafx/](https://gluonhq.com/products/javafx/)<br/>
The application's distribution included run.cmd or run.sh depended on your OS. Just launch it.<br/>
Note: `run.*` script need to `JAVA_HOME` environment variable. If it doesn't provided made changes into script to include full path to JRE.
The application's distribution included run.cmd or run.sh depended on your OS. Just launch it.
Note: run.* script need to `JAVA_HOME` environment variable. If it doesn't provided made changes into script to include full path to JRE.
### 📜 Main Window<a id='MainWin'/>
![Main Window](help/images/main.png)

View File

@@ -10,7 +10,7 @@
<relativePath/>
</parent>
<properties>
<app.version>1.2</app.version>
<app.version>1.1</app.version>
<java.version>17</java.version>
<fxweavr.version>1.3.0</fxweavr.version>
<jackson.version>2.17.0</jackson.version>

View File

@@ -1,2 +1 @@
JFX_PATH=full_path_to_jfx
start %JAVA_HOME%\bin\javaw.exe --module-path %JFX_PATH%\lib --add-modules javafx.controls,javafx.fxml -jar NovaPoshta.jar
start %JAVA_HOME%\bin\javaw.exe -jar NovaPoshta.jar

View File

@@ -1,3 +1,2 @@
#!/bin/bash
JFX_PATH=/full/path/to/jfx
${JAVA_HOME}/bin/java --module-path ${JFX_PATH}/lib --add-modules javafx.controls,javafx.fxm -jar NovaPoshta.jar &
${JAVA_HOME}/bin/java -jar NovaPoshta.jar &

View File

@@ -1,15 +0,0 @@
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

View File

@@ -1,306 +0,0 @@
# 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

View File

@@ -1,306 +0,0 @@
# 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

View File

@@ -1,306 +0,0 @@
# 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=Було повністю видалено всі архівні ТТН