1#!/bin/sh 2#- 3# Copyright (c) 2010 iXsystems, Inc. All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24# SUCH DAMAGE. 25# |
26# $FreeBSD: head/usr.sbin/pc-sysinstall/backend/functions-localize.sh 211730 2010-08-24 06:11:46Z imp $ |
27 28# Functions which runs commands on the system 29 30. ${BACKEND}/functions.sh 31. ${BACKEND}/functions-parse.sh 32 33 34# Function which localizes a FreeBSD install --- 23 unchanged lines hidden (view full) --- 58 then 59 cp ${FSMNT}/usr/PCBSD/splash-screens/loading-screen-${SETLANG}.pcx ${FSMNT}/boot/loading-screen.pcx 60 fi 61 62}; 63 64localize_x_keyboard() 65{ |
66 KEYMOD="$1" 67 KEYLAY="$2" 68 KEYVAR="$3" 69 COUNTRY="$4" 70 OPTION="grp:alt_shift_toggle" 71 SETXKBMAP="" |
72 |
73 if [ "${COUNTRY}" = "NONE" -o "${COUNTRY}" = "us" -o "${COUNTRY}" = "C" ] ; then 74 #In this case we don't need any additional language 75 COUNTRY="" 76 OPTION="" 77 else 78 COUNTRY=",${COUNTRY}" 79 fi |
80 |
81 if [ "${KEYMOD}" != "NONE" ] 82 then 83 SETXKBMAP="-model ${KEYMOD}" 84 KXMODEL="${KEYMOD}" 85 else 86 KXMODEL="pc104" 87 fi |
88 |
89 if [ "${KEYLAY}" != "NONE" ] 90 then 91 localize_key_layout "$KEYLAY" 92 SETXKBMAP="${SETXKBMAP} -layout ${KEYLAY}" 93 KXLAYOUT="${KEYLAY}" 94 else 95 KXLAYOUT="us" 96 fi |
97 |
98 if [ "${KEYVAR}" != "NONE" ] 99 then 100 SETXKBMAP="${SETXKBMAP} -variant ${KEYVAR}" 101 KXVAR="(${KEYVAR})" 102 else 103 KXVAR="" 104 fi |
105 |
106 # Setup .xprofile with our setxkbmap call now 107 if [ ! -z "${SETXKBMAP}" ] 108 then 109 if [ ! -e "${FSMNT}/usr/share/skel/.xprofile" ] 110 then 111 echo "#!/bin/sh" >${FSMNT}/usr/share/skel/.xprofile 112 fi |
113 |
114 # Save the keyboard layout for user / root X logins 115 echo "setxkbmap ${SETXKBMAP}" >>${FSMNT}/usr/share/skel/.xprofile 116 chmod 755 ${FSMNT}/usr/share/skel/.xprofile 117 cp ${FSMNT}/usr/share/skel/.xprofile ${FSMNT}/root/.xprofile |
118 |
119 # Save it for KDM 120 echo "setxkbmap ${SETXKBMAP}" >>${FSMNT}/usr/local/kde4/share/config/kdm/Xsetup 121 fi |
122 123 124 # Create the kxkbrc configuration using these options |
125 echo "[Layout] |
126DisplayNames=${KXLAYOUT}${COUNTRY} 127IndicatorOnly=false 128LayoutList=${KXLAYOUT}${KXVAR}${COUNTRY} 129Model=${KXMODEL} 130Options=${OPTION} 131ResetOldOptions=true 132ShowFlag=true 133ShowSingle=false --- 72 unchanged lines hidden (view full) --- 206}; 207 208# Function which sets COUNTRY SETLANG and LOCALE based upon $1 209localize_get_codes() 210{ 211 TARGETLANG="${1}" 212 # Setup the presets for the specific lang 213 case $TARGETLANG in |
214 af) 215 COUNTRY="C" 216 SETLANG="af" 217 LOCALE="af_ZA" 218 ;; 219 ar) 220 COUNTRY="C" 221 SETLANG="ar" 222 LOCALE="en_US" 223 ;; 224 az) 225 COUNTRY="C" 226 SETLANG="az" 227 LOCALE="en_US" 228 ;; 229 ca) 230 COUNTRY="es" 231 SETLANG="es:ca" 232 LOCALE="ca_ES" 233 ;; 234 be) 235 COUNTRY="be" 236 SETLANG="be" 237 LOCALE="be_BY" 238 ;; 239 bn) 240 COUNTRY="bn" 241 SETLANG="bn" 242 LOCALE="en_US" 243 ;; 244 bg) 245 COUNTRY="bg" 246 SETLANG="bg" 247 LOCALE="bg_BG" 248 ;; 249 cs) 250 COUNTRY="cz" 251 SETLANG="cs" 252 LOCALE="cs_CZ" 253 ;; 254 da) 255 COUNTRY="dk" 256 SETLANG="da" 257 LOCALE="da_DK" 258 ;; 259 de) 260 COUNTRY="de" 261 SETLANG="de" 262 LOCALE="de_DE" 263 ;; 264 en_GB) 265 COUNTRY="gb" 266 SETLANG="en_GB:cy" 267 LOCALE="en_GB" 268 ;; 269 el) 270 COUNTRY="gr" 271 SETLANG="el:gr" 272 LOCALE="el_GR" 273 ;; 274 es) 275 COUNTRY="es" 276 SETLANG="es" 277 LOCALE="es_ES" 278 ;; 279 es_LA) 280 COUNTRY="us" 281 SETLANG="es:en_US" 282 LOCALE="es_ES" 283 ;; 284 et) 285 COUNTRY="ee" 286 SETLANG="et" 287 LOCALE="et_EE" 288 ;; 289 fr) 290 COUNTRY="fr" 291 SETLANG="fr" 292 LOCALE="fr_FR" 293 ;; 294 he) 295 COUNTRY="il" 296 SETLANG="he:ar" 297 LOCALE="he_IL" 298 ;; 299 hr) 300 COUNTRY="hr" 301 SETLANG="hr" 302 LOCALE="hr_HR" 303 ;; 304 hu) 305 COUNTRY="hu" 306 SETLANG="hu" 307 LOCALE="hu_HU" 308 ;; 309 it) 310 COUNTRY="it" 311 SETLANG="it" 312 LOCALE="it_IT" 313 ;; 314 ja) 315 COUNTRY="jp" 316 SETLANG="ja" 317 LOCALE="ja_JP" 318 ;; 319 ko) 320 COUNTRY="kr" 321 SETLANG="ko" 322 LOCALE="ko_KR" 323 ;; 324 nl) 325 COUNTRY="nl" 326 SETLANG="nl" 327 LOCALE="nl_NL" 328 ;; 329 nn) 330 COUNTRY="no" 331 SETLANG="nn" 332 LOCALE="en_US" 333 ;; 334 pa) 335 COUNTRY="pa" 336 SETLANG="pa" 337 LOCALE="en_US" 338 ;; 339 pl) 340 COUNTRY="pl" 341 SETLANG="pl" 342 LOCALE="pl_PL" 343 ;; 344 pt) 345 COUNTRY="pt" 346 SETLANG="pt" 347 LOCALE="pt_PT" 348 ;; 349 pt_BR) 350 COUNTRY="br" 351 SETLANG="pt_BR" 352 LOCALE="pt_BR" 353 ;; 354 ru) 355 COUNTRY="ru" 356 SETLANG="ru" 357 LOCALE="ru_RU" 358 ;; 359 sl) 360 COUNTRY="si" 361 SETLANG="sl" 362 LOCALE="sl_SI" 363 ;; 364 sk) 365 COUNTRY="sk" 366 SETLANG="sk" 367 LOCALE="sk_SK" 368 ;; 369 sv) 370 COUNTRY="se" 371 SETLANG="sv" 372 LOCALE="sv_SE" 373 ;; 374 uk) 375 COUNTRY="ua" 376 SETLANG="uk" 377 LOCALE="uk_UA" 378 ;; 379 vi) 380 COUNTRY="vn" 381 SETLANG="vi" 382 LOCALE="en_US" 383 ;; 384 zh_CN) 385 COUNTRY="cn" 386 SETLANG="zh_CN" 387 LOCALE="zh_CN" 388 ;; 389 zh_TW) 390 COUNTRY="tw" 391 SETLANG="zh_TW" 392 LOCALE="zh_TW" 393 ;; 394 *) 395 COUNTRY="C" |
396 SETLANG="${TARGETLANG}" 397 LOCALE="en_US" 398 ;; 399 esac 400 |
401 export COUNTRY SETLANG LOCALE |
402 403}; 404 405# Function which sets the timezone on the system 406set_timezone() 407{ 408 TZONE="$1" 409 cp ${FSMNT}/usr/share/zoneinfo/${TZONE} ${FSMNT}/etc/localtime --- 102 unchanged lines hidden --- |