Adding translatability information
parent
5a20346cfe
commit
29b2b21b31
1 changed files with 33 additions and 1 deletions
|
@ -9,7 +9,7 @@ To create an object, create a new file javascript files in `LogarithmPlotter/qml
|
|||
```js
|
||||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -69,6 +69,38 @@ So to create a new object, choose one of the two to extend, and then create a cl
|
|||
- Lists: `new P.List(<static type>, format = /^.+$/, label = '', forbidAdding = false)`
|
||||
- Dictionaries: `new P.Dictionary(valueType: <static type>, keytType: <static type>, format = /^.+$/, preKeyLabel = '', postKeyLabel = ': ', forbidAdding = false)`
|
||||
- Other objects: `new P.ObjectType(<object type. E.g. "Point", "ExecutableObject"...>)`
|
||||
- In order to allow the properties to be properly translated, you shoudl apply the `QT_TRANSLATE_NOOP` macro to both property names (in the `prop` namespace) and comments (in the `comment` namespace). For example:
|
||||
```js
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','expression')]: 'Expression',
|
||||
[QT_TRANSLATE_NOOP('prop','definitionDomain')]: 'Domain',
|
||||
[QT_TRANSLATE_NOOP('prop','destinationDomain')]: 'Domain',
|
||||
'comment1': QT_TRANSLATE_NOOP(
|
||||
'comment',
|
||||
'Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}'
|
||||
),
|
||||
[QT_TRANSLATE_NOOP('prop','labelPosition')]: P.Enum.Position,
|
||||
[QT_TRANSLATE_NOOP('prop','displayMode')]: P.Enum.FunctionDisplayType,
|
||||
[QT_TRANSLATE_NOOP('prop','labelX')]: 'number',
|
||||
'comment2': QT_TRANSLATE_NOOP(
|
||||
'comment',
|
||||
'The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)'
|
||||
),
|
||||
[QT_TRANSLATE_NOOP('prop','drawPoints')]: 'boolean',
|
||||
[QT_TRANSLATE_NOOP('prop','drawDashedLines')]: 'boolean'
|
||||
}}
|
||||
````
|
||||
|
||||
- For enums that need to be translated, an alias should be created in `parameters.js`, and then use the static class value in your parameter. For example:
|
||||
```js
|
||||
Enum.XCursorValuePosition = new Enum(
|
||||
QT_TR_NOOP('Next to target'),
|
||||
QT_TR_NOOP('With label'),
|
||||
QT_TR_NOOP('Hidden')
|
||||
)
|
||||
|
||||
```
|
||||
|
||||
- `constructor(name = null, visible = true, color = null, labelContent = 'name + value', ...other arguments)`
|
||||
- Constructor of the object, should contain at least the name, visible, color, and labelContent that are passed to the super constructor.
|
||||
- You should also beaware that Expressions may be inputed as strings or numbers when restored from save, as such you should add a line in your constructor to convert them to an expression.
|
||||
|
|
Loading…
Reference in a new issue