User Guide
  • Introduction
  • Overview
    • About 4WS.Platform
      • Architecture
      • Enterprise Edition
      • Tech specs and requirements
      • Warp SDK
    • Creating a web application
  • Core features
    • Tables
    • SqlTool
    • Definition of Data models and Relations
      • Relations
      • Reverse Engineering
      • Custom Fields
    • Defining business components
      • What are business components
      • Business components to fill-in panels
      • Creating business components
        • By a datastore entity
        • By a MongoDB collection
      • Defining Custom Java Business component
    • Defining the UI
      • App Designer
        • App Designer Menu
        • Definition of additional data sources
        • Panel containers and layouts
          • Tab panel
          • Alternative panel
          • Accordion panel
          • Vertical orientation panel
          • Horizontal orientation panel
          • Columns panel
          • Table panel
          • Generic panel
          • Responsive panel
        • Window content
          • Grid Panel
          • Form Panel
          • Filter Panel
          • Tree Panel
          • Google Map Panel
          • Preview Panel (old Image panel)
          • Tree + Grid Panel
          • Image Gallery
        • Windows list
        • Panel definition
          • Columns properties
          • Controls properties
          • Filter properties
          • Supported components
        • Variables
        • Code selectors
          • When not to use a dynamic combo-box
        • Smart Filter and Advanced Filter
        • Multi Value Combobox Filter
        • Multi Value Tree Filter
        • Buttons
        • Translations
          • Translations about GUI components and internationalization settings
          • Data coming from database
          • Custom code and translations
        • Application Menu
        • Bulk import binded to a grid
        • Range Date Filter
      • Web Interpreter
        • Grid components
        • Detail forms
        • Other components
        • Other features
          • Chat
        • Global variables
          • Client-side global variables
          • Server global variables
        • Forgot Password
    • Working with users and roles
      • Rule for roles
      • Permissions Administrator
    • Wizard
      • How to add a checkbox grid to select one or more rows
      • How to load a second grid when clicking on a row from the first grid
      • How to load a form when clicking on a row of the grid
      • How to open a window when double clicking on a row of the grid
      • How to open a window with right click on the popup menu
      • How to open a window when pressing a button on the grid toolbar
      • How to load a grid after loading a form
      • How to open a window when pressing a button on the form toolbar
      • How to load a grid when clicking on a tree node
      • How to load a form when clicking on a tree node
    • Defining events
      • Panel events
      • Column events
      • Control events
      • Filter events
      • Timer events
      • Start-End event
    • Server-side Javascript & Web Service
      • Server-side Javascript
      • Grid component filled by a server-side JS
      • Detail component filled by a server-side JS
      • How to define a server-side JavaScript action
      • Web service
  • Setting up the environment
    • How to install
    • Application parameters
    • Global parameters
  • Modules
    • Reports & Charts
      • Jasper Report + iReport
      • Online report
      • Docx templating
      • Charts
      • Pivot Grid
      • Multidimensional pivot grid
      • Data Export from SQL query
    • SSO
      • Identity management in Platform
        • Identity management on the internal Platform database
        • Identity management based on Google SSO
      • LDAP
        • LDAP support
        • Identity management based on LDAP and database
        • Identity management based on an embedded LDAP server used by Alfresco and or Activiti
        • Identity management based on a remote LDAP server to connect to Platform on the cloud
        • Connecting an LDAP server to Activiti BPM
        • Connecting an LDAP server to Alfresco ECM
      • Google SSO
        • Google SSO
        • Google OAuth2
        • Identity management based on Google SSO
      • Custom SSO
      • Firebase
    • Mobile
      • Mobile introduction
      • Offline vs Online
        • Server side features
        • Server side functionalities
        • Server side Platform features
        • Mobile app features
      • Mobile side specifics
        • Customizations
          • Custom theme editor
        • App Menu
        • Window content
          • Detail scrollable form
          • Scrollable paginated grid
          • Constraint layout
          • Constraint panel
          • Collection grid view
          • Preview panel (mobile)
        • Form Controls
      • Reference guide
      • Cleaning up data
      • How to
      • App deployment
        • App deployment for the iOS platform
        • App deployment for the Android platform
      • Style properties
      • Appendix : Synchronization flow
      • Translations
    • GSuite
      • Introduction
      • Client-side integration
      • GMail
      • Calendar
      • Drive
      • Contacts
    • Google Cloud Platform
      • Datastore
        • Google Datastore Introduction
        • How to create Datastore entities
      • Google Cloud Storage
    • Scheduler
      • Scheduler Introduction
      • Process settings
        • How to define a sequence of consecutive processes
        • How to define a Custom Java Business component
        • How to define a Grid Data Import
        • How to define a server-side Javascript action
      • Email notifications
      • Process executions
      • Manually start a scheduled process
      • Process input parameters
    • Queue Manager
    • Log & Analysis
      • Application Log
      • Log statistics
      • App analyzer
      • Table log
      • Threads
      • Sessions and heap memory
      • Heap memory analysis
      • Access Log
      • Datastore statistics
      • Total monthly costs with Google Datastore
      • Service Monitoring
        • Introduction
        • Defining a service to monitor
        • Notifications setup
        • Events automatically managed by Platform
        • Remote Platform servers
        • Knowledge base
        • Adding log programatically
        • Searching for logged data
        • Use cases
    • File Management
    • Export and Import of Metadata
      • Application Metadata Management
    • Trigger writing operations
    • Audit
    • BPM
      • BPMN Introduction
      • BPMN main parts
      • Activiti Setup
      • Platform integration
        • Processes
        • Models
        • Process instances
        • To-do list
        • Process history
      • Process Web Modeler
        • Model Creation
          • Start-End Event
          • Gateways
        • Supported objects
        • Start tasks and user tasks
        • Form properties
          • Important notes
          • Property types
        • Service tasks
          • Web service
          • SQL Query
          • SQL statement
        • Mail task
        • Script task
          • Example : how to get a value previously read from a SQL query
          • Example : how to get the current process instance id
        • Timer events
        • Subprocess and Call Activiti
      • Utility methods available in Platform
        • How to start a process from a JavaScript action
        • How to complete a user task from a JavaScript action
      • An example
        • Processes
        • Instances
        • Activities
        • History
    • Embedded CMS
    • ECM
      • Alfresco
        • Alfresco Introduction
        • Integration between 4WS.Platform and Alfresco
          • Integration at GUI level
          • Integration at model level
          • Integration at authentication and authorizations level
          • Additional features
        • How to use 4WS.Platform and Alfresco together
          • Set the same Identity Management system
          • Define document types and aspects in Alfresco
          • Import the document types and aspects definitions in 4WS.Platform
          • Define document types and aspects in 4WS.Platform
          • Reverse engineering of document types or aspects
          • Definition of business components to fill-in panels
          • Definition of the GUI
          • Additional server-side services
        • Requirements
        • Current limits in 4WS.Platform - Alfresco integration
      • Archiflow
        • Setup
        • Archiflow artifacts
        • How to
    • Lotus Notes Migration Tool
    • NoSQL databases
      • MongoDB
        • MongoDB Introduction
        • Setting up the environment
        • How to create collections
        • How to create business components
        • How to create windows filled with data coming from MongoDB collections
        • Design rules
      • Google Datastore
        • Google Datastore Introduction
        • Setting up the environment
        • How to create entities
        • How to create business components
        • How to create windows filled with data coming from Datastore entities
        • Design rules
    • TensorFlow
    • Web Page Development
      • Pure Web Page Development
      • Google Material Design development
      • Appendix A - a complete example without any lib
      • Appendix B - a complete example with Google MD
    • Jira Integration
    • Platform for GAE
    • SQL errors management
    • Multidimensional pivot grid
    • Quality
      • Automated Web Service Testing
      • Automated unit testing
      • Source code static analysis using ESlint
      • Source code static analysis using SonarQube
  • Troubleshootings
  • Best practises
    • Database design
    • Database maintenance
    • Creating a Web app : common use cases
    • Creating a mobile app : common use cases
Powered by GitBook
On this page

Was this helpful?

  1. Core features
  2. Defining the UI
  3. App Designer
  4. Translations

Translations about GUI components and internationalization settings

PreviousTranslationsNextData coming from database

Last updated 5 years ago

Was this helpful?

A functionality named "Translations" is available through the menu item: it allows the user to set every single translation related to the GUI defined through the App Designer, for each declared language. The feature is composed of an editable grid, reporting for each row, the component to translate and the description for each language. The grid content is filtered according to the selected node in the tree on the left. The tree organizes all the translations according to the type:

  • Windows – includes all defined windows and for each window, all the panels included in it

  • Static combobox values – here all static comboboxes defined in Selectors are reported: for each selector, the items for it are reported

  • Button text – includes all the buttons defined in any panel

  • Popup title – includes all the commands defined in popup menus

  • Custom – includes all custom translations, defined manually by the user (through the Add button)

  • Audit – includes all the translations involved with the Data Audit functionality

  • Menu items – includes all the translations for folders and items in the application menu

How the translations are generated When creating a new component through the Designer, such as a label, the user has only provided one description for the label, so this description is applied for all the languages . Afterwards, the user can exploit the "Translations" feature to change the description for any language related to that label.

How to work with translations The best way to find a panel is to work with the filter on the left: just expand Windows node and then select the right window and select the panel you are interested in, to show its translation in the grid on the right. In order to make it easier the search for a specific component in this dictionary of translations, you can always use the quick filter panel by right clicking on a cell of that grid. Moreover, there is a filter panel above the editable grid: it is possible to show in the grid only a subset of the whole dictionary, by showing only the ones:

  • to manage – control labels/column headers declared as “to manage”, i.e. visible or not, but in any case managed by the UI

  • visible –control labels/column headers declared as “visible”, i.e. shown as default behavior

  • hideable –control labels/column headers declared as “hideable”, i.e. they can be visible or not currently, but they could be shown at some time

  • exportable – UI components which will be exported when exporting metadata

Custom translations In addition to the "Translations" functionality, there is also a " Custom translations " node in the tree: it can be used to show all ad hoc translations already defined and to add new ones. Moreover, you can customize the default translations provided through the first feature. If the same entry is defined as a custom translation, this one has priority over the default translation. In order to figure out when "Custom translations" comes in handy, it is important to focus on the deploy task, from the development environment to the next one, such as test or production. During the deploy activity, all metadata defined using the App Designer are exported and imported in the next environment, including the translations stored through the "Translations" functionality; however, "Custom translations" are not imported: that means that for each environment it is possible to define specific translations, if needed, that overwrite the default ones. Apart from translations, this feature also manages internationalization settings, that is to say, the way data should be formatted independently of the specific panel (grid, form, etc). A date value can be formatted with different separators among year, month, day, hours, minutes (e.g. 2015-01-01 vs 2015/01/01 ) and these parts can be set in different orders (e.g. 2015-31-12 vs 31-12-2015 ). Similarly, numbers can be formatted in different ways: decimal symbol, thousand symbol, grouping or not, numbers of digits before and after the decimal symbol and so forth. All these settings have already a default value, for each language used. In case these settings must be overridden, it is possible to reset them, by adding entries in the Translations window, according to the following list of entries:

Entry

Example of value

Meaning

common.extdateformat

Y/m/d

define how year, month and day of month must be showed, for date (only) values

| Entry | Example of value | Meaning | | :--- | :--- | :--- | | common.extdateformat | Y/m/d | define how year, month and day of month must be showed, for date (only) values | | common.extdatetimeformat | Y/m/d H:i | define how year, month and day of month + hours and minutes must be showed for date+time values | | common.currencysymbol | $ | currency symbol to use when defining numeric columns/controls as currency type components | | common.decimalsymbol | . | decimal symbol to use with numeric columns/controls | | common.thousandsymbol | , | thousand symbol to use with numeric columns/controls | | common.groupingsymbol | , | grouping symbol to use with numeric columns/controls | | common.showcenturyindateformat | true|false | define if the century must be showed in years | | common.timeformat | HH:mm | define how hours and minutes must be showed for time (only) values | | common.exttimeformat | G:i | define how hours and minutes must be showed for time (only) values |