Selaa lähdekoodia

Making, installing and uninstalling translations

Bob Mottram 9 vuotta sitten
vanhempi
commit
192fc6a0e6
3 muutettua tiedostoa jossa 40 lisäystä ja 12 poistoa
  1. 4
    0
      Makefile
  2. 1
    1
      src/freedombone-sec
  3. 35
    11
      translate

+ 4
- 0
Makefile Näytä tiedosto

4
 PREFIX?=/usr/local
4
 PREFIX?=/usr/local
5
 
5
 
6
 all:
6
 all:
7
+	bash -c "translate make"
7
 debug:
8
 debug:
9
+	bash -c "translate make"
8
 source:
10
 source:
9
 	tar -cvf ../${APP}_${VERSION}.orig.tar ../${APP}-${VERSION} --exclude-vcs
11
 	tar -cvf ../${APP}_${VERSION}.orig.tar ../${APP}-${VERSION} --exclude-vcs
10
 	gzip -f9n ../${APP}_${VERSION}.orig.tar
12
 	gzip -f9n ../${APP}_${VERSION}.orig.tar
17
 	install -m 755 src/${APP}-controlpanel ${DESTDIR}${PREFIX}/bin/control
19
 	install -m 755 src/${APP}-controlpanel ${DESTDIR}${PREFIX}/bin/control
18
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
20
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
19
 	install -m 644 man/*.1.gz ${DESTDIR}${PREFIX}/share/man/man1
21
 	install -m 644 man/*.1.gz ${DESTDIR}${PREFIX}/share/man/man1
22
+	bash -c "translate install"
20
 uninstall:
23
 uninstall:
21
 	rm -f ${PREFIX}/share/man/man1/${APP}*.1.gz
24
 	rm -f ${PREFIX}/share/man/man1/${APP}*.1.gz
22
 	rm -rf ${PREFIX}/share/${APP}
25
 	rm -rf ${PREFIX}/share/${APP}
25
 	rm -f ${PREFIX}/bin/mesh
28
 	rm -f ${PREFIX}/bin/mesh
26
 	rm -f ${PREFIX}/bin/meshweb
29
 	rm -f ${PREFIX}/bin/meshweb
27
 	rm -rf /etc/freedombone
30
 	rm -rf /etc/freedombone
31
+	bash -c "translate uninstall"
28
 clean:
32
 clean:
29
 	rm -f \#* \.#* debian/*.substvars debian/*.log
33
 	rm -f \#* \.#* debian/*.substvars debian/*.log
30
 	rm -fr deb.* debian/${APP}
34
 	rm -fr deb.* debian/${APP}

+ 1
- 1
src/freedombone-sec Näytä tiedosto

469
               --checklist "If you don't need to do any of these things then just press Enter:" 10 76 16)
469
               --checklist "If you don't need to do any of these things then just press Enter:" 10 76 16)
470
   options=(1 "Regenerate ssh host keys" off
470
   options=(1 "Regenerate ssh host keys" off
471
            2 "Regenerate Diffie-Hellman keys" off
471
            2 "Regenerate Diffie-Hellman keys" off
472
-           3 "Renew a StartSSL certificate" off)
472
+           3 "Renew a StartSSL certificate" off
473
            4 "Renew Let's Encrypt certificate" off)
473
            4 "Renew Let's Encrypt certificate" off)
474
   choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
474
   choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
475
   clear
475
   clear

+ 35
- 11
translate Näytä tiedosto

36
 COMMAND_FILES=src/${PROJECT_NAME}*
36
 COMMAND_FILES=src/${PROJECT_NAME}*
37
 
37
 
38
 function create_translation_files {
38
 function create_translation_files {
39
+	if [ ! -d /tmp/${PROJECT_NAME} ]; then
40
+		mkdir -p /tmp/${PROJECT_NAME}
41
+	fi
42
+
43
+    for f in $COMMAND_FILES
44
+    do
45
+        COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}')
46
+        bash --dump-po-strings src/${COMMAND_NAME} | xgettext -L PO -o /tmp/${PROJECT_NAME}/${COMMAND_NAME}.pot -
47
+		if [ -f /tmp/${PROJECT_NAME}/${COMMAND_NAME}.pot ]; then
48
+			for lang in "${language[@]}"
49
+			do
50
+				if [ ! -d locale/${lang} ]; then
51
+					mkdir -p locale/${lang}
52
+				fi
53
+				if [ ! -f locale/${lang}/${COMMAND_NAME}.po ]; then
54
+				    echo "Creating ${lang} Translation file for ${COMMAND_NAME}..."
55
+				    msginit -l ${lang} -i /tmp/${PROJECT_NAME}/${COMMAND_NAME}.pot -o locale/${lang}/${COMMAND_NAME}.po
56
+				fi
57
+			done
58
+			rm /tmp/${PROJECT_NAME}/${COMMAND_NAME}.pot
59
+		fi
60
+    done
61
+}
62
+
63
+function install_translations {
39
     for f in $COMMAND_FILES
64
     for f in $COMMAND_FILES
40
     do
65
     do
41
         COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}')
66
         COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}')
42
-        bash --dump-po-strings src/${COMMAND_NAME} | xgettext -L PO -o /tmp/${PROJECT_NAME}_${COMMAND_NAME}.pot -
43
         for lang in "${language[@]}"
67
         for lang in "${language[@]}"
44
         do
68
         do
45
-            if [ ! -d locale/${lang} ]; then
46
-                mkdir -p locale/${lang}
47
-            fi
48
-            if [ ! -f locale/${lang}/${COMMAND_NAME}.po ]; then
49
-                echo "Creating ${lang} Translation file for ${COMMAND_NAME}..."
50
-                msginit -l ${lang} -i /tmp/${PROJECT_NAME}_${COMMAND_NAME}.pot -o locale/${lang}/${COMMAND_NAME}.po
69
+            if [ -f locale/${lang}/${COMMAND_NAME}.mo ]; then
70
+                cp locale/${lang}/${COMMAND_NAME}.mo /usr/share/locale/${lang}/${COMMAND_NAME}.mo
51
             fi
71
             fi
52
         done
72
         done
53
-        rm /tmp/${PROJECT_NAME}_${COMMAND_NAME}.pot
54
     done
73
     done
55
 }
74
 }
56
 
75
 
57
-function install_translations {
76
+function uninstall_translations {
58
     for f in $COMMAND_FILES
77
     for f in $COMMAND_FILES
59
     do
78
     do
60
         COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}')
79
         COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}')
61
         for lang in "${language[@]}"
80
         for lang in "${language[@]}"
62
         do
81
         do
63
-            if [ ! -f locale/${lang}/${COMMAND_NAME}.mo ]; then
64
-                cp locale/${lang}/${COMMAND_NAME}.mo /usr/share/locale/${lang}/${COMMAND_NAME}.mo
82
+            if [ -f /usr/share/locale/${lang}/${COMMAND_NAME}.mo ]; then
83
+                rm /usr/share/locale/${lang}/${COMMAND_NAME}.mo
65
             fi
84
             fi
66
         done
85
         done
67
     done
86
     done
77
     exit 0
96
     exit 0
78
 fi
97
 fi
79
 
98
 
99
+if [[ $1 == "uninstall" ]]; then
100
+    uninstall_translations
101
+    exit 0
102
+fi
103
+
80
 exit 1
104
 exit 1