root / tmp / org.txm.setups / nsis / Include / LangFile.nsh @ 2107
Historique | Voir | Annoter | Télécharger (2,74 ko)
1 |
/* |
---|---|
2 |
|
3 |
LangFile.nsh |
4 |
|
5 |
Header file to create langauge files that can be |
6 |
included with a single command. |
7 |
|
8 |
Copyright 2008-2015 Joost Verburg |
9 |
|
10 |
* Either LANGFILE_INCLUDE or LANGFILE_INCLUDE_WITHDEFAULT |
11 |
can be called from the script to include a language |
12 |
file. |
13 |
|
14 |
- LANGFILE_INCLUDE takes the language file name as parameter. |
15 |
- LANGFILE_INCLUDE_WITHDEFAULT takes as additional second |
16 |
parameter the default language file to load missing strings |
17 |
from. |
18 |
|
19 |
* A language file start with: |
20 |
!insertmacro LANGFILE_EXT "English" |
21 |
using the same name as the standard NSIS language file. |
22 |
|
23 |
* Language strings in the language file have the format: |
24 |
${LangFileString} LANGSTRING_NAME "Text" |
25 |
|
26 |
*/ |
27 |
|
28 |
!ifndef LANGFILE_INCLUDED |
29 |
!define LANGFILE_INCLUDED |
30 |
|
31 |
!macro LANGFILE_INCLUDE FILENAME |
32 |
|
33 |
;Called from script: include a langauge file |
34 |
|
35 |
!ifdef LangFileString |
36 |
!undef LangFileString |
37 |
!endif |
38 |
|
39 |
!define LangFileString "!insertmacro LANGFILE_SETSTRING" |
40 |
|
41 |
!define LANGFILE_SETNAMES |
42 |
!include "${FILENAME}" |
43 |
!undef LANGFILE_SETNAMES |
44 |
|
45 |
;Create language strings |
46 |
|
47 |
!undef LangFileString |
48 |
!define LangFileString "!insertmacro LANGFILE_LANGSTRING" |
49 |
!include "${FILENAME}" |
50 |
|
51 |
!macroend |
52 |
|
53 |
!macro LANGFILE_INCLUDE_WITHDEFAULT FILENAME FILENAME_DEFAULT |
54 |
|
55 |
;Called from script: include a langauge file |
56 |
;Obtains missing strings from a default file |
57 |
|
58 |
!ifdef LangFileString |
59 |
!undef LangFileString |
60 |
!endif |
61 |
|
62 |
!define LangFileString "!insertmacro LANGFILE_SETSTRING" |
63 |
|
64 |
!define LANGFILE_SETNAMES |
65 |
!include "${FILENAME}" |
66 |
!undef LANGFILE_SETNAMES |
67 |
|
68 |
;Include default language for missing strings |
69 |
!include "${FILENAME_DEFAULT}" |
70 |
|
71 |
;Create language strings |
72 |
!undef LangFileString |
73 |
!define LangFileString "!insertmacro LANGFILE_LANGSTRING" |
74 |
!include "${FILENAME_DEFAULT}" |
75 |
|
76 |
!macroend |
77 |
|
78 |
!macro LANGFILE IDNAME NAME |
79 |
|
80 |
;Start of standard NSIS language file |
81 |
|
82 |
!ifdef LANGFILE_SETNAMES |
83 |
|
84 |
!ifdef LANGFILE_IDNAME |
85 |
!undef LANGFILE_IDNAME |
86 |
!endif |
87 |
|
88 |
!define LANGFILE_IDNAME "${IDNAME}" |
89 |
|
90 |
!ifndef "LANGFILE_${IDNAME}_NAME" |
91 |
!define "LANGFILE_${IDNAME}_NAME" "${NAME}" |
92 |
!endif |
93 |
|
94 |
!endif |
95 |
|
96 |
!macroend |
97 |
|
98 |
!macro LANGFILE_EXT IDNAME |
99 |
|
100 |
;Start of installer language file |
101 |
|
102 |
!ifdef LANGFILE_SETNAMES |
103 |
|
104 |
!ifdef LANGFILE_IDNAME |
105 |
!undef LANGFILE_IDNAME |
106 |
!endif |
107 |
|
108 |
!define LANGFILE_IDNAME "${IDNAME}" |
109 |
|
110 |
!endif |
111 |
|
112 |
!macroend |
113 |
|
114 |
!macro LANGFILE_SETSTRING NAME VALUE |
115 |
|
116 |
;Set define with translated string |
117 |
|
118 |
!ifndef ${NAME} |
119 |
!define "${NAME}" "${VALUE}" |
120 |
!endif |
121 |
|
122 |
!macroend |
123 |
|
124 |
!macro LANGFILE_LANGSTRING NAME DUMMY |
125 |
|
126 |
;Create a language string from a define and undefine |
127 |
|
128 |
LangString "${NAME}" "${LANG_${LANGFILE_IDNAME}}" "${${NAME}}" |
129 |
!undef "${NAME}" |
130 |
|
131 |
!macroend |
132 |
|
133 |
!endif |