Localization
Dime.Scheduler ships fully translated, but the vocabulary it ships with is generic on purpose. A field called "Free Text 1" means nothing to a planner; once you rename it "Customer Invoice Reference", the same field suddenly tells the user what to type in it. That gap - between the system's generic terms and the customer's actual business language - is what this page is for.
The localizationLocalizationThe settings page that translates captions, maps localized country names to ISO codes for geocoding, and sets date and decimal formatting per language. view does two related jobs: it lets you override the wording for any translatable field, group, or section in every language the tenant supports, and it lets you control formatting for how dates and numbers are displayed to each locale. Together they are what makes the application feel native rather than translated.
The page has two tabs, reached from the rail on the left: Fields, where captions and formats live, and Languages, where you decide which languages the tenant exposes.
Captions
Most localization work is captionsCaptionThe label shown for a field or entity in the interface, translatable per language. A tenant that calls jobs "projects" changes the caption, not the data model.. The Fields tab lists every translatable field on the left; select one and the Captions pane on the right shows one row per language that has a caption for it. The same field's caption can read differently in English, Dutch, and German, because the underlying data binding is the same in all three. The divider between the two panes can be dragged if the field names are long.

Add creates a caption for a language that does not have one yet; the language dropdown only offers languages that are switched on for the tenant and not already used by this field, so you cannot create two captions for the same language by accident. The pencil icon on a row (or a double-click) changes the text. The trash icon on a row, the Delete button for a multi-selection, or the Delete key removes captions after a confirmation, and the field falls back to the built-in wording for that language.
The Context column tells you what kind of thing you are translating. The three most common contexts:
- DATABASEFIELD - fields shown in grids and the Task Details panel.
- TARGETPANEGROUP - the section groups in the Task Details panel.
- APPOINTMENTFIELDVALUE - sections and fields created via Appointment Templates.
Contexts are part of the product, not data you maintain: you cannot add, rename or remove one, and the same context means the same thing in every tenant. The full list is in the API reference, since the numbers matter when captions are pushed from a back officeBack officeThe ERP or business system Dime.Scheduler plans for - most often Microsoft Dynamics 365 Business Central. It owns the master data and remains authoritative over what it receives..
With several hundred fields in a tenant, finding the right one is half the work. The Context column has a dropdown filter (showing All contexts until you pick one) that only offers the contexts that actually occur in your own fields, so it cannot present you with an option that would return nothing; a tenant that has never used appointment templates simply has no APPOINTMENTFIELDVALUE entry. The source table and field name columns filter on text, and the grid can be grouped, by source table for instance, to walk through one entity at a time.
Formatting
Translation gets the words right; formatting gets the shape right. A Belgian planner expects 08/05/2018 with the day first, an American expects 5/8/2018; a Belgian expects 1 234,56, an American expects 1,234.56. The Format column on the fields grid is where you control this per field: open a field with the pencil icon or a double-click and type the format string. A format is at most 10 characters, and the dialog counts them as you type.
Date and time
Format strings combine the codes below. For example, D - d/m/Y renders as Mon - 08/05/2018.
| Format | Description | Example returned values |
|---|---|---|
| d | Day of the month, 2 digits with leading zeros | 01 to 31 |
| D | A short textual representation of the day of the week | Mon to Sun |
| j | Day of the month without leading zeros | 1 to 31 |
| l | A full textual representation of the day of the week | Sunday to Saturday |
| N | ISO-8601 numeric representation of the day of the week | 1 (for Monday) through 7 (for Sunday) |
| w | Numeric representation of the day of the week | 0 (for Sunday) to 6 (for Saturday) |
| z | The day of the year (starting from 0) | 0 to 364 (365 in leap years) |
| W | ISO-8601 week number of year, weeks starting on Monday | 01 to 53 |
| F | A full textual representation of a month, such as January or March | January to December |
| m | Numeric representation of a month, with leading zeros | 01 to 12 |
| M | A short textual representation of a month | Jan to Dec |
| n | Numeric representation of a month, without leading zeros | 1 to 12 |
| t | Number of days in the given month | 28 to 31 |
| L | Whether it's a leap year | 1 if it is a leap year, 0 otherwise. |
| Y | A full numeric representation of a year, 4 digits | Examples: 1999 or 2003 |
| y | A two digit representation of a year | Examples: 99 or 03 |
| a | Lowercase Ante meridiem and Post meridiem | am or pm |
| A | Uppercase Ante meridiem and Post meridiem | AM or PM |
| g | 12-hour format of an hour without leading zeros | 1 to 12 |
| G | 24-hour format of an hour without leading zeros | 0 to 23 |
| h | 12-hour format of an hour with leading zeros | 01 to 12 |
| H | 24-hour format of an hour with leading zeros | 00 to 23 |
| i | Minutes, with leading zeros | 00 to 59 |
| s | Seconds, with leading zeros | 00 to 59 |
| O | Difference to Greenwich time (GMT) in hours and minutes | Example: +1030 |
| P | Difference to Greenwich time (GMT) with colon between hours and minutes | Example: -08:00 |
| T | Timezone abbreviation of the machine running the code | Examples: EST, MDT, PDT ... |
Decimal
Numbers are simpler. Watch one trap, though: when you write a format string, a comma is the thousand separator and a dot is the decimal separator. The user's locale then swaps those for what they expect at render time, so the same format string renders correctly in both en-US and nl-BE.
| Format | Description | Example returned values for 123456,789 |
|---|---|---|
| 0 | Show only digits, no precision | 123457 |
| 0.00 | Show only digits, 2 precision |
|
| 0.0000 | Show only digits, 4 precision |
|
| 0,000 | Thousand separator, no precision |
|
| 0,000.00 | Thousand separator, 2 precision |
|
| 0.#### | Allow maximum 4 decimal places, but do not fill with zeroes at the end |
|
| 0.00## | Show at least 2 decimal places, maximum 4, but do not fill with zeroes at the end |
|
Languages
The Languages tab is where you pick which languages this tenant actually exposes. Dime.Scheduler supports the full set below out of the box, but most tenants only want a subset visible to their users. Languages cannot be added or removed here, and a language's code is fixed; what you edit, from the pencil icon or a double-click, is the display name and whether the language is shown in the menu bar. A language that is switched off disappears from the language selector in the top menu and from the dropdown when adding captions.
A note on locales versus languages: a locale combines a language code with a culture code, so en-GB and en-US are both "English" but they format dates and numbers differently. If your users span the Atlantic, expose both - they will pick the one that matches their muscle memory.
Supported languages
| Language name | Code |
|---|---|
| Bosnian | bs |
| Croatian | hr |
| Czech | cs |
| Danish | dk |
| Dutch | nl |
| English | en |
| Estonian | et |
| French | fr |
| Finnish | fi |
| German | de |
| Greek | el-CY |
| Hungarian | hu |
| Italian | it |
| Latvian | lv |
| Lithuanian | lt |
| Maltese | mt |
| Norwegian | no |
| Polish | pl |
| Portugese | pt |
| Romanian | ro |
| Russian | ru |
| Slovenian | sl |
| Slovakian | sk |
| Spanish | es |
| Swedish | sv |
| Ukranian | uk |
| Vietnamese | vi |
Fields
| Field | Description |
|---|---|
| Code | The locale code (e.g. 'en', 'en-GB', etc.). Fixed once the language exists. |
| Display Name | The name shown in language selection dialogs. |
| Show In Menu Bar | Select this field to show the language's icon or flag in the language selection on top of the menu ribbon. |
Exporting
All three grids - fields, captions and languages - have an Export button that writes what is currently shown to an Excel file. The most useful of the three is the fields export: filter the grid down to one source table, export it, and you have a worksheet a translator can fill in without ever logging into Dime.Scheduler.