|
|
1 | /** |
|
|
2 | * ZANavi, Zoff Android Navigation system. |
|
|
3 | * Copyright (C) 2011-2012 Zoff <zoff@zoff.cc> |
|
|
4 | * |
|
|
5 | * This program is free software; you can redistribute it and/or |
|
|
6 | * modify it under the terms of the GNU General Public License |
|
|
7 | * version 2 as published by the Free Software Foundation. |
|
|
8 | * |
|
|
9 | * This program is distributed in the hope that it will be useful, |
|
|
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
12 | * GNU General Public License for more details. |
|
|
13 | * |
|
|
14 | * You should have received a copy of the GNU General Public License |
|
|
15 | * along with this program; if not, write to the |
|
|
16 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
|
|
17 | * Boston, MA 02110-1301, USA. |
|
|
18 | */ |
|
|
19 | |
1 | /** |
20 | /** |
2 | * Navit, a modular navigation system. |
21 | * Navit, a modular navigation system. |
3 | * Copyright (C) 2005-2008 Navit Team |
22 | * Copyright (C) 2005-2008 Navit Team |
4 | * |
23 | * |
5 | * This program is free software; you can redistribute it and/or |
24 | * This program is free software; you can redistribute it and/or |
… | |
… | |
67 | void |
86 | void |
68 | setenv(char *var, char *val, int overwrite) |
87 | setenv(char *var, char *val, int overwrite) |
69 | { |
88 | { |
70 | char *str=g_strdup_printf("%s=%s",var,val); |
89 | char *str=g_strdup_printf("%s=%s",var,val); |
71 | if (overwrite || !getenv(var)) |
90 | if (overwrite || !getenv(var)) |
72 | putenv(str); |
91 | putenv(str); |
73 | g_free(str); |
92 | g_free(str); |
74 | } |
93 | } |
75 | #endif |
94 | #endif |
76 | |
95 | |
77 | /* |
96 | /* |
78 | * environment_vars[][0:name,1-3:mode] |
97 | * environment_vars[][0:name,1-3:mode] |
79 | * ':' replaced with NAVIT_PREFIX |
98 | * ':' replaced with NAVIT_PREFIX |
80 | * '::' replaced with NAVIT_PREFIX and LIBDIR |
99 | * '::' replaced with NAVIT_PREFIX and LIBDIR |
81 | * '~' replaced with HOME |
100 | * '~' replaced with HOME |
82 | */ |
101 | */ |
83 | static char *environment_vars[][5]={ |
102 | static char *environment_vars[][5] = { { "NAVIT_LIBDIR", ":", "::/navit", ":\\lib", ":/lib" }, { "NAVIT_SHAREDIR", ":", ":/share/navit", ":", ":/share" }, { "NAVIT_LOCALEDIR", ":/../locale", ":/share/locale", ":\\locale", ":/locale" }, { "NAVIT_USER_DATADIR", ":", "~/.navit", ":\\data", ":/home" }, |
84 | {"NAVIT_LIBDIR", ":", "::/navit", ":\\lib", ":/lib"}, |
|
|
85 | {"NAVIT_SHAREDIR", ":", ":/share/navit", ":", ":/share"}, |
|
|
86 | {"NAVIT_LOCALEDIR", ":/../locale",":/share/locale",":\\locale", ":/locale"}, |
|
|
87 | {"NAVIT_USER_DATADIR",":", "~/.navit", ":\\data", ":/home"}, |
|
|
88 | #if 1 |
103 | #if 1 |
89 | {"NAVIT_LOGFILE", NULL, NULL, ":\\navit.log",NULL}, |
104 | { "NAVIT_LOGFILE", NULL, NULL, ":\\navit.log", NULL }, |
90 | #endif |
105 | #endif |
91 | {"NAVIT_LIBPREFIX", "*/.libs/", NULL, NULL, NULL}, |
106 | { "NAVIT_LIBPREFIX", "*/.libs/", NULL, NULL, NULL }, { NULL, NULL, NULL, NULL, NULL }, }; |
92 | {NULL, NULL, NULL, NULL, NULL}, |
|
|
93 | }; |
|
|
94 | |
107 | |
95 | static void |
|
|
96 | main_setup_environment(int mode) |
108 | static void main_setup_environment(int mode) |
97 | { |
109 | { |
98 | int i=0; |
110 | int i = 0; |
99 | char *var,*val,*homedir; |
111 | char *var, *val, *homedir; |
100 | while ((var=environment_vars[i][0])) { |
112 | while ((var = environment_vars[i][0])) |
|
|
113 | { |
101 | val=environment_vars[i][mode+1]; |
114 | val = environment_vars[i][mode + 1]; |
102 | if (val) { |
115 | if (val) |
|
|
116 | { |
103 | switch (val[0]) { |
117 | switch (val[0]) |
|
|
118 | { |
104 | case ':': |
119 | case ':': |
105 | if (val[1] == ':') |
120 | if (val[1] == ':') |
106 | val=g_strdup_printf("%s/%s%s", getenv("NAVIT_PREFIX"), LIBDIR+sizeof(PREFIX), val+2); |
121 | val = g_strdup_printf("%s/%s%s", getenv("NAVIT_PREFIX"), LIBDIR + sizeof(PREFIX), val + 2); |
107 | else |
122 | else |
108 | val=g_strdup_printf("%s%s", getenv("NAVIT_PREFIX"), val+1); |
123 | val = g_strdup_printf("%s%s", getenv("NAVIT_PREFIX"), val + 1); |
109 | break; |
124 | break; |
110 | case '~': |
125 | case '~': |
111 | homedir=getenv("HOME"); |
126 | homedir = getenv("HOME"); |
112 | if (!homedir) |
127 | if (!homedir) |
113 | homedir="./"; |
128 | homedir = "./"; |
114 | val=g_strdup_printf("%s%s", homedir, val+1); |
129 | val = g_strdup_printf("%s%s", homedir, val + 1); |
115 | break; |
130 | break; |
116 | default: |
131 | default: |
117 | val=g_strdup(val); |
132 | val = g_strdup(val); |
118 | break; |
133 | break; |
119 | } |
134 | } |
120 | setenv(var, val, 0); |
135 | setenv(var, val, 0); |
121 | g_free(val); |
136 | g_free(val); |
122 | } |
137 | } |
123 | i++; |
138 | i++; |
124 | } |
139 | } |
125 | } |
140 | } |
126 | |
141 | |
127 | #ifdef HAVE_API_WIN32_BASE |
142 | #ifdef HAVE_API_WIN32_BASE |
128 | char *nls_table[][3]={ |
143 | char *nls_table[][3]= |
|
|
144 | { |
129 | // NLS Table compiled by Nick "Number6" Geoghegan |
145 | // NLS Table compiled by Nick "Number6" Geoghegan |
130 | // Not an exhaustive list, but supports 99% of all languages in Windows |
146 | // Not an exhaustive list, but supports 99% of all languages in Windows |
131 | //{"LANGNAME", "CTRYNAME", "Language Code"}, |
147 | //{"LANGNAME", "CTRYNAME", "Language Code"}, |
|
|
148 | |
132 | {"AFK", "ZAF", "af_ZA"}, // Afrikaans (South Africa) |
149 | { "AFK", "ZAF", "af_ZA"}, // Afrikaans (South Africa) |
|
|
150 | |
133 | {"SQI", "ALB", "sq_AL"}, // Albanian (Albania) |
151 | { "SQI", "ALB", "sq_AL"}, // Albanian (Albania) |
|
|
152 | |
134 | {"AMH", "ETH", "am_ET"}, // Amharic (Ethiopia) |
153 | { "AMH", "ETH", "am_ET"}, // Amharic (Ethiopia) |
|
|
154 | |
135 | {"ARG", "DZA", "ar_DZ"}, // Arabic (Algeria) |
155 | { "ARG", "DZA", "ar_DZ"}, // Arabic (Algeria) |
|
|
156 | |
136 | {"ARH", "BHR", "ar_BH"}, // Arabic (Bahrain) |
157 | { "ARH", "BHR", "ar_BH"}, // Arabic (Bahrain) |
|
|
158 | |
137 | {"ARE", "EGY", "ar_EG"}, // Arabic (Egypt) |
159 | { "ARE", "EGY", "ar_EG"}, // Arabic (Egypt) |
|
|
160 | |
138 | {"ARI", "IRQ", "ar_IQ"}, // Arabic (Iraq) |
161 | { "ARI", "IRQ", "ar_IQ"}, // Arabic (Iraq) |
|
|
162 | |
139 | {"ARJ", "JOR", "ar_JO"}, // Arabic (Jordan) |
163 | { "ARJ", "JOR", "ar_JO"}, // Arabic (Jordan) |
|
|
164 | |
140 | {"ARK", "KWT", "ar_KW"}, // Arabic (Kuwait) |
165 | { "ARK", "KWT", "ar_KW"}, // Arabic (Kuwait) |
|
|
166 | |
141 | {"ARB", "LBN", "ar_LB"}, // Arabic (Lebanon) |
167 | { "ARB", "LBN", "ar_LB"}, // Arabic (Lebanon) |
|
|
168 | |
142 | {"ARL", "LBY", "ar_LY"}, // Arabic (Libya) |
169 | { "ARL", "LBY", "ar_LY"}, // Arabic (Libya) |
|
|
170 | |
143 | {"ARM", "MAR", "ar_MA"}, // Arabic (Morocco) |
171 | { "ARM", "MAR", "ar_MA"}, // Arabic (Morocco) |
|
|
172 | |
144 | {"ARO", "OMN", "ar_OM"}, // Arabic (Oman) |
173 | { "ARO", "OMN", "ar_OM"}, // Arabic (Oman) |
|
|
174 | |
145 | {"ARQ", "QAT", "ar_QA"}, // Arabic (Qatar) |
175 | { "ARQ", "QAT", "ar_QA"}, // Arabic (Qatar) |
|
|
176 | |
146 | {"ARA", "SAU", "ar_SA"}, // Arabic (Saudi Arabia) |
177 | { "ARA", "SAU", "ar_SA"}, // Arabic (Saudi Arabia) |
|
|
178 | |
147 | {"ARS", "SYR", "ar_SY"}, // Arabic (Syria) |
179 | { "ARS", "SYR", "ar_SY"}, // Arabic (Syria) |
|
|
180 | |
148 | {"ART", "TUN", "ar_TN"}, // Arabic (Tunisia) |
181 | { "ART", "TUN", "ar_TN"}, // Arabic (Tunisia) |
|
|
182 | |
149 | {"ARU", "ARE", "ar_AE"}, // Arabic (U.A.E.) |
183 | { "ARU", "ARE", "ar_AE"}, // Arabic (U.A.E.) |
|
|
184 | |
150 | {"ARY", "YEM", "ar_YE"}, // Arabic (Yemen) |
185 | { "ARY", "YEM", "ar_YE"}, // Arabic (Yemen) |
|
|
186 | |
151 | {"HYE", "ARM", "hy_AM"}, // Armenian (Armenia) |
187 | { "HYE", "ARM", "hy_AM"}, // Armenian (Armenia) |
|
|
188 | |
152 | {"ASM", "IND", "as_IN"}, // Assamese (India) |
189 | { "ASM", "IND", "as_IN"}, // Assamese (India) |
|
|
190 | |
153 | {"BAS", "RUS", "ba_RU"}, // Bashkir (Russia) |
191 | { "BAS", "RUS", "ba_RU"}, // Bashkir (Russia) |
|
|
192 | |
154 | {"EUQ", "ESP", "eu_ES"}, // Basque (Basque) |
193 | { "EUQ", "ESP", "eu_ES"}, // Basque (Basque) |
|
|
194 | |
155 | {"BEL", "BLR", "be_BY"}, // Belarusian (Belarus) |
195 | { "BEL", "BLR", "be_BY"}, // Belarusian (Belarus) |
|
|
196 | |
156 | {"BNG", "BDG", "bn_BD"}, // Bengali (Bangladesh) |
197 | { "BNG", "BDG", "bn_BD"}, // Bengali (Bangladesh) |
|
|
198 | |
157 | {"BNG", "IND", "bn_IN"}, // Bengali (India) |
199 | { "BNG", "IND", "bn_IN"}, // Bengali (India) |
|
|
200 | |
158 | {"BRE", "FRA", "br_FR"}, // Breton (France) |
201 | { "BRE", "FRA", "br_FR"}, // Breton (France) |
|
|
202 | |
159 | {"BGR", "BGR", "bg_BG"}, // Bulgarian (Bulgaria) |
203 | { "BGR", "BGR", "bg_BG"}, // Bulgarian (Bulgaria) |
|
|
204 | |
160 | {"CAT", "ESP", "ca_ES"}, // Catalan (Catalan) |
205 | { "CAT", "ESP", "ca_ES"}, // Catalan (Catalan) |
|
|
206 | |
161 | {"ZHH", "HKG", "zh_HK"}, // Chinese (Hong Kong S.A.R.) |
207 | { "ZHH", "HKG", "zh_HK"}, // Chinese (Hong Kong S.A.R.) |
|
|
208 | |
162 | {"ZHM", "MCO", "zh_MO"}, // Chinese (Macao S.A.R.) |
209 | { "ZHM", "MCO", "zh_MO"}, // Chinese (Macao S.A.R.) |
|
|
210 | |
163 | {"CHS", "CHN", "zh_CN"}, // Chinese (People's Republic of China) |
211 | { "CHS", "CHN", "zh_CN"}, // Chinese (People's Republic of China) |
|
|
212 | |
164 | {"ZHI", "SGP", "zh_SG"}, // Chinese (Singapore) |
213 | { "ZHI", "SGP", "zh_SG"}, // Chinese (Singapore) |
|
|
214 | |
165 | {"CHT", "TWN", "zh_TW"}, // Chinese (Taiwan) |
215 | { "CHT", "TWN", "zh_TW"}, // Chinese (Taiwan) |
|
|
216 | |
166 | {"COS", "FRA", "co_FR"}, // Corsican (France) |
217 | { "COS", "FRA", "co_FR"}, // Corsican (France) |
|
|
218 | |
167 | {"HRV", "HRV", "hr_HR"}, // Croatian (Croatia) |
219 | { "HRV", "HRV", "hr_HR"}, // Croatian (Croatia) |
|
|
220 | |
168 | {"HRB", "BIH", "hr_BA"}, // Croatian (Latin, Bosnia and Herzegovina) |
221 | { "HRB", "BIH", "hr_BA"}, // Croatian (Latin, Bosnia and Herzegovina) |
|
|
222 | |
169 | {"CSY", "CZE", "cs_CZ"}, // Czech (Czech Republic) |
223 | { "CSY", "CZE", "cs_CZ"}, // Czech (Czech Republic) |
|
|
224 | |
170 | {"DAN", "DNK", "da_DK"}, // Danish (Denmark) |
225 | { "DAN", "DNK", "da_DK"}, // Danish (Denmark) |
|
|
226 | |
171 | {"NLB", "BEL", "nl_BE"}, // Dutch (Belgium) |
227 | { "NLB", "BEL", "nl_BE"}, // Dutch (Belgium) |
|
|
228 | |
172 | {"NLD", "NLD", "nl_NL"}, // Dutch (Netherlands) |
229 | { "NLD", "NLD", "nl_NL"}, // Dutch (Netherlands) |
|
|
230 | |
173 | {"ENA", "AUS", "en_AU"}, // English (Australia) |
231 | { "ENA", "AUS", "en_AU"}, // English (Australia) |
|
|
232 | |
174 | {"ENL", "BLZ", "en_BZ"}, // English (Belize) |
233 | { "ENL", "BLZ", "en_BZ"}, // English (Belize) |
|
|
234 | |
175 | {"ENC", "CAN", "en_CA"}, // English (Canada) |
235 | { "ENC", "CAN", "en_CA"}, // English (Canada) |
|
|
236 | |
176 | {"ENB", "CAR", "en_CB"}, // English (Caribbean) |
237 | { "ENB", "CAR", "en_CB"}, // English (Caribbean) |
|
|
238 | |
177 | {"ENN", "IND", "en_IN"}, // English (India) |
239 | { "ENN", "IND", "en_IN"}, // English (India) |
|
|
240 | |
178 | {"ENI", "IRL", "en_IE"}, // English (Ireland) |
241 | { "ENI", "IRL", "en_IE"}, // English (Ireland) |
|
|
242 | |
179 | {"ENJ", "JAM", "en_JM"}, // English (Jamaica) |
243 | { "ENJ", "JAM", "en_JM"}, // English (Jamaica) |
|
|
244 | |
180 | {"ENM", "MYS", "en_MY"}, // English (Malaysia) |
245 | { "ENM", "MYS", "en_MY"}, // English (Malaysia) |
|
|
246 | |
181 | {"ENZ", "NZL", "en_NZ"}, // English (New Zealand) |
247 | { "ENZ", "NZL", "en_NZ"}, // English (New Zealand) |
|
|
248 | |
182 | {"ENP", "PHL", "en_PH"}, // English (Republic of the Philippines) |
249 | { "ENP", "PHL", "en_PH"}, // English (Republic of the Philippines) |
|
|
250 | |
183 | {"ENE", "SGP", "en_SG"}, // English (Singapore) |
251 | { "ENE", "SGP", "en_SG"}, // English (Singapore) |
|
|
252 | |
184 | {"ENS", "ZAF", "en_ZA"}, // English (South Africa) |
253 | { "ENS", "ZAF", "en_ZA"}, // English (South Africa) |
|
|
254 | |
185 | {"ENT", "TTO", "en_TT"}, // English (Trinidad and Tobago) |
255 | { "ENT", "TTO", "en_TT"}, // English (Trinidad and Tobago) |
|
|
256 | |
186 | {"ENG", "GBR", "en_GB"}, // English (United Kingdom) |
257 | { "ENG", "GBR", "en_GB"}, // English (United Kingdom) |
|
|
258 | |
187 | {"ENU", "USA", "en_US"}, // English (United States) |
259 | { "ENU", "USA", "en_US"}, // English (United States) |
|
|
260 | |
188 | {"ENW", "ZWE", "en_ZW"}, // English (Zimbabwe) |
261 | { "ENW", "ZWE", "en_ZW"}, // English (Zimbabwe) |
|
|
262 | |
189 | {"ETI", "EST", "et_EE"}, // Estonian (Estonia) |
263 | { "ETI", "EST", "et_EE"}, // Estonian (Estonia) |
|
|
264 | |
190 | {"FOS", "FRO", "fo_FO"}, // Faroese (Faroe Islands) |
265 | { "FOS", "FRO", "fo_FO"}, // Faroese (Faroe Islands) |
|
|
266 | |
191 | {"FIN", "FIN", "fi_FI"}, // Finnish (Finland) |
267 | { "FIN", "FIN", "fi_FI"}, // Finnish (Finland) |
|
|
268 | |
192 | {"FRB", "BEL", "fr_BE"}, // French (Belgium) |
269 | { "FRB", "BEL", "fr_BE"}, // French (Belgium) |
|
|
270 | |
193 | {"FRC", "CAN", "fr_CA"}, // French (Canada) |
271 | { "FRC", "CAN", "fr_CA"}, // French (Canada) |
|
|
272 | |
194 | {"FRA", "FRA", "fr_FR"}, // French (France) |
273 | { "FRA", "FRA", "fr_FR"}, // French (France) |
|
|
274 | |
195 | {"FRL", "LUX", "fr_LU"}, // French (Luxembourg) |
275 | { "FRL", "LUX", "fr_LU"}, // French (Luxembourg) |
|
|
276 | |
196 | {"FRM", "MCO", "fr_MC"}, // French (Principality of Monaco) |
277 | { "FRM", "MCO", "fr_MC"}, // French (Principality of Monaco) |
|
|
278 | |
197 | {"FRS", "CHE", "fr_CH"}, // French (Switzerland) |
279 | { "FRS", "CHE", "fr_CH"}, // French (Switzerland) |
|
|
280 | |
198 | {"FYN", "NLD", "fy_NL"}, // Frisian (Netherlands) |
281 | { "FYN", "NLD", "fy_NL"}, // Frisian (Netherlands) |
|
|
282 | |
199 | {"GLC", "ESP", "gl_ES"}, // Galician (Galician) |
283 | { "GLC", "ESP", "gl_ES"}, // Galician (Galician) |
|
|
284 | |
200 | {"KAT", "GEO", "ka_GE"}, // Georgian (Georgia) |
285 | { "KAT", "GEO", "ka_GE"}, // Georgian (Georgia) |
|
|
286 | |
201 | {"DEA", "AUT", "de_AT"}, // German (Austria) |
287 | { "DEA", "AUT", "de_AT"}, // German (Austria) |
|
|
288 | |
202 | {"DEU", "DEU", "de_DE"}, // German (Germany) |
289 | { "DEU", "DEU", "de_DE"}, // German (Germany) |
|
|
290 | |
203 | {"DEC", "LIE", "de_LI"}, // German (Liechtenstein) |
291 | { "DEC", "LIE", "de_LI"}, // German (Liechtenstein) |
|
|
292 | |
204 | {"DEL", "LUX", "de_LU"}, // German (Luxembourg) |
293 | { "DEL", "LUX", "de_LU"}, // German (Luxembourg) |
|
|
294 | |
205 | {"DES", "CHE", "de_CH"}, // German (Switzerland) |
295 | { "DES", "CHE", "de_CH"}, // German (Switzerland) |
|
|
296 | |
206 | {"ELL", "GRC", "el_GR"}, // Greek (Greece) |
297 | { "ELL", "GRC", "el_GR"}, // Greek (Greece) |
|
|
298 | |
207 | {"KAL", "GRL", "kl_GL"}, // Greenlandic (Greenland) |
299 | { "KAL", "GRL", "kl_GL"}, // Greenlandic (Greenland) |
|
|
300 | |
208 | {"GUJ", "IND", "gu_IN"}, // Gujarati (India) |
301 | { "GUJ", "IND", "gu_IN"}, // Gujarati (India) |
|
|
302 | |
209 | {"HEB", "ISR", "he_IL"}, // Hebrew (Israel) |
303 | { "HEB", "ISR", "he_IL"}, // Hebrew (Israel) |
|
|
304 | |
210 | {"HIN", "IND", "hi_IN"}, // Hindi (India) |
305 | { "HIN", "IND", "hi_IN"}, // Hindi (India) |
|
|
306 | |
211 | {"HUN", "HUN", "hu_HU"}, // Hungarian (Hungary) |
307 | { "HUN", "HUN", "hu_HU"}, // Hungarian (Hungary) |
|
|
308 | |
212 | {"ISL", "ISL", "is_IS"}, // Icelandic (Iceland) |
309 | { "ISL", "ISL", "is_IS"}, // Icelandic (Iceland) |
|
|
310 | |
213 | {"IBO", "NGA", "ig_NG"}, // Igbo (Nigeria) |
311 | { "IBO", "NGA", "ig_NG"}, // Igbo (Nigeria) |
|
|
312 | |
214 | {"IND", "IDN", "id_ID"}, // Indonesian (Indonesia) |
313 | { "IND", "IDN", "id_ID"}, // Indonesian (Indonesia) |
|
|
314 | |
215 | {"IRE", "IRL", "ga_IE"}, // Irish (Ireland) |
315 | { "IRE", "IRL", "ga_IE"}, // Irish (Ireland) |
|
|
316 | |
216 | {"XHO", "ZAF", "xh_ZA"}, // isiXhosa (South Africa) |
317 | { "XHO", "ZAF", "xh_ZA"}, // isiXhosa (South Africa) |
|
|
318 | |
217 | {"ZUL", "ZAF", "zu_ZA"}, // isiZulu (South Africa) |
319 | { "ZUL", "ZAF", "zu_ZA"}, // isiZulu (South Africa) |
|
|
320 | |
218 | {"ITA", "ITA", "it_IT"}, // Italian (Italy) |
321 | { "ITA", "ITA", "it_IT"}, // Italian (Italy) |
|
|
322 | |
219 | {"ITS", "CHE", "it_CH"}, // Italian (Switzerland) |
323 | { "ITS", "CHE", "it_CH"}, // Italian (Switzerland) |
|
|
324 | |
220 | {"JPN", "JPN", "ja_JP"}, // Japanese (Japan) |
325 | { "JPN", "JPN", "ja_JP"}, // Japanese (Japan) |
|
|
326 | |
221 | {"KDI", "IND", "kn_IN"}, // Kannada (India) |
327 | { "KDI", "IND", "kn_IN"}, // Kannada (India) |
|
|
328 | |
222 | {"KKZ", "KAZ", "kk_KZ"}, // Kazakh (Kazakhstan) |
329 | { "KKZ", "KAZ", "kk_KZ"}, // Kazakh (Kazakhstan) |
|
|
330 | |
223 | {"KHM", "KHM", "km_KH"}, // Khmer (Cambodia) |
331 | { "KHM", "KHM", "km_KH"}, // Khmer (Cambodia) |
|
|
332 | |
224 | {"KIN", "RWA", "rw_RW"}, // Kinyarwanda (Rwanda) |
333 | { "KIN", "RWA", "rw_RW"}, // Kinyarwanda (Rwanda) |
|
|
334 | |
225 | {"SWK", "KEN", "sw_KE"}, // Kiswahili (Kenya) |
335 | { "SWK", "KEN", "sw_KE"}, // Kiswahili (Kenya) |
|
|
336 | |
226 | {"KOR", "KOR", "ko_KR"}, // Korean (Korea) |
337 | { "KOR", "KOR", "ko_KR"}, // Korean (Korea) |
|
|
338 | |
227 | {"KYR", "KGZ", "ky_KG"}, // Kyrgyz (Kyrgyzstan) |
339 | { "KYR", "KGZ", "ky_KG"}, // Kyrgyz (Kyrgyzstan) |
|
|
340 | |
228 | {"LAO", "LAO", "lo_LA"}, // Lao (Lao P.D.R.) |
341 | { "LAO", "LAO", "lo_LA"}, // Lao (Lao P.D.R.) |
|
|
342 | |
229 | {"LVI", "LVA", "lv_LV"}, // Latvian (Latvia) |
343 | { "LVI", "LVA", "lv_LV"}, // Latvian (Latvia) |
|
|
344 | |
230 | {"LTH", "LTU", "lt_LT"}, // Lithuanian (Lithuania) |
345 | { "LTH", "LTU", "lt_LT"}, // Lithuanian (Lithuania) |
|
|
346 | |
231 | {"LBX", "LUX", "lb_LU"}, // Luxembourgish (Luxembourg) |
347 | { "LBX", "LUX", "lb_LU"}, // Luxembourgish (Luxembourg) |
|
|
348 | |
232 | {"MKI", "MKD", "mk_MK"}, // Macedonian (Former Yugoslav Republic of Macedonia) |
349 | { "MKI", "MKD", "mk_MK"}, // Macedonian (Former Yugoslav Republic of Macedonia) |
|
|
350 | |
233 | {"MSB", "BRN", "ms_BN"}, // Malay (Brunei Darussalam) |
351 | { "MSB", "BRN", "ms_BN"}, // Malay (Brunei Darussalam) |
|
|
352 | |
234 | {"MSL", "MYS", "ms_MY"}, // Malay (Malaysia) |
353 | { "MSL", "MYS", "ms_MY"}, // Malay (Malaysia) |
|
|
354 | |
235 | {"MYM", "IND", "ml_IN"}, // Malayalam (India) |
355 | { "MYM", "IND", "ml_IN"}, // Malayalam (India) |
|
|
356 | |
236 | {"MLT", "MLT", "mt_MT"}, // Maltese (Malta) |
357 | { "MLT", "MLT", "mt_MT"}, // Maltese (Malta) |
|
|
358 | |
237 | {"MRI", "NZL", "mi_NZ"}, // Maori (New Zealand) |
359 | { "MRI", "NZL", "mi_NZ"}, // Maori (New Zealand) |
|
|
360 | |
238 | {"MAR", "IND", "mr_IN"}, // Marathi (India) |
361 | { "MAR", "IND", "mr_IN"}, // Marathi (India) |
|
|
362 | |
239 | {"MON", "MNG", "mn_MN"}, // Mongolian (Cyrillic, Mongolia) |
363 | { "MON", "MNG", "mn_MN"}, // Mongolian (Cyrillic, Mongolia) |
|
|
364 | |
240 | {"NEP", "NEP", "ne_NP"}, // Nepali (Nepal) |
365 | { "NEP", "NEP", "ne_NP"}, // Nepali (Nepal) |
|
|
366 | |
241 | {"NOR", "NOR", "nb_NO"}, // Norwegian, Bokmå(Norway) |
367 | { "NOR", "NOR", "nb_NO"}, // Norwegian, Bokmå(Norway) |
|
|
368 | |
242 | {"NON", "NOR", "nn_NO"}, // Norwegian, Nynorsk (Norway) |
369 | { "NON", "NOR", "nn_NO"}, // Norwegian, Nynorsk (Norway) |
|
|
370 | |
243 | {"OCI", "FRA", "oc_FR"}, // Occitan (France) |
371 | { "OCI", "FRA", "oc_FR"}, // Occitan (France) |
|
|
372 | |
244 | {"ORI", "IND", "or_IN"}, // Oriya (India) |
373 | { "ORI", "IND", "or_IN"}, // Oriya (India) |
|
|
374 | |
245 | {"PAS", "AFG", "ps_AF"}, // Pashto (Afghanistan) |
375 | { "PAS", "AFG", "ps_AF"}, // Pashto (Afghanistan) |
|
|
376 | |
246 | {"FAR", "IRN", "fa_IR"}, // Persian |
377 | { "FAR", "IRN", "fa_IR"}, // Persian |
|
|
378 | |
247 | {"PLK", "POL", "pl_PL"}, // Polish (Poland) |
379 | { "PLK", "POL", "pl_PL"}, // Polish (Poland) |
|
|
380 | |
248 | {"PTB", "BRA", "pt_BR"}, // Portuguese (Brazil) |
381 | { "PTB", "BRA", "pt_BR"}, // Portuguese (Brazil) |
|
|
382 | |
249 | {"PTG", "PRT", "pt_PT"}, // Portuguese (Portugal) |
383 | { "PTG", "PRT", "pt_PT"}, // Portuguese (Portugal) |
|
|
384 | |
250 | {"PAN", "IND", "pa_IN"}, // Punjabi (India) |
385 | { "PAN", "IND", "pa_IN"}, // Punjabi (India) |
|
|
386 | |
251 | {"ROM", "ROM", "ro_RO"}, // Romanian (Romania) |
387 | { "ROM", "ROM", "ro_RO"}, // Romanian (Romania) |
|
|
388 | |
252 | {"RMC", "CHE", "rm_CH"}, // Romansh (Switzerland) |
389 | { "RMC", "CHE", "rm_CH"}, // Romansh (Switzerland) |
|
|
390 | |
253 | {"RUS", "RUS", "ru_RU"}, // Russian (Russia) |
391 | { "RUS", "RUS", "ru_RU"}, // Russian (Russia) |
|
|
392 | |
254 | {"SMG", "FIN", "se_FI"}, // Sami, Northern (Finland) |
393 | { "SMG", "FIN", "se_FI"}, // Sami, Northern (Finland) |
|
|
394 | |
255 | {"SME", "NOR", "se_NO"}, // Sami, Northern (Norway) |
395 | { "SME", "NOR", "se_NO"}, // Sami, Northern (Norway) |
|
|
396 | |
256 | {"SMF", "SWE", "se_SE"}, // Sami, Northern (Sweden) |
397 | { "SMF", "SWE", "se_SE"}, // Sami, Northern (Sweden) |
|
|
398 | |
257 | {"SAN", "IND", "sa_IN"}, // Sanskrit (India) |
399 | { "SAN", "IND", "sa_IN"}, // Sanskrit (India) |
|
|
400 | |
258 | {"TSN", "ZAF", "tn_ZA"}, // Setswana (South Africa) |
401 | { "TSN", "ZAF", "tn_ZA"}, // Setswana (South Africa) |
|
|
402 | |
259 | {"SIN", "LKA", "si_LK"}, // Sinhala (Sri Lanka) |
403 | { "SIN", "LKA", "si_LK"}, // Sinhala (Sri Lanka) |
|
|
404 | |
260 | {"SKY", "SVK", "sk_SK"}, // Slovak (Slovakia) |
405 | { "SKY", "SVK", "sk_SK"}, // Slovak (Slovakia) |
|
|
406 | |
261 | {"SLV", "SVN", "sl_SI"}, // Slovenian (Slovenia) |
407 | { "SLV", "SVN", "sl_SI"}, // Slovenian (Slovenia) |
|
|
408 | |
262 | {"ESS", "ARG", "es_AR"}, // Spanish (Argentina) |
409 | { "ESS", "ARG", "es_AR"}, // Spanish (Argentina) |
|
|
410 | |
263 | {"ESB", "BOL", "es_BO"}, // Spanish (Bolivia) |
411 | { "ESB", "BOL", "es_BO"}, // Spanish (Bolivia) |
|
|
412 | |
264 | {"ESL", "CHL", "es_CL"}, // Spanish (Chile) |
413 | { "ESL", "CHL", "es_CL"}, // Spanish (Chile) |
|
|
414 | |
265 | {"ESO", "COL", "es_CO"}, // Spanish (Colombia) |
415 | { "ESO", "COL", "es_CO"}, // Spanish (Colombia) |
|
|
416 | |
266 | {"ESC", "CRI", "es_CR"}, // Spanish (Costa Rica) |
417 | { "ESC", "CRI", "es_CR"}, // Spanish (Costa Rica) |
|
|
418 | |
267 | {"ESD", "DOM", "es_DO"}, // Spanish (Dominican Republic) |
419 | { "ESD", "DOM", "es_DO"}, // Spanish (Dominican Republic) |
|
|
420 | |
268 | {"ESF", "ECU", "es_EC"}, // Spanish (Ecuador) |
421 | { "ESF", "ECU", "es_EC"}, // Spanish (Ecuador) |
|
|
422 | |
269 | {"ESE", "SLV", "es_SV"}, // Spanish (El Salvador) |
423 | { "ESE", "SLV", "es_SV"}, // Spanish (El Salvador) |
|
|
424 | |
270 | {"ESG", "GTM", "es_GT"}, // Spanish (Guatemala) |
425 | { "ESG", "GTM", "es_GT"}, // Spanish (Guatemala) |
|
|
426 | |
271 | {"ESH", "HND", "es_HN"}, // Spanish (Honduras) |
427 | { "ESH", "HND", "es_HN"}, // Spanish (Honduras) |
|
|
428 | |
272 | {"ESM", "MEX", "es_MX"}, // Spanish (Mexico) |
429 | { "ESM", "MEX", "es_MX"}, // Spanish (Mexico) |
|
|
430 | |
273 | {"ESI", "NIC", "es_NI"}, // Spanish (Nicaragua) |
431 | { "ESI", "NIC", "es_NI"}, // Spanish (Nicaragua) |
|
|
432 | |
274 | {"ESA", "PAN", "es_PA"}, // Spanish (Panama) |
433 | { "ESA", "PAN", "es_PA"}, // Spanish (Panama) |
|
|
434 | |
275 | {"ESZ", "PRY", "es_PY"}, // Spanish (Paraguay) |
435 | { "ESZ", "PRY", "es_PY"}, // Spanish (Paraguay) |
|
|
436 | |
276 | {"ESR", "PER", "es_PE"}, // Spanish (Peru) |
437 | { "ESR", "PER", "es_PE"}, // Spanish (Peru) |
|
|
438 | |
277 | {"ESU", "PRI", "es_PR"}, // Spanish (Puerto Rico) |
439 | { "ESU", "PRI", "es_PR"}, // Spanish (Puerto Rico) |
|
|
440 | |
278 | {"ESN", "ESP", "es_ES"}, // Spanish (Spain) |
441 | { "ESN", "ESP", "es_ES"}, // Spanish (Spain) |
|
|
442 | |
279 | {"EST", "USA", "es_US"}, // Spanish (United States) |
443 | { "EST", "USA", "es_US"}, // Spanish (United States) |
|
|
444 | |
280 | {"ESY", "URY", "es_UY"}, // Spanish (Uruguay) |
445 | { "ESY", "URY", "es_UY"}, // Spanish (Uruguay) |
|
|
446 | |
281 | {"ESV", "VEN", "es_VE"}, // Spanish (Venezuela) |
447 | { "ESV", "VEN", "es_VE"}, // Spanish (Venezuela) |
|
|
448 | |
282 | {"SVF", "FIN", "sv_FI"}, // Swedish (Finland) |
449 | { "SVF", "FIN", "sv_FI"}, // Swedish (Finland) |
|
|
450 | |
283 | {"SVE", "SWE", "sv_SE"}, // Swedish (Sweden) |
451 | { "SVE", "SWE", "sv_SE"}, // Swedish (Sweden) |
|
|
452 | |
284 | {"TAM", "IND", "ta_IN"}, // Tamil (India) |
453 | { "TAM", "IND", "ta_IN"}, // Tamil (India) |
|
|
454 | |
285 | {"TTT", "RUS", "tt_RU"}, // Tatar (Russia) |
455 | { "TTT", "RUS", "tt_RU"}, // Tatar (Russia) |
|
|
456 | |
286 | {"TEL", "IND", "te_IN"}, // Telugu (India) |
457 | { "TEL", "IND", "te_IN"}, // Telugu (India) |
|
|
458 | |
287 | {"THA", "THA", "th_TH"}, // Thai (Thailand) |
459 | { "THA", "THA", "th_TH"}, // Thai (Thailand) |
|
|
460 | |
288 | {"BOB", "CHN", "bo_CN"}, // Tibetan (PRC) |
461 | { "BOB", "CHN", "bo_CN"}, // Tibetan (PRC) |
|
|
462 | |
289 | {"TRK", "TUR", "tr_TR"}, // Turkish (Turkey) |
463 | { "TRK", "TUR", "tr_TR"}, // Turkish (Turkey) |
|
|
464 | |
290 | {"TUK", "TKM", "tk_TM"}, // Turkmen (Turkmenistan) |
465 | { "TUK", "TKM", "tk_TM"}, // Turkmen (Turkmenistan) |
|
|
466 | |
291 | {"UIG", "CHN", "ug_CN"}, // Uighur (PRC) |
467 | { "UIG", "CHN", "ug_CN"}, // Uighur (PRC) |
|
|
468 | |
292 | {"UKR", "UKR", "uk_UA"}, // Ukrainian (Ukraine) |
469 | { "UKR", "UKR", "uk_UA"}, // Ukrainian (Ukraine) |
|
|
470 | |
293 | {"URD", "PAK", "ur_PK"}, // Urdu (Islamic Republic of Pakistan) |
471 | { "URD", "PAK", "ur_PK"}, // Urdu (Islamic Republic of Pakistan) |
|
|
472 | |
294 | {"VIT", "VNM", "vi_VN"}, // Vietnamese (Vietnam) |
473 | { "VIT", "VNM", "vi_VN"}, // Vietnamese (Vietnam) |
|
|
474 | |
295 | {"CYM", "GBR", "cy_GB"}, // Welsh (United Kingdom) |
475 | { "CYM", "GBR", "cy_GB"}, // Welsh (United Kingdom) |
|
|
476 | |
296 | {"WOL", "SEN", "wo_SN"}, // Wolof (Senegal) |
477 | { "WOL", "SEN", "wo_SN"}, // Wolof (Senegal) |
|
|
478 | |
297 | {"III", "CHN", "ii_CN"}, // Yi (PRC) |
479 | { "III", "CHN", "ii_CN"}, // Yi (PRC) |
|
|
480 | |
298 | {"YOR", "NGA", "yo_NG"}, // Yoruba (Nigeria) |
481 | { "YOR", "NGA", "yo_NG"}, // Yoruba (Nigeria) |
|
|
482 | |
299 | {NULL,NULL,NULL}, // Default - Can't find the language / Language not listed above |
483 | { NULL,NULL,NULL}, // Default - Can't find the language / Language not listed above |
300 | }; |
484 | }; |
301 | |
485 | |
302 | static void |
486 | static void |
303 | win_set_nls(void) |
487 | win_set_nls(void) |
304 | { |
488 | { |
305 | char country[32],lang[32]; |
489 | char country[32],lang[32]; |
306 | int i=0; |
490 | int i=0; |
307 | |
491 | |
308 | #ifdef HAVE_API_WIN32_CE |
492 | #ifdef HAVE_API_WIN32_CE |
309 | wchar_t wcountry[32],wlang[32]; |
493 | wchar_t wcountry[32],wlang[32]; |
310 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, wlang, sizeof(wlang)); |
494 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, wlang, sizeof(wlang)); |
311 | WideCharToMultiByte(CP_ACP,0,wlang,-1,lang,sizeof(lang),NULL,NULL); |
495 | WideCharToMultiByte(CP_ACP,0,wlang,-1,lang,sizeof(lang),NULL,NULL); |
312 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVCTRYNAME, wcountry, sizeof(wcountry)); |
496 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVCTRYNAME, wcountry, sizeof(wcountry)); |
313 | WideCharToMultiByte(CP_ACP,0,wcountry,-1,country,sizeof(country),NULL,NULL); |
497 | WideCharToMultiByte(CP_ACP,0,wcountry,-1,country,sizeof(country),NULL,NULL); |
314 | #else |
498 | #else |
315 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, lang, sizeof(lang)); |
499 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, lang, sizeof(lang)); |
316 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVCTRYNAME, country, sizeof(country)); |
500 | GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVCTRYNAME, country, sizeof(country)); |
317 | #endif |
501 | #endif |
318 | while (nls_table[i][0]) { |
502 | while (nls_table[i][0]) |
|
|
503 | { |
319 | if (!strcmp(nls_table[i][0], lang) && !(strcmp(nls_table[i][1], country))) { |
504 | if (!strcmp(nls_table[i][0], lang) && !(strcmp(nls_table[i][1], country))) |
|
|
505 | { |
320 | dbg(1,"Setting LANG=%s for Lang %s Country %s\n",nls_table[i][2], lang, country); |
506 | dbg(1,"Setting LANG=%s for Lang %s Country %s\n",nls_table[i][2], lang, country); |
321 | setenv("LANG",nls_table[i][2],0); |
507 | setenv("LANG",nls_table[i][2],0); |
322 | return; |
508 | return; |
323 | } |
509 | } |
324 | i++; |
510 | i++; |
325 | } |
511 | } |
326 | dbg(1,"Lang %s Country %s not found\n",lang,country); |
512 | dbg(1,"Lang %s Country %s not found\n",lang,country); |
327 | } |
513 | } |
328 | #endif |
514 | #endif |
329 | |
515 | |
330 | void |
|
|
331 | main_init(const char *program) |
516 | void main_init(const char *program) |
332 | { |
517 | { |
333 | char *s; |
518 | char *s; |
334 | #ifdef _UNICODE /* currently for wince */ |
519 | #ifdef _UNICODE /* currently for wince */ |
335 | wchar_t wfilename[MAX_PATH + 1]; |
520 | wchar_t wfilename[MAX_PATH + 1]; |
336 | #endif |
521 | #endif |
337 | |
522 | |
338 | spawn_process_init(); |
523 | spawn_process_init(); |
339 | |
524 | |
340 | cbl=callback_list_new(); |
525 | cbl = callback_list_new(); |
341 | #ifdef HAVE_API_WIN32_BASE |
526 | #ifdef HAVE_API_WIN32_BASE |
342 | win_set_nls(); |
527 | win_set_nls(); |
343 | #endif |
528 | #endif |
344 | setenv("LC_NUMERIC","C",1); |
529 | setenv("LC_NUMERIC", "C", 1); |
345 | setlocale(LC_ALL,""); |
530 | setlocale(LC_ALL, ""); |
346 | setlocale(LC_NUMERIC,"C"); |
531 | setlocale(LC_NUMERIC, "C"); |
347 | #if !defined _WIN32 && !defined _WIN32_WCE |
532 | #if !defined _WIN32 && !defined _WIN32_WCE |
348 | if (file_exists("navit.c") || file_exists("navit.o") || file_exists("navit.lo") || file_exists("version.h")) { |
533 | if (file_exists("navit.c") || file_exists("navit.o") || file_exists("navit.lo") || file_exists("version.h")) |
|
|
534 | { |
349 | char buffer[PATH_MAX]; |
535 | char buffer[PATH_MAX]; |
350 | printf("Running from source directory\n"); |
536 | printf("Running from source directory\n"); |
351 | getcwd(buffer, PATH_MAX); /* libc of navit returns "dummy" */ |
537 | getcwd(buffer, PATH_MAX); /* libc of navit returns "dummy" */ |
352 | setenv("NAVIT_PREFIX", buffer, 0); |
538 | setenv("NAVIT_PREFIX", buffer, 0); |
353 | main_setup_environment(0); |
539 | main_setup_environment(0); |
354 | } else { |
540 | } |
|
|
541 | else |
|
|
542 | { |
355 | if (!getenv("NAVIT_PREFIX")) { |
543 | if (!getenv("NAVIT_PREFIX")) |
|
|
544 | { |
356 | int l; |
545 | int l; |
357 | int progpath_len; |
546 | int progpath_len; |
358 | char *progpath="/bin/navit"; |
547 | char *progpath = "/bin/navit"; |
359 | l=strlen(program); |
548 | l = strlen(program); |
360 | progpath_len=strlen(progpath); |
549 | progpath_len = strlen(progpath); |
361 | if (l > progpath_len && !strcmp(program+l-progpath_len,progpath)) { |
550 | if (l > progpath_len && !strcmp(program + l - progpath_len, progpath)) |
|
|
551 | { |
362 | s=g_strdup(program); |
552 | s = g_strdup(program); |
363 | s[l-progpath_len]='\0'; |
553 | s[l - progpath_len] = '\0'; |
364 | if (strcmp(s, PREFIX)) |
554 | if (strcmp(s, PREFIX)) |
365 | { |
555 | { |
366 | // printf("setting '%s' to '%s'\n", "NAVIT_PREFIX", s); |
556 | // printf("setting '%s' to '%s'\n", "NAVIT_PREFIX", s); |
367 | } |
557 | } |
368 | setenv("NAVIT_PREFIX", s, 0); |
558 | setenv("NAVIT_PREFIX", s, 0); |
369 | g_free(s); |
559 | g_free(s); |
|
|
560 | } |
370 | } else |
561 | else |
371 | setenv("NAVIT_PREFIX", PREFIX, 0); |
562 | setenv("NAVIT_PREFIX", PREFIX, 0); |
372 | } |
563 | } |
373 | #ifdef HAVE_API_ANDROID |
564 | #ifdef HAVE_API_ANDROID |
374 | main_setup_environment(3); |
565 | main_setup_environment(3); |
375 | #else |
566 | #else |
… | |
… | |
378 | } |
569 | } |
379 | |
570 | |
380 | #else /* _WIN32 || _WIN32_WCE */ |
571 | #else /* _WIN32 || _WIN32_WCE */ |
381 | if (!getenv("NAVIT_PREFIX")) |
572 | if (!getenv("NAVIT_PREFIX")) |
382 | { |
573 | { |
383 | char filename[MAX_PATH + 1], |
574 | char filename[MAX_PATH + 1], |
384 | *end; |
575 | *end; |
385 | |
576 | |
386 | *filename = '\0'; |
577 | *filename = '\0'; |
387 | #ifdef _UNICODE /* currently for wince */ |
578 | #ifdef _UNICODE /* currently for wince */ |
388 | if (GetModuleFileNameW(NULL, wfilename, MAX_PATH)) |
579 | if (GetModuleFileNameW(NULL, wfilename, MAX_PATH)) |
389 | { |
580 | { |
390 | wcstombs(filename, wfilename, MAX_PATH); |
581 | wcstombs(filename, wfilename, MAX_PATH); |
391 | #else |
582 | #else |
392 | if (GetModuleFileName(NULL, filename, MAX_PATH)) |
583 | if (GetModuleFileName(NULL, filename, MAX_PATH)) |
393 | { |
584 | { |
394 | #endif |
585 | #endif |
395 | end = strrchr(filename, L'\\'); /* eliminate the file name which is on the right side */ |
586 | end = strrchr(filename, L'\\'); /* eliminate the file name which is on the right side */ |
396 | if(end) |
587 | if(end) |
397 | *end = '\0'; |
588 | *end = '\0'; |
|
|
589 | } |
|
|
590 | setenv("NAVIT_PREFIX", filename, 0); |
398 | } |
591 | } |
399 | setenv("NAVIT_PREFIX", filename, 0); |
|
|
400 | } |
|
|
401 | if (!getenv("HOME")) |
592 | if (!getenv("HOME")) |
402 | setenv("HOME", getenv("NAVIT_PREFIX"), 0); |
593 | setenv("HOME", getenv("NAVIT_PREFIX"), 0); |
403 | main_setup_environment(2); |
594 | main_setup_environment(2); |
404 | #endif /* _WIN32 || _WIN32_WCE */ |
595 | #endif /* _WIN32 || _WIN32_WCE */ |
405 | |
596 | |
406 | if (getenv("LC_ALL")) |
597 | if (getenv("LC_ALL")) |
407 | dbg(0,"Warning: LC_ALL is set, this might lead to problems (e.g. strange positions from GPS)\n"); |
598 | dbg(0, "Warning: LC_ALL is set, this might lead to problems (e.g. strange positions from GPS)\n"); |
408 | s = getenv("NAVIT_WID"); |
599 | s = getenv("NAVIT_WID"); |
409 | if (s) { |
600 | if (s) |
|
|
601 | { |
410 | setenv("SDL_WINDOWID", s, 0); |
602 | setenv("SDL_WINDOWID", s, 0); |
411 | } |
603 | } |
412 | } |
604 | } |
413 | |
605 | |
414 | void |
|
|
415 | main_init_nls(void) |
606 | void main_init_nls(void) |
416 | { |
607 | { |
417 | #ifdef ENABLE_NLS |
608 | #ifdef ENABLE_NLS |
418 | #ifdef FORCE_LOCALE |
609 | #ifdef FORCE_LOCALE |
419 | #define STRINGIFY2(x) #x |
610 | #define STRINGIFY2(x) #x |
420 | #define STRINGIFY(x) STRINGIFY2(x) |
611 | #define STRINGIFY(x) STRINGIFY2(x) |