Skip to content

Commit a56f54a

Browse files
committed
EN,CZ : plugLocStrings : Localization usage and preparation principles
1 parent 970e61e commit a56f54a

File tree

4 files changed

+156
-0
lines changed

4 files changed

+156
-0
lines changed

cs/plugLocStrings.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# 🌐 Lokalizace pluginů
2+
3+
## Použití lokalizačního řetězce
4+
5+
Kdekoli v kódu pluginu toto provolání:
6+
7+
```javascript
8+
_T('LokalizacniKlic');
9+
_T('LokalizacniKlic', { dynamickaHodnota: 'pokus'});
10+
```
11+
12+
**\_T** vypíše hodnotu lokalizačního klíče **LokalizacniKlic**. Pokud hodnota chybí, vypíše se jméno klíče s podtržítky \_LokalizacniKlic\_ (v markdown výstupu se zobrazí kurzivou bez podtržítek - _LokalizacniKlic_).
13+
14+
Druhý parametr (objekt) slouží pro předání dynamických hodnot, které se do řetězce mohou dosadit.
15+
16+
Kapitola 🌐 [Nový jazyk prohlížeče][ViewerNewLang] dále popisuje:
17+
18+
- strukturu a význam souborů hlavní lokalizace,
19+
- jejich umístění,
20+
- formát lokalizačních klíčů, který je automaticky mapován na HTML objekty podle shody id a jména vlastnosti se jménem klíče
21+
22+
## Samostatný lokalizační slovník pro plugin
23+
24+
Pomocí komponenty 🧩 [pServiceLocalization][pServiceLocalization] (součást základního balíčku) lze přidat vlastní lokalizace pro každý plugin. Stačí založit příslušné soubory na správném místě.
25+
26+
Povinné soubory:
27+
28+
- **lstr.txt** – pevně dané texty
29+
- **lstr.js** – dynamické řetězce (obsahují proměnné, skládají texty za běhu)
30+
31+
Struktura
32+
33+
- Soubory se ukládají podle jazykových kódů (cs, en, ...).
34+
- Strom adresářů pro jednotlivé jazyky je ukázán v kapitolách dále.
35+
- 🛈 Stromy adresářů dat prohlížeče a dat nápovědy se liší, protože vycházejí z odlišného vnitřního procesu načítání.
36+
37+
Další informace
38+
39+
- Detailní popis struktury a formátu lokalizačních souborů najdete v kapitole 🌐 [Nový jazyk prohlížeče][ViewerNewLang].
40+
41+
Popis činnosti
42+
43+
- Při zavedení instance pluginu se načte jeho lokalizační slovník z příslušných souborů a připojí se k již načtené lokalizaci.
44+
- Při změně jazyka se nejprve načte hlavní lokalizační slovník a poté se postupně načítají slovníky podle [pořadí zavedení][OELoadOrder] jednotlivých instancí pluginů.
45+
- Při kolizi jmen klíčů je rozhodující poslední načtená hodnota, protože přepíše všechny předchozí.
46+
47+
### V datech prohlížeče
48+
49+
```treeview
50+
HelpViewer/
51+
zip/
52+
jméno-třídy-pluginu/
53+
cs/
54+
lstr.js
55+
lstr.txt
56+
en/
57+
lstr.js
58+
lstr.txt
59+
```
60+
61+
### V datech nápovědy
62+
63+
```treeview
64+
helpProject/
65+
cs/
66+
jméno-třídy-pluginu/
67+
lstr.js
68+
lstr.txt
69+
en/
70+
jméno-třídy-pluginu/
71+
lstr.js
72+
lstr.txt
73+
```
74+
75+
[ViewerNewLang]: newLangViewer.md#h-3-1 "Nový jazyk prohlížeče"
76+
[pServiceLocalization]: :_plg:pServiceLocalization.md "pServiceLocalization"
77+
[OELoadOrder]: :_/LORDER.md "Pořadí zavádění"

cs/tree.lst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Seznamy|Seznamy||lists.md
1313
📑 Zavádění pluginů|Zavádění pluginů||pluginLoad.md
1414
⚙️ Konfigurace pluginů|Konfigurace pluginů||pluginConfig.md
1515
🔺 Filtrování událostí|Filtrování událostí v pluginech||eventFilter.md
16+
🌐 Lokalizace|Lokalizace pluginů||plugLocStrings.md
1617
Implementace pluginů|Implementace pluginů||implPlug.md
1718
🖥️ puiButton|puiButton||puiButton.md
1819
🖥️ puiButtonTab|puiButtonTab||puiButtonTab.md

en/plugLocStrings.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# 🌐 Plugin localization
2+
3+
## Using the localization string
4+
5+
Anywhere in the plugin code, this call:
6+
7+
```javascript
8+
_T('LocalizationKey');
9+
_T('LocalizationKey', { dynamicValue: 'test'});
10+
```
11+
12+
**\_T** will print the value of the localization key **LocalizationKey**. If the value is missing, the key name will be printed with underscores \_LocalizationKey\_ (in markdown output, it will be displayed in italics without underscores - _LocalizationKey_).
13+
14+
The second parameter (object) is used to pass dynamic values that can be inserted into the string.
15+
16+
The chapter 🌐 [New language for Viewer][ViewerNewLang] further describes:
17+
18+
- the structure and meaning of the main localization files,
19+
- their location,
20+
- the format of localization keys, which is automatically mapped to HTML objects according to the match between the id and property name and the key name.
21+
22+
## Separate localization dictionary for the plugin
23+
24+
Using the 🧩 [pServiceLocalization][pServiceLocalization] plugin (part of the basic package), you can add your own localizations for each plugin. Just create the appropriate files in the right place.
25+
26+
Required files:
27+
28+
- **lstr.txt** – fixed texts
29+
- **lstr.js** – dynamic strings (contain variables, compose texts on the fly)
30+
31+
Structure
32+
33+
- Files are stored according to language codes (cs, en, ...).
34+
- The directory tree for each language is shown in the following chapters.
35+
- 🛈 The browser data and help data directory trees differ because they are based on different internal loading processes.
36+
37+
Further information
38+
39+
- A detailed description of the structure and format of localization files can be found in the chapter 🌐 [New language for Viewer][ViewerNewLang].
40+
41+
Description of activity
42+
43+
- When a plugin instance is loaded, its localization dictionary is loaded from the relevant files and added to the already loaded localization.
44+
- When changing the language, the main localization dictionary is loaded first, followed by the dictionaries according to the [loading order][OELoadOrder] of the individual plugin instances.
45+
- In case of key name collisions, the last loaded value takes precedence, as it overwrites all previous ones.
46+
47+
### In browser data
48+
49+
```treeview
50+
HelpViewer/
51+
zip/
52+
plugin-class-name/
53+
cs/
54+
lstr.js
55+
lstr.txt
56+
en/
57+
lstr.js
58+
lstr.txt
59+
```
60+
61+
### In help data
62+
63+
```treeview
64+
helpProject/
65+
cs/
66+
plugin-class-name/
67+
lstr.js
68+
lstr.txt
69+
en/
70+
plugin-class-name/
71+
lstr.js
72+
lstr.txt
73+
```
74+
75+
[ViewerNewLang]: newLangViewer.md#h-3-1 "New language for Viewer"
76+
[pServiceLocalization]: :_plg:pServiceLocalization.md "pServiceLocalization"
77+
[OELoadOrder]: :_/LORDER.md "Loading order"

en/tree.lst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Lists|Lists||lists.md
1313
📑 Loading plugins|Loading plugins||pluginLoad.md
1414
⚙️ Plugin configuration|Plugin configuration||pluginConfig.md
1515
🔺 Filtering events in plugins|Filtering events in plugins||eventFilter.md
16+
🌐 Localization|Plugin localization||plugLocStrings.md
1617
Plugin implementation|Plugin implementation||implPlug.md
1718
🖥️ puiButton|puiButton||puiButton.md
1819
🖥️ puiButtonTab|puiButtonTab||puiButtonTab.md

0 commit comments

Comments
 (0)