Files
chart-app/src/main/resources/vaadin-i18n/translations_en.properties
T
Pit Friedrich 8545b06f41
CI / build-and-test (pull_request) Successful in 2m25s
fix: add a per-widget action menu (#27)
A GridStackItem now carries an overflow menu next to the grip and the
close button: refresh, maximize, duplicate, remove. Maximize and remove
are handled by the item itself; refresh and duplicate are only reported,
since what they mean depends on the widget.

Maximizing only sets a class — the item's gs-* attributes and its
gridstack node are untouched, so restoring is by definition the position
it had.

The menu sits outside the drag-handle selector, like the close button, so
opening it never starts a drag; a Playwright test drags it to prove it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0124BiJikbhbiEsNfJxdWM69
2026-07-28 21:26:05 +02:00

145 lines
3.5 KiB
Properties
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# English
app.title=Chart App
action.themeToggle=Switch color scheme
action.language=Switch language
lang.de=Deutsch
lang.en=English
lang.es=Español
nav.dashboard=Dashboard
nav.form=Form
nav.table=Table
page.dashboard=Dashboard
page.form=Form
page.table=Table
card.revenueTrend=Revenue Trend
card.revenueByMonth=Revenue by Month
card.revenueByRegion=Revenue by Region
card.registration=Registration
card.employees=Employees
card.gridstackHint=How it works
gridstack.hint=Move cards with the grip in their top right corner, resize them from the bottom right corner, close them with the X in the top right corner. More actions refresh, maximize, duplicate live in the menu next to it. The layout is stored in your browser and restored on your next visit.
gridstack.addWidget=Add widget
gridstack.reset=Reset layout
gridstack.status=Layout changed {0} widgets
gridstack.statusInitial=Layout unchanged
gridstack.pickerTitle=Choose a widget
gridstack.dragHandle=Move
gridstack.close=Close
gridstack.actions=Actions
gridstack.refresh=Refresh
gridstack.maximize=Maximize
gridstack.restore=Restore
gridstack.duplicate=Duplicate
gridstack.remove=Remove
filter.period=Period
filter.period.month=Month
filter.period.quarter=Quarter
filter.period.halfYear=Half year
filter.period.year=Year
filter.region=Region
filter.allRegions=All regions
# The KPI values are MessageFormat patterns: the number comes from the data
# service (it depends on the filter), unit and number format from the bundle.
kpi.revenueTotal=Total revenue
kpi.revenueTotal.value=€{0,number,#,##0.00}M
kpi.openOrders=Open orders
kpi.openOrders.value={0,number,#,##0}
kpi.newCustomers=New customers
kpi.newCustomers.value={0,number,#,##0}
kpi.averageOrderValue=Avg. order value
kpi.averageOrderValue.value=€{0,number,#,##0}
chart.revenueSeries=Revenue 2026
chart.pointClick=Series {0}, point {1}
chart.sliceClick=Slice {0}
month.jan=Jan
month.feb=Feb
month.mar=Mar
month.apr=Apr
month.may=May
month.jun=Jun
month.jul=Jul
month.aug=Aug
month.sep=Sep
month.oct=Oct
month.nov=Nov
month.dec=Dec
week.1=Week 1
week.2=Week 2
week.3=Week 3
week.4=Week 4
region.north=North
region.south=South
region.east=East
region.west=West
form.firstName=First name
form.lastName=Last name
form.email=Email
form.password=Password
form.age=Age
form.salary=Salary (€)
form.birthdate=Date of birth
form.time=Preferred time
form.country=Country
form.department=Department
form.interests=Interests
form.salutation=Salutation
form.newsletter=Subscribe to newsletter
form.remark=Remark
form.save=Save
form.reset=Reset
form.today=Today
form.cancel=Cancel
form.time.badInput=Invalid time
form.time.required=Time is required
form.time.min=Time is before the earliest allowed time
form.time.max=Time is after the latest allowed time
country.de=Germany
country.at=Austria
country.ch=Switzerland
country.fr=France
country.nl=Netherlands
dept.sales=Sales
dept.marketing=Marketing
dept.dev=Development
dept.support=Support
dept.management=Management
interest.newsletter=Newsletter topics
interest.webinars=Webinars
interest.updates=Product updates
interest.events=Events
salutation.mrs=Ms.
salutation.mr=Mr.
salutation.diverse=Diverse
salutation.none=Not specified
valid.firstNameRequired=First name is required
valid.lastNameRequired=Last name is required
valid.emailRequired=Email is required
valid.emailInvalid=Invalid email address
valid.ageRange=Age must be between 0 and 120
notify.saved=Saved: {0} {1}
notify.checkInput=Please check your entries
table.search=Search…
col.name=Name
col.department=Department
col.city=City
col.salary=Salary (€)