You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: designguide/naming.md
+17-20Lines changed: 17 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,41 +4,38 @@ Due to the technical nature associated with CAD and advanced programming, it is
4
4
5
5
*NOTE: This area is highly subjective as FreeCAD is translated into many languages, however English is considered the standard by which naming will be assessed. It will be up to various translators to best adhere to these guidelines as best as possible.*
6
6
7
+
Efforts should be made to conserve space within the UI in order to prevent elements from needing to be resized from workbench-to-workbench or dialog-to-dialog. Word choices should be reviewed before merging a pull-request with text elements in the GUI.
8
+
7
9
### Language
8
10
9
11
- Use the shortest descriptive words possible for a function. Single words are preferred, however this will not always be possible. For example use `Additive cube` instead of "Add additive Cube" or "Create new additive cube" for naming the command. Tooltips can be more descriptive, but concepts and functionality should be explained in the documentation.
10
-
11
-
- Use third-person present tense in tooltips. "Creates", "adds", "sends", "opens", etc.
12
-
13
-
- Describe the action or result in tooltips: say what the command does and what is needed (e.g. active body or selection), do not only repeat its name. Be specific if possible: instead of "Add" -> `Adds a new sketch to the active body`.
14
-
- Do not add additional information which is obvious or list multiple steps like "Select one or more line(s) click this button, add dimension". Better: "Inserts a dimension for the selected lines".
15
-
- Do not address the user directly where not necessary. Don't wrie of "Click this button" in the tooltip or "Select something then do this". Instead describe in a short sentence what the command does with which inputs without asking the user directly.
16
-
17
-
- Broadly accepted and understood acronyms can be used in place of full words, however, these should be scrutinized closely by the design and development teams to avoid obscure references.
18
-
19
-
- Avoid using common programming terms, preference should be given towards more plain language words.
20
-
12
+
- Do not use verbs in the command name itself where not needed and try to avoid "Create", "Add", "Insert" in the command name. Example: `New File` is sufficient, the command should not say "Create new file". It can be relevant if the action is not obvious, e.g. `Insert image` (just "Image" would not be enough). Instead of verbs use nouns in the command name, where the most important word should be in the beginning: `Horizontal constraint` instead of "Constrain horizontal" (otherwise all similar commands start with constraint).
13
+
- Use third-person present tense in tooltips or hints. `Creates`, `adds`, `sends`, `opens`, etc. and write tooltips and hints as complete sentences, starting with the verb where possible.
14
+
- Describe the action or result in tooltips: say what the command does and what is needed (e.g. active body or selection), do not only repeat its name. Be specific if possible: instead of "Add sketch" write `Adds a new sketch to the active body`.
15
+
- If a text is valid for one or multiple actions use always plural, e.g. `Creates holes based on the selected profiles` not "Creates hole(s) based on the selected profile(s)".
16
+
- Do not add additional information which is obvious or list multiple steps like "Select one or more line(s) click this button, add dimension". Better: `Inserts a dimension for the selected lines`.
17
+
- Avoid redundant descriptions of states in tooltips and notes. Example: instead of "If checked by the user, the view is updated automatically", "If active,..." or "This option controls..." use `Updates view atomatically`.
18
+
- Avoid addressing the user directly or in third person. Do not write "Click this button" in the tooltip or "Select something then do this". Instead describe in a short sentence what the command does with which inputs without asking the user directly.
19
+
- Broadly accepted and understood acronyms can be used in place of full words (e.g. `CAD` or `ISO`), however, these should be scrutinized closely by the design and development teams to avoid obscure references.
20
+
- Write numbers in arabic numerals (`0, 1, 2,...`) not spelled out ("one, two,...")
21
21
- For concepts already used within FreeCAD, use the same wording so those concepts remain consistent wherever possible.
22
+
- Avoid using common programming terms, preference should be given towards more plain language words.
23
+
- For all user-facing strings add comments to help adding context for translators `//: Sketcher: Command name for new line`. More info in the [Qt docs](https://doc.qt.io/qt-6/i18n-source-translation.html#add-comments-for-translators).
22
24
23
-
- Write numbers in arabic numerals (0, 1, 2,...) not spelled out (one, two)
24
-
25
-
- If a text is valid for one or multiple actions use always plural, e.g. "Creates holes based on the selected profiles" not "Creates hole(s) based on the selected profile(s)"
26
-
27
-
Efforts should be made to conserve space within the UI in order to prevent elements from needing to be resized from workbench-to-workbench or dialog-to-dialog. Word choices should be reviewed before merging a pull-request with text elements in the GUI.
28
25
29
26
### UI Text Style
30
27
31
-
Use **sentence case** for all user-facing UI text, including buttons, menu items, tooltips, labels, and settings. Sentence case means only the first word and proper nouns are capitalized, and complete sentences end with a period. This makes the user interface visually less distracting and easier to read. For the same reason, avoid contractions like for example "don't" or "can't" - write "do not" and "cannot" instead.
28
+
Use **sentence case** for all user-facing UI text, including buttons, menu items, tooltips, labels, and settings. Sentence case means only the first word and proper nouns are capitalized, and complete sentences end with a period. This makes the user interface visually less distracting and easier to read. For the same reason, avoid contractions like for example "don't" or "can't" - write `do not` and `cannot` instead.
32
29
33
30
**Do not use periods** at the end of **short** UI strings like menu items, button labels, and checkbox texts. Use a period on tooltips and longer text elements, if they contain a full sentence. Omit the period if the tooltip is a short phrase or label.
34
31
35
-
**Don't capitalize commands or object names** unless it is a technical term that is capitalized in general.
32
+
**Do not capitalize commands or object names** unless it is a technical term that is capitalized in general.
36
33
37
34
**Use ellipsis (...)** at the end of menu items when specific input from the user is required for the action.
38
35
39
36
**Example:**
40
-
-`This option controls whether sketches automatically constrain new geometry. It is recommended to leave it enabled for most workflows.` - Complete sentences ends with a period.
41
-
-`New file` - This is just a short label. A tooltip for toolbar button would be "Creates a new file".
37
+
-`Constrains new geometry automatically. It is recommended to leave it enabled for most workflows.` - Complete sentences end with a period.
38
+
-`New file` - This is just a short label. A tooltip for that command button would be "Creates a new file".
42
39
-`Save as...` - The function requires user input to function.
43
40
-`Addon manager` - This is not a simple action, so no ellipsis.
0 commit comments