Browse Source

Making, installing and uninstalling translations

Bob Mottram 9 years ago
parent
commit
192fc6a0e6
3 changed files with 40 additions and 12 deletions
  1. 4
    0
      Makefile
  2. 1
    1
      src/freedombone-sec
  3. 35
    11
      translate

+ 4
- 0
Makefile View File

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

+ 1
- 1
src/freedombone-sec View File

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

+ 35
- 11
translate View File

@@ -36,32 +36,51 @@ language=( fr de )
36 36
 COMMAND_FILES=src/${PROJECT_NAME}*
37 37
 
38 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 64
     for f in $COMMAND_FILES
40 65
     do
41 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 67
         for lang in "${language[@]}"
44 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 71
             fi
52 72
         done
53
-        rm /tmp/${PROJECT_NAME}_${COMMAND_NAME}.pot
54 73
     done
55 74
 }
56 75
 
57
-function install_translations {
76
+function uninstall_translations {
58 77
     for f in $COMMAND_FILES
59 78
     do
60 79
         COMMAND_NAME=$(echo $f | awk -F '/' '{print $2}')
61 80
         for lang in "${language[@]}"
62 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 84
             fi
66 85
         done
67 86
     done
@@ -77,4 +96,9 @@ if [[ $1 == "install" ]]; then
77 96
     exit 0
78 97
 fi
79 98
 
99
+if [[ $1 == "uninstall" ]]; then
100
+    uninstall_translations
101
+    exit 0
102
+fi
103
+
80 104
 exit 1