Statistiques
| Révision :

root / tmp / org.txm.setups / nsis / Include / LangFile.nsh @ 1610

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